Secrets codés en dur dans le code
Qu'est-ce que Secrets codés en dur dans le code ?
Secrets codés en dur dans le codeInsertion d'identifiants, clés API, jetons ou matériel cryptographique directement dans le code source, des fichiers de configuration ou des images conteneurs, où ils sont aisément découverts et abusés.
Les secrets codés en dur sont l'une des erreurs les plus fréquentes et dommageables du développement moderne. Ils se retrouvent dans l'historique Git, les couches de conteneur, les applications mobiles, les logs CI et les dépôts publics, où des bots les détectent en quelques minutes. Cas réels : clés AWS commitées sur GitHub, tokens Slack dans des bundles client, mots de passe DB cuits dans des images Docker. Les mitigations combinent prévention (formation, hooks pre-commit, plugins IDE, patrons .gitignore), détection (secret scanning sur dépôts et CI : GitHub secret scanning, Gitleaks, TruffleHog) et gestion centralisée (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, External Secrets pour Kubernetes). À la détection, il faut renouveler les secrets immédiatement, et pas seulement les supprimer de l'historique.
● Exemples
- 01
Clé AWS commitée dans un dépôt GitHub public puis abusée en quelques minutes.
- 02
Secret OAuth client incorporé dans le binaire d'une application mobile.
● Questions fréquentes
Qu'est-ce que Secrets codés en dur dans le code ?
Insertion d'identifiants, clés API, jetons ou matériel cryptographique directement dans le code source, des fichiers de configuration ou des images conteneurs, où ils sont aisément découverts et abusés. Cette notion relève de la catégorie Sécurité applicative en cybersécurité.
Que signifie Secrets codés en dur dans le code ?
Insertion d'identifiants, clés API, jetons ou matériel cryptographique directement dans le code source, des fichiers de configuration ou des images conteneurs, où ils sont aisément découverts et abusés.
Comment fonctionne Secrets codés en dur dans le code ?
Les secrets codés en dur sont l'une des erreurs les plus fréquentes et dommageables du développement moderne. Ils se retrouvent dans l'historique Git, les couches de conteneur, les applications mobiles, les logs CI et les dépôts publics, où des bots les détectent en quelques minutes. Cas réels : clés AWS commitées sur GitHub, tokens Slack dans des bundles client, mots de passe DB cuits dans des images Docker. Les mitigations combinent prévention (formation, hooks pre-commit, plugins IDE, patrons .gitignore), détection (secret scanning sur dépôts et CI : GitHub secret scanning, Gitleaks, TruffleHog) et gestion centralisée (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, External Secrets pour Kubernetes). À la détection, il faut renouveler les secrets immédiatement, et pas seulement les supprimer de l'historique.
Comment se défendre contre Secrets codés en dur dans le code ?
Les défenses contre Secrets codés en dur dans le code combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Secrets codés en dur dans le code ?
Noms alternatifs courants : Identifiants codés en dur, Fuite de secrets dans le code.
● Termes liés
- identity-access№ 233
Coffre-fort de credentials
Service centralisé et audité qui stocke, fait tourner et intermédie de manière sécurisée l'accès à des secrets tels que mots de passe, clés d'API, certificats et clés SSH.
- appsec№ 982
Codage sécurisé
Pratique consistant à écrire du code minimisant les défauts de sécurité, en suivant des modèles défensifs, des règles propres au langage et des guides reconnus.
- appsec№ 166
Sécurité CI/CD
Ensemble de contrôles qui protègent les pipelines d'intégration et de livraison continues contre la compromission, l'injection de code, la fuite de secrets et les déploiements non autorisés.
- appsec№ 1069
Sécurité de la chaîne d'approvisionnement logicielle
Discipline qui protège chaque maillon de la chaîne de production logicielle - source, dépendances, build, signature, distribution et déploiement - contre les manipulations, le code malveillant et la perte d'intégrité.
- appsec№ 444
Sécurité GitOps
Pratiques de sécurité pour les flux GitOps où l'état désiré déclaratif de l'infrastructure et des applications est stocké dans Git et réconcilié en production par un contrôleur automatisé.
- compliance№ 781
OWASP Top 10
Document de sensibilisation de l'OWASP qui recense les risques de sécurité les plus critiques des applications web, mis à jour périodiquement à partir de données de vulnérabilités réelles.
● Voir aussi
- № 277Fuite de donnees
- № 051Cle d'API (API Key)