Catégories

🔍 Licence d'Utilisation 🔍

Sauf mention contraire, le contenu de ce blog est sous licence CC BY-NC-ND 4.0.

© 2025 à 2042 Sébastien Gioria. Tous droits réservés.

Le “vibe coding” peut devenir un cauchemar de sécurité si certaines mauvaises pratiques ne sont pas évitées.

Exemples de Bad Practices :

  • Confiance aveugle dans l’IA : Ne pas rĂ©viser ou comprendre le code gĂ©nĂ©rĂ© par l’IA. L’IA peut introduire des bugs, des inefficacitĂ©s ou des vulnĂ©rabilitĂ©s sans intention malveillante. C’est le piège du “code first, refine later” sans le “refine”.
  • Absence de validation des entrĂ©es : Demander Ă  l’IA de gĂ©nĂ©rer un formulaire sans spĂ©cifier la validation des entrĂ©es, ouvrant la porte aux injections SQL, XSS, etc.
  • Hardcoding des secrets : L’IA peut, si le prompt n’est pas explicite, inclure des identifiants, des clĂ©s API ou d’autres informations sensibles directement dans le code source.
  • Utilisation de dĂ©pendances non sĂ©curisĂ©es : L’IA peut gĂ©nĂ©rer du code qui utilise des bibliothèques obsolètes ou vulnĂ©rables sans en informer le dĂ©veloppeur.
  • Manque de documentation : Le code gĂ©nĂ©rĂ© par l’IA peut ĂŞtre moins lisible ou moins bien documentĂ©, rendant sa maintenance et son audit de sĂ©curitĂ© difficiles.
  • NĂ©gliger les tests de sĂ©curitĂ© : Se fier uniquement Ă  l’IA pour gĂ©nĂ©rer du code “correct” sans effectuer de tests unitaires, d’intĂ©gration ou de sĂ©curitĂ©.

Comment les éviter :

  • RĂ©vision humaine systĂ©matique : Toujours relire et comprendre le code gĂ©nĂ©rĂ© par l’IA. C’est le dĂ©veloppeur qui reste responsable du code en production.
  • Prompts explicites et sĂ©curisĂ©s : SpĂ©cifier clairement les exigences de sĂ©curitĂ© dans vos prompts (“assurer la validation de toutes les entrĂ©es utilisateur”, “utiliser des requĂŞtes prĂ©parĂ©es”, “gĂ©rer les secrets de manière sĂ©curisĂ©e”).
  • Outillage de sĂ©curitĂ© automatisĂ© : Utiliser des outils SAST, SCA, DAST intĂ©grĂ©s au pipeline CI/CD pour analyser le code gĂ©nĂ©rĂ© en continu.
  • Gestion des secrets : Toujours stocker les secrets dans des gestionnaires de secrets dĂ©diĂ©s (Vault, AWS Secrets Manager, Azure Key Vault) et ne jamais les intĂ©grer directement dans le code, mĂŞme si l’IA le suggère.
  • Mise Ă  jour des dĂ©pendances : Mettre en place un processus automatisĂ© pour scanner et mettre Ă  jour les dĂ©pendances afin d’éviter les vulnĂ©rabilitĂ©s connues.
  • Formation et sensibilisation : Former les dĂ©veloppeurs aux risques spĂ©cifiques du “vibe coding” et aux bonnes pratiques de sĂ©curitĂ© avec l’IA.