##Impact La fuite de secrets tels que les clés, jetons ou informations d'identification API peut entraîner un accès non autorisé à des données sensibles, une usurpation d'identité de service et une perte financière importante en raison d'un abus de ressources [S1]. Une fois qu'un secret est validé dans un référentiel public ou regroupé dans une application frontale, il doit être considéré comme compromis [S1].
Cause première
La cause première est l'inclusion d'informations d'identification sensibles directement dans le code source ou les fichiers de configuration qui sont ensuite validés dans le contrôle de version ou servis au client [S1]. Les développeurs codent souvent les clés en dur pour plus de commodité pendant le développement ou incluent accidentellement des fichiers .env dans leurs commits [S1].
Réparations concrètes
- Alterner les secrets compromis : Si un secret est divulgué, il doit être révoqué et remplacé immédiatement. Supprimer simplement le secret de la version actuelle du code est insuffisant car il reste dans l'historique du contrôle de version [S1][S2].
- Utilisez des variables d'environnement : Stockez les secrets dans des variables d'environnement plutôt que de les coder en dur. Assurez-vous que les fichiers
.envsont ajoutés à.gitignorepour éviter les validations accidentelles [S1]. - Mettez en œuvre la gestion des secrets : Utilisez des outils de gestion des secrets dédiés ou des services de coffre-fort pour injecter des informations d'identification dans l'environnement d'application au moment de l'exécution [S1].
- Purger l'historique du référentiel : Si un secret a été validé dans Git, utilisez des outils tels que
git-filter-repoou BFG Repo-Cleaner pour supprimer définitivement les données sensibles de toutes les branches et balises de l'historique du référentiel [S2].
Comment FixVibe le teste
FixVibe l'inclut désormais dans les analyses en direct. Le passif secrets.js-bundle-sweep télécharge les bundles JavaScript de même origine et fait correspondre les modèles de clés, de jetons et d'informations d'identification API connus avec des portes d'entropie et d'espace réservé. Les vérifications en direct associées inspectent le stockage du navigateur, les cartes sources, les ensembles de clients d'authentification et BaaS et les modèles de source de dépôt GitHub. La réécriture de l'historique Git reste une étape de remédiation ; La couverture en direct de FixVibe se concentre sur les secrets présents dans les actifs expédiés, le stockage du navigateur et le contenu actuel du dépôt.
