Votre projet de codage Vibe est infesté de vulnérabilités !
Créer des logiciels avec l'IA est passé de la science-fiction à la réalité. Votre projet codé par l'IA peut fonctionner parfaitement… jusqu'à ce que des pirates informatiques découvrent les failles. Dans cet article, nous aborderons le cheminement d'un code généré par l'IA, riche en découvertes et vulnérabilités, vers un produit fiable, en passant en revue une expérience que nous avons menée pour tester les workflows d'analyse et de correction automatique de Scribe, basés sur l'IA, sur un projet réel créé avec la plateforme de codage Bolt.new vibe.
Génération du projet
Le défi était simple :
Créez une application Web qui surveille les lignes GPIO matérielles en temps réel et affiche leur état sur une page Web mise à jour dynamiquement.
Avec une seule invite, Bolt.new a généré l'intégralité du projet : un projet Node.js complet avec un serveur WebSocket, un front-end React.js et même un fichier README.md pour GitHub.
Le processus de génération n'a pris que trois minutes et nous avons pu télécharger le code dans un environnement Linux local (Ubuntu 22.04 sur WSL), l'installer et l'exécuter.
Cela a fonctionné immédiatement, à notre grande surprise. Voici une capture d'écran de l'application en cours d'exécution :
Premières impressions
Une fois le déploiement terminé, nous avons analysé la structure du projet. L'application comportait 20 fichiers de code source et 15 fichiers de configuration. L'installation complète, dépendances comprises, comptait plus de 10,000 XNUMX fichiers. Cela a soulevé une question importante : quel est le niveau de sécurité et de fiabilité de ce code généré par l'IA ?
Phase 1 : Instrumentation traditionnelle
Notre première étape a consisté à exécuter l'instrumentation classique de Scribe et à collecter les attestations de sécurité issues du processus de build. Cela nous a permis d'obtenir :
– Nomenclatures de matériel logiciel (SBOM) détaillées
– Rapports de vulnérabilité (dépendances directes et transitives)
– Résultats de l'analyse statique (SAST)
– Résultats d’analyse secrets
Rapport de vulnérabilité
- Vulnérabilités critiques 4
- 6 vulnérabilités de haute gravité
Résultats du SAST
- 3 constatations de gravité élevée
- 12 constatations de gravité moyenne
Phase 2 : Auto-correction avec Scribe AI
Ensuite, nous avons téléchargé le projet sur GitHub et utilisé Remus, Flux de travail agentique d'auto-correction IA de Scribe. Remus, En fait, un réseau de quatre Agents d'IA, est conçu pour fonctionner de manière autonome et collaborative. Chaque agent dispose de capacités spécialisées, permettant une approche distribuée de la résolution de problèmes complexes. Cette architecture permet à l'outil de gérer un large éventail de tâches, de l'analyse de données et de la reconnaissance de formes à la prise de décision et à la modélisation prédictive.
Fonctionnement Remus a conduit à une demande d'extraction avec des correctifs ciblés pour les vulnérabilités et les problèmes SAST précédemment identifiés.
Voici un exemple de commit suggéré automatiquement par Remus pour corriger une vulnérabilité :
Après avoir fusionné le PR, nous avons reconstruit le projet, validé qu'il fonctionnait comme avant et réanalysé le projet pour détecter les problèmes.
Résultats après Remus Remédiation
La transformation a été spectaculaire !
- Analyse de vulnérabilité : il ne reste qu'un seul problème de gravité moyenne
- Résultats du SAST : tous les éléments sont fixes, à l'exception d'un élément de gravité moyenne
Le flux de travail de correction agentique IA de Scribe a résolu efficacement les problèmes critiques et de haute gravité, ne laissant que des problèmes mineurs pour une intervention manuelle, sans entraver la fonctionnalité du produit.
Faits marquants
Cette expérience a montré que :
- Bien que le code généré par l'IA puisse sembler pleinement fonctionnel au départ, ses fonctionnalités prêtes à l'emploi comportent des risques de sécurité et de confiance importants. Les projets utilisant ce type de code sont exposés à un risque élevé de la part des acteurs malveillants.
- L'instrumentation de sécurité dans le pipeline est essentielle. Le plugin GitHub de Scribe a révélé plusieurs vulnérabilités à fort impact dans le projet généré.
- Le flux de travail agentique de correction automatique alimenté par l'IA de Scribe est puissant : il a considérablement réduit le profil de risque du projet grâce à des correctifs automatisés tout en laissant le projet entièrement fonctionnel.
Réflexions finales
La combinaison de projets générés par l'IA et de solutions de remédiation pilotées par l'IA laisse entrevoir un avenir où les logiciels seront créés et sécurisés plus rapidement que jamais. Si la supervision humaine demeure cruciale, des outils comme ScribeHub avec ses workflows AppSec d'agents d'IA, prouvez que la réparation automatisée du code n'est pas seulement possible, elle est pratique.
Ce contenu vous est proposé par Scribe Security, l'un des principaux fournisseurs de solutions de sécurité de bout en bout pour la chaîne d'approvisionnement logicielle, offrant une sécurité de pointe aux artefacts de code ainsi qu'aux processus de développement et de livraison de code tout au long des chaînes d'approvisionnement logicielles. En savoir plus.