Comment réduire le temps d'examen de la sécurité en connectant l'API LLM à l'analyse des vulnérables open source
L'open source est pratique, mais il est tout aussi risqué. Selon une étude de 2025, alors que l'IA a commencé à rédiger du code à la place des humains, le taux d'apparition de bugs a grimpé en flèche de 41 % par rapport à l'année précédente. Pour un responsable de la sécurité qui doit examiner seul des dizaines de milliers de lignes de bibliothèques externes, c'est un véritable désastre. Comme il est impossible de lire tout le code, il faut faire de l'IA notre alliée. Voici comment mettre en place un flux de travail de sécurité intelligent, à l'image de Project Glasswing.
Installer un moteur de sécurité IA sur GitHub Actions
L'automatisation de l'examen de la sécurité permet de supprimer les tâches répétitives simples qui mobilisaient plus de 10 heures par semaine. Elle empêche également les erreurs humaines qui surviennent lors d'un survol visuel. Mettez en place un pipeline qui appelle l'API LLM dans l'environnement GitHub Actions pour scanner en temps réel chaque fois qu'une Pull Request est soumise. La clé réside dans une stratégie qui sépare l'identification de l'audit, plutôt que de simplement poser des questions.
- Protection de la clé API : Enregistrez votre
LLM_API_KEY dans les GitHub Secrets. Elle doit être placée dans un stockage chiffré Libsodium pour éviter que la clé ne fuite à l'extérieur.
- Configuration du répertoire cible : Il n'est pas nécessaire de tout examiner. Utilisez un
path-filter dans la configuration YAML pour scanner uniquement les répertoires sensibles comme src/auth ou lib/core, dont la compromission serait fatale.
- Validation croisée : Lors de la première étape, laissez le LLM analyser la structure du code et rédiger des notes, puis, lors de la deuxième étape, effectuez plus de trois scans répétitifs basés sur ces notes. L'IA peut parfois divaguer, il est donc nécessaire de vérifier plusieurs fois pour harmoniser les résultats.
Une fois cette configuration terminée, le responsable de la sécurité n'aura plus qu'à vérifier le rapport de sécurité résumé par l'IA au lieu de parcourir des dizaines de milliers de lignes de code.
Identifier les vrais dangers avec CVSS et EPSS
Les outils d'IA sont efficaces pour trouver des vulnérabilités, mais ils génèrent aussi beaucoup de faux positifs. Si 100 failles sont détectées et que 15 d'entre elles sont fausses, l'équipe de développement finira inévitablement par s'irriter. Pour ne pas gaspiller des ressources de développement limitées, il faut des critères pour filtrer les menaces réelles. Établissez des priorités en combinant le score CVSS 4.0 et l'indice EPSS, qui indique si une attaque est actuellement en cours dans la réalité.
- Vérification du score de base : Examinez d'abord la gravité technique avec le score de base CVSS 4.0.
- Ajustement du score environnemental : Retranchez ou ajoutez des points selon que le code est exposé à l'Internet public ou s'il s'agit d'une fonction tournant uniquement sur un réseau interne.
- Comparaison avec la probabilité d'attaque : Consultez la base de données EPSS pour vérifier si la vulnérabilité en question est populaire parmi les attaquants en ce moment. Si la probabilité d'attaque dépasse 50 %, vous devez laisser tomber tout le reste et appliquer le correctif immédiatement.
En vous concentrant uniquement sur le niveau d'urgence de 9.0 ou plus, le niveau de sécurité augmentera considérablement. Réduire les demandes de modification inutiles diminuera naturellement les frictions avec l'équipe de développement.
Valider et déployer le code de correction dans un bac à sable (Sandbox)
Les propositions de correction suggérées par l'IA peuvent sembler parfaites en apparence, mais elles endommagent parfois des fonctionnalités existantes. Des entreprises comme Shopify utilisent l'IA, mais elles ne font pas aveuglément confiance au code généré. Il faut mettre en place une procédure pour vérifier automatiquement si le code de correction est sûr dans un environnement isolé comme Firecracker ou gVisor.
- Création d'un environnement isolé : Utilisez la
sbx CLI pour lancer une micro-VM ayant le même environnement d'exécution que le service actuel.
- Simulation d'attaque : Vérifiez si la vulnérabilité peut réellement être exploitée avec un script d'attaque, puis appliquez le correctif fourni par l'IA et tentez une nouvelle attaque pour vérifier si elle est bloquée.
- Test de fonctionnalité : Exécutez les tests unitaires existants avec le correctif appliqué. Sécuriser le système n'a aucun sens si la connexion ne fonctionne plus.
Ces garde-fous sont indispensables pour éviter que du code généré par l'IA, presque correct mais légèrement erroné, ne soit déployé sur le serveur de production.
Rédiger des rapports immédiatement acceptables par les mainteneurs open source
Il ne faut pas se contenter de corriger notre propre service. Signaler les défauts de l'open source lui-même au projet parent fait aussi partie du travail du responsable de la sécurité. Les mainteneurs sont des gens occupés, il faut donc leur fournir des preuves claires. Utilisez les canaux PVR de GitHub pour transmettre vos rapports de manière responsable.
Indiquez clairement le type et l'emplacement de la vulnérabilité dans le titre. Il est essentiel de joindre un chemin de reproduction que n'importe qui peut suivre, ainsi que des captures d'écran. Le mieux est d'envoyer le code de correction que vous avez préalablement validé dans le bac à sable. En réduisant leur temps d'examen, la probabilité que le correctif soit intégré augmente de manière exponentielle. Un rapport bien structuré prouve la compétence technique de l'entreprise et peut même aboutir à l'obtention d'un numéro CVE officiel.