Hardcoded Credentials
devsecopsDéfinition
Les Hardcoded Credentials (credentials codés en dur) désignent des mots de passe, clés API, tokens d'accès, certificats ou autres secrets d'authentification directement écrits dans le code source d'une application, les fichiers de configuration versionnés, ou les scripts de déploiement. Cette pratique constitue l'une des vulnérabilités de sécurité les plus répandues et les plus dangereuses dans les applications modernes, classée systématiquement dans les listes CWE Top 25 (CWE-798 : Use of Hard-coded Credentials). Le risque posé par les credentials hardcodés est maximal : le code source est potentiellement accessible à de nombreux développeurs, est versionné dans des systèmes de contrôle de version qui conservent l'historique (y compris les suppressions), peut être involontairement exposé (dépôts GitHub publics accidentels, partage de snippets), et peut être extrait d'artefacts compilés par décompilation ou analyse binaire. Des études régulières révèlent des centaines de milliers de secrets actifs exposés sur GitHub public. Les origines des credentials hardcodés sont multiples. Les raccourcis de développement ("je mets ça temporairement, je changerai avant le commit"), la méconnaissance des alternatives sécurisées (variables d'environnement, secrets managers), les projets legacy avec peu de discipline sécurité, les scripts d'automatisation où la commodité est privilégiée, et les projets open source où des secrets de test ou de développement sont commités par erreur. La détection des credentials hardcodés utilise plusieurs approches complémentaires : outils de secret scanning (GitLeaks, TruffleHog, detect-secrets) dans les pre-commit hooks et pipelines CI, revue de code avec focus sécurité, formation des développeurs aux patterns d'identification (chaînes base64, patterns de clés API, chaînes de connexion), et audit de l'historique Git des dépôts existants. La remédiation d'un credential hardcodé déjà commité dans l'historique Git requiert non seulement de remplacer le secret dans le code, mais aussi de purger l'historique Git (via git-filter-repo ou BFG Repo-Cleaner) ET de révoquer/tourner immédiatement le secret exposé, car la suppression du fichier ne supprime pas l'historique accessible aux personnes ayant déjà cloné le dépôt.
Détection : de l'IDE au pipeline CI
La défense en profondeur contre les hardcoded credentials commence dans l'IDE avec des plugins détectant les patterns de secrets en temps réel (AWS credentials, JWT, API keys). Les pre-commit hooks (GitLeaks, detect-secrets) bloquent les commits contenant des secrets avant même le push. Les pipelines CI apportent un filet de sécurité supplémentaire avec des scans systématiques de chaque diff. GitHub Secret Scanning et GitLab Secret Detection offrent une détection au niveau de la plateforme avec notification des fournisseurs.
Alternatives aux credentials hardcodés
Les meilleures pratiques pour éviter les credentials hardcodés : variables d'environnement injectées au runtime (jamais dans le code), fichiers .env locaux non versionnés (.gitignore strict), secrets managers (Vault, AWS Secrets Manager, Azure Key Vault) avec rotation automatique, identités gérées (IRSA, Workload Identity) éliminant les secrets statiques pour les accès cloud, et credential providers dynamiques pour les bases de données (Vault DB Engine).
Remédiation historique Git
Supprimer un fichier contenant un secret ne suffit pas : l'historique Git conserve toutes les versions. La remédiation complète requiert : 1) Révoquer immédiatement le secret exposé, 2) Purger l'historique Git avec git-filter-repo (outil recommandé, remplace BFG), 3) Force-pusher toutes les branches, 4) Demander à tous les collaborateurs de re-cloner le dépôt, 5) Invalider les forks GitHub du dépôt si applicable. Cette procédure est documentée dans un runbook accessible à toute l'équipe.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h