Le plus gros problème du codage par l'IA est enfin résolu

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00L'IA a rendu le codage accessible à tous et les gens ont commencé à déployer du code à un
00:00:04rythme beaucoup plus rapide.
00:00:05Mais à un rythme encore plus soutenu, les failles de sécurité au sein de ces applis se sont accumulées.
00:00:09Et ces derniers mois, la situation s'est même aggravée.
00:00:12Il y a eu de nombreux cas où un agent a supprimé l'intégralité du projet de quelqu'un.
00:00:16Un autre agent a supprimé une base de données de production entière alors que le développeur travaillait
00:00:20sur quelque chose de totalement différent.
00:00:22Et il y a eu beaucoup de problèmes similaires comme la fuite du fichier interne Clod.md d'Apple.
00:00:26Donc, des outils capables de détecter ces problèmes comptent plus aujourd'hui que par le passé.
00:00:30Face à cette hausse des incidents, Vercel vient de sortir un harnais de sécurité pour détecter les brèches
00:00:35dans les applications générées par l'IA, appelé DeepSec.
00:00:37Vous pourriez penser que Clod code peut déjà faire des revues de sécurité seul avec ses agents.
00:00:42Alors, pourquoi auriez-vous besoin de DeepSec au départ ?
00:00:44C'est parce que DeepSec est un outil structuré qui gère les revues de manière bien plus systématique.
00:00:49Sous le capot, il utilise des agents de codage comme Clod code et Codex.
00:00:52L'outil est conçu pour analyser de grands dépôts car il supporte une conception parallèle qui
00:00:57accélère le flux de travail et regroupe le code en plusieurs lots, ce qui le rend parfait pour
00:01:01examiner de vastes bases de code.
00:01:03Cependant, cela n'a pas été conçu dans une optique de rentabilité.
00:01:06Ils utilisent les modèles les plus puissants de Clod code et Codex, à savoir Opus 4.7 en
00:01:10effort maximal et GPT 5.5 en raisonnement ultra-élevé, qui consomment tous deux beaucoup de jetons.
00:01:16Et comme ils fonctionnent en parallèle, l'utilisation de jetons grimpe vite, augmentant les coûts.
00:01:20Plusieurs applications connues ont déjà testé ce harnais sur leurs bases de code avec de bons résultats.
00:01:25Lors des tests effectués, le taux de faux positifs de cet outil est d'environ 10 à 20 %.
00:01:30Ce chiffre est significatif compte tenu de la précision habituelle des LLM.
00:01:33Inversement, cela signifie que l'agent a raison la plupart du temps et que ses vrais positifs sont
00:01:37élevés.
00:01:38C'est l'architecture derrière tout cela qui fait la différence.
00:01:40Si vous demandez à Clod code ou à n'importe quel agent une revue de sécurité, il commencera par scanner
00:01:45directement la base de code, puis produira un rapport de revue complet.
00:01:48Cela prend non seulement beaucoup de temps, mais consomme aussi beaucoup de jetons et la revue
00:01:52pourrait encore rater des éléments.
00:01:53La première partie de ce flux de travail est donc le scan, effectuant un balayage par RegEx de tous les
00:01:58fichiers pour cibler les zones sensibles sur lesquelles les étapes suivantes se concentreront.
00:02:01La détection par RegEx est importante ici car l'outil est conçu pour de grandes bases de code
00:02:06pouvant facilement contenir des milliers de fichiers.
00:02:08Le filtrage par RegEx est une série de motifs de code qui correspondent à des zones connues pour être
00:02:13vulnérables, permettant d'extraire ces fichiers de la masse globale.
00:02:16Une fois ce groupe de fichiers filtré, l'étape suivante est l'investigation par l'agent.
00:02:21L'agent est la partie coûteuse, consommant beaucoup de jetons et prenant généralement
00:02:25beaucoup de temps selon la taille réelle de votre base de code.
00:02:28Cet outil divise donc tous les fichiers en lots et les parallélise pour qu'ils soient traités
00:02:32en même temps.
00:02:34Une fois ce processus terminé, il y a une étape de revalidation où l'investigation est
00:02:37vérifiée à nouveau pour que les faux positifs soient contre-interrogés.
00:02:40S'il y a eu un oubli, il le rattrape et s'assure que la classification a été faite
00:02:45correctement.
00:02:46Cette revalidation est en fait optionnelle.
00:02:47Ensuite, l'agent utilise les métadonnées Git et d'autres sources pour identifier les personnes
00:02:51responsables de chaque problème.
00:02:53Une fois tout cela fini, les résultats sont stockés en Markdown ou JSON pour pouvoir
00:02:57être transformés en tickets pour des humains ou des agents de codage.
00:03:01Comme mentionné plus tôt, les fichiers sont groupés en lots avec environ 5 fichiers traités
00:03:05ensemble par lot.
00:03:06Pour chaque lot, un nouveau prompt est assemblé selon le framework identifié ainsi que
00:03:11d'autres informations du projet.
00:03:12Ceux-ci sont ensuite analysés par le SDK de l'agent Clod ou Codex, selon votre configuration,
00:03:17et ils disposent d'outils en lecture seule pour comprendre le contenu de la base de code.
00:03:22Une fois les résultats obtenus, tout est fusionné dans un seul fichier qui est dédoublonné
00:03:26et normalisé.
00:03:27À la fin, il y a une étape de suivi pour s'assurer que l'analyse a bien tout couvert.
00:03:31Cette architecture le rend efficace grâce à son processus systématique et sa méthode d'analyse
00:03:36structurée, aidant à identifier les problèmes bien mieux qu'un scan sans harnais.
00:03:41Pour tester cela, nous avons utilisé un projet open source qui est une application web contenant
00:03:45des risques de sécurité intégrés volontairement pour l'exercice.
00:03:47Nous voulions voir si cet outil était capable de détecter tous les problèmes de ce dépôt
00:03:52par lui-même.
00:03:53Ce projet contient 10 failles de sécurité avec tous les détails disponibles directement dans le code
00:03:56lui-même, y compris la manière de les supprimer.
00:03:58Pour lancer DeepSec, vous exécutez d'abord la commande deepsec init qui installe les dépendances
00:04:03et crée un dossier .deepsec, puis vous installez les dépendances dans ce dossier.
00:04:08Il vous donne aussi un prompt que vous devez coller dans l'agent de codage que vous utilisez.
00:04:12Comme nous utilisions Clod code, nous avons lancé ce prompt dans Clod qui contient les instructions
00:04:16pour créer un petit fichier info.md incluant toutes les infos du projet, basé sur
00:04:21un modèle spécifique.
00:04:23Vous ne devez pas lancer cette commande dans le dossier du projet lui-même, mais dans le dossier
00:04:27.deepsec car elle demande à l'agent de regarder dans le répertoire précédent pour lire
00:04:31toutes les informations.
00:04:32Le fichier info.md contient un aperçu général de ce que fait la base de code, du flux
00:04:37d'authentification, ainsi que les modèles de menace, les motifs spécifiques au projet et tous les
00:04:42faux positifs connus dans le code.
00:04:44Une fois ce fichier créé, la tâche suivante est de lancer la commande deepsec scan.
00:04:48Cette commande est le moteur RegEx dont on a parlé, et elle trouve tous les points de terminaison
00:04:52correspondants et liste les fichiers filtrés contenant des problèmes de sécurité potentiels.
00:04:57Cette partie est rapide car c'est juste du code en action.
00:05:00L'étape suivante consiste à lancer la commande deepsec process.
00:05:02Vous pouvez spécifier n'importe quelle clé API du modèle voulu, que ce soit la passerelle API
00:05:07Vercel, Codex ou Clod, à l'intérieur du fichier .env.local.
00:05:11Mais si vous ne le faites pas, comme nous, il utilise par défaut l'abonnement Clod code
00:05:16et se sert de votre authentification au lieu de nécessiter une clé API.
00:05:19Il divise le projet en lots et appelle plusieurs outils sur chacun d'eux.
00:05:23Après chaque lot, il donne un résumé du nombre de jetons utilisés et de l'estimation
00:05:27du coût.
00:05:28Si vous utilisez un abonnement, vous ne serez pas facturé en plus de votre forfait,
00:05:32mais cela fournit tout de même une estimation des coûts d'API.
00:05:35Comme c'est conçu pour de grandes revues de code, la fiabilité est une priorité.
00:05:39Ainsi, en cas d'erreur pendant la revue, il ne redémarre pas tout depuis
00:05:43le début mais continue à partir du point où l'erreur s'est produite.
00:05:46Une fois le scan fini, vous lancez la commande deepsec report et elle génère un rapport
00:05:50en formats JSON et Markdown contenant un aperçu général des trouvailles classées
00:05:55par niveau de sévérité.
00:05:56Une fois ce rapport généré, vous pouvez lancer l'étape de revalidation.
00:06:00Cette étape est entièrement facultative.
00:06:02Vous pouvez la lancer si vous le souhaitez ou l'ignorer complètement.
00:06:04Si vous l'exécutez, elle valide les résultats pour vérifier si les rapports sont des faux positifs
00:06:08ou non.
00:06:09Ensuite, vous pouvez tout exporter avec la commande export et cela écrira
00:06:13les résultats dans le dossier findings.
00:06:15Ce dossier contient les problèmes ordonnés par priorité comme noms de dossiers et crée
00:06:20un fichier par problème identifié.
00:06:22Il liste d'abord la source du problème, c'est-à-dire le fichier exact et les lignes en cause,
00:06:26la sévérité du problème et le niveau de confiance du modèle dans son identification.
00:06:30Il mentionne aussi quel commit a introduit le problème et l'assigne à l'auteur du commit.
00:06:34Il explique ensuite le correctif recommandé, liste les résultats de revalidation et mentionne
00:06:39tous les problèmes qui ont été explicitement traités.
00:06:41Il inclut également les étapes pour reproduire les bugs à l'intérieur des résultats.
00:06:44Cependant, ce rapport n'a pas identifié tous les problèmes, bien que le tutoriel soit
00:06:48présent dans le code lui-même et qu'il aurait dû être capable de les trouver.
00:06:52Nous avons donc discuté avec Claude pour comprendre pourquoi les leçons de vulnérabilité intégrées
00:06:56à l'application par conception n'avaient pas été identifiées.
00:06:59Après itération avec Claude, nous avons découvert que l'outil n'avait rapporté que 3 résultats
00:07:03à cause d'une mention explicite dans le fichier info.md.
00:07:07DeepSec s'attendait à une appli où les 10 vulnérabilités sont déjà connues et s'est concentré
00:07:12sur les problèmes autres que ceux-là, car ils étaient déjà répertoriés. Il essayait d'aller
00:07:16au-delà du déjà connu pour se focaliser sur d'autres motifs afin que le scan soit plus
00:07:21efficace et ne gaspille pas de temps et de jetons sur des problèmes déjà documentés.
00:07:25Nous avons ensuite testé une autre application pour voir s'il faisait mieux cette fois.
00:07:28Nous avons suivi les mêmes étapes, du scan jusqu'à la phase de traitement.
00:07:32Nous n'avons pas lancé la revalidation, nous avons juste créé le rapport et l'avons exporté.
00:07:36Et cette fois, le fichier info.md de Claude contenait seulement les détails de l'appli sans
00:07:42les déclarations du test précédent.
00:07:43En parallèle, nous avons aussi demandé à Claude de réviser le code et d'écrire un fichier report.md
00:07:48avec une revue de sécurité complète pour comparer les performances.
00:07:52Le rapport créé par DeepSec a trouvé plusieurs bugs avec différents niveaux de sévérité.
00:07:56Il a trouvé 9 problèmes et a créé un rapport détaillé avec les étapes recommandées pour les
00:08:01corriger.
00:08:02Et ces étapes recommandées sont ce que la plupart des autres rapports oublient, car c'est ce qui
00:08:05aide l'agent à comprendre comment corriger le problème, facilitant ainsi le débogage.
00:08:09Mais nous avons remarqué que le rapport de Claude était bien plus détaillé avec 39 problèmes signalés.
00:08:13Nous lui avons donc d'abord demandé de créer une comparaison (diff).
00:08:15Le diff a montré que le nombre de Claude était plus élevé.
00:08:18Mais nous avions déjà observé cela lors de nos tests avec Codex.
00:08:20Claude a tendance à identifier d'autres problèmes en plus du périmètre défini en cours de route.
00:08:24Il ne se concentre pas uniquement sur les problèmes ciblés pour lesquels DeepSec a été conçu.
00:08:29Une fois que nous lui avons demandé de se limiter au périmètre, il a réduit les résultats à 13 problèmes.
00:08:34Mais il restait quelques problèmes manqués par DeepSec qui figuraient dans le rapport de Claude.
00:08:38La raison pour laquelle DeepSec a raté quelques trouvailles est qu'il se focalise uniquement sur
00:08:43ce que le code contient directement et ce qui peut être résolu via les fonctions elles-mêmes.
00:08:47Il n'identifie pas les problèmes pouvant survenir lors de l'exécution, comme les soucis liés
00:08:52au CORS.
00:08:53Il ne se concentre pas non plus vraiment sur les motifs logiques et les décisions architecturales.
00:08:57Comme mentionné précédemment, il utilise RegEx pour filtrer les fichiers en premier.
00:09:01Il se focalise donc sur ce qui est explicitement présent dans le code et non sur les problèmes
00:09:05pouvant apparaître dynamiquement quand l'application tourne.
00:09:08Aussi, si vous appréciez notre contenu, n'hésitez pas à cliquer sur le bouton hype car cela nous aide
00:09:12à en créer davantage et à toucher plus de monde.
00:09:15Maintenant, au lieu de faire ces étapes une par une par nous-mêmes, nous avons créé cette compétence DeepSec
00:09:20qui contient toutes les instructions sur l'utilisation du scanner de Vercel de bout en bout
00:09:24et comment il doit identifier, à partir du prompt de l'utilisateur, ce qui est demandé.
00:09:28Il suit ensuite tout le processus étape par étape et gère l'intégralité du harnais de son côté.
00:09:32Il est aussi accompagné de multiples ressources, évaluations et références pour tous les problèmes,
00:09:37ainsi que de plusieurs scripts pouvant aider à la solution finale et au fonctionnement
00:09:42global de ce dépôt.
00:09:43Avec cela en place, vous pouvez simplement lancer ce scan de sécurité et spécifier le modèle souhaité,
00:09:47et il s'occupera directement de tout pour vous.
00:09:50Il passera par toutes les étapes vues plus tôt tout en traitant les problèmes manqués
00:09:54auparavant, et sera capable de réaliser une bien meilleure revue de sécurité en combinant
00:09:59les capacités de DeepSec tout en comblant les lacunes de ses résultats.
00:10:02Cette compétence ainsi que toutes les ressources se trouvent dans AI Labs Pro pour cette vidéo et
00:10:07toutes nos vidéos précédentes, d'où vous pouvez les télécharger pour vos propres projets.
00:10:11Si vous trouvez de la valeur dans ce que nous faisons et voulez soutenir la chaîne, c'est le meilleur
00:10:15moyen de le faire.
00:10:16Le lien est dans la description.
00:10:17Cela nous amène à la fin de cette vidéo.
00:10:19Si vous voulez soutenir la chaîne et nous aider à continuer ces vidéos, vous pouvez
00:10:23le faire en utilisant le bouton Super Thanks ci-dessous.
00:10:25Comme toujours, merci d'avoir regardé et je vous retrouve dans la prochaine.

Key Takeaway

DeepSec résout l'insécurité du codage par IA en structurant l'analyse via un filtrage RegEx initial suivi d'un traitement parallèle par agents Opus 4.7 et GPT 5.5 pour identifier les vulnérabilités statiques avec 80 à 90 % de précision.

Highlights

  • Vercel lance DeepSec, un harnais de sécurité systématique capable de détecter les brèches dans le code généré par l'IA.

  • L'outil utilise les modèles Opus 4.7 et GPT 5.5 en parallèle pour analyser de vastes dépôts de code malgré une consommation élevée de jetons.

  • Les tests affichent un taux de faux positifs compris entre 10 et 20 %, garantissant une précision supérieure aux revues de sécurité manuelles par agents standards.

  • Le flux de travail commence par un balayage RegEx pour cibler les zones vulnérables avant l'intervention coûteuse des agents LLM.

  • DeepSec génère des rapports en formats Markdown ou JSON incluant la source précise du problème, sa sévérité et les étapes de reproduction du bug.

  • L'architecture de l'outil permet de reprendre une analyse interrompue par une erreur sans redémarrer le processus depuis le début.

Timeline

Crise de sécurité dans le code généré par l'IA

  • Le déploiement rapide de code via l'IA multiplie les failles de sécurité au sein des applications.
  • Des incidents réels incluent la suppression accidentelle de bases de données de production et de projets entiers par des agents autonomes.
  • La fuite de fichiers internes chez Apple illustre l'urgence de nouveaux outils de détection.

L'accélération du rythme de développement grâce à l'IA s'accompagne d'une accumulation critique de vulnérabilités. Les agents de codage actuels manquent de garde-fous, ce qui mène à des pertes de données catastrophiques. Ces défaillances structurelles rendent indispensable l'utilisation de solutions de sécurité dédiées et systématiques.

Architecture et fonctionnement technique de DeepSec

  • DeepSec remplace les revues de sécurité désordonnées par un processus structuré utilisant Claude Code et Codex.
  • L'outil privilégie la puissance sur la rentabilité en exploitant les modèles Opus 4.7 et GPT 5.5.
  • Un filtrage par expressions régulières (RegEx) isole les fichiers sensibles parmi des milliers de documents.

Contrairement à un agent standard qui scanne aveuglément toute la base de code, DeepSec segmente le travail. Le balayage RegEx initial sert de filtre pour réduire le volume de données traité par les modèles coûteux. Cette approche permet de traiter de grands dépôts de code en parallèle tout en maintenant un niveau de raisonnement ultra-élevé.

Processus d'investigation et de revalidation

  • Les fichiers sont regroupés par lots de cinq pour être analysés simultanément par le SDK de l'agent.
  • Une étape de revalidation optionnelle vérifie les résultats pour éliminer les faux positifs.
  • L'outil utilise les métadonnées Git pour attribuer chaque vulnérabilité à l'auteur du commit original.

Le traitement par lots optimise l'utilisation des jetons et accélère le flux de travail. Après l'analyse, le système fusionne et dédoublonne les informations pour produire un rapport cohérent. L'identification des responsables via Git facilite la transformation des résultats en tickets exploitables par des développeurs humains ou des agents.

Installation et mise en œuvre pratique

  • La commande deepsec init prépare l'environnement et génère un fichier de configuration info.md.
  • Le moteur RegEx s'active via deepsec scan pour lister les points de terminaison à risque.
  • La commande deepsec process exécute l'analyse LLM en utilisant les clés API ou l'abonnement Claude Code existant.

L'installation crée un répertoire local .deepsec où l'utilisateur doit configurer les instructions du projet. Le fichier info.md est crucial car il contient le modèle de menace et les faux positifs déjà connus. En cas d'interruption technique, le système mémorise l'état d'avancement pour éviter de facturer deux fois les mêmes jetons lors de la reprise.

Analyse des résultats et limites du système

  • Le rapport final classe les problèmes par priorité et inclut des recommandations de correction détaillées.
  • DeepSec ignore volontairement les vulnérabilités déjà documentées dans le fichier info.md pour économiser des ressources.
  • L'outil se limite aux failles statiques et ne détecte pas les erreurs d'exécution comme les problèmes de CORS.

Lors des tests sur une application web vulnérable, DeepSec a identifié 9 problèmes majeurs. Sa force réside dans la fourniture d'étapes de reproduction claires pour chaque bug. Cependant, son dépendance au filtrage RegEx signifie qu'il peut rater des erreurs logiques complexes ou architecturales que des agents plus généralistes comme Claude pourraient voir au prix d'un bruit plus important.

Optimisation via la compétence DeepSec

  • Une compétence personnalisée automatise l'intégralité du processus de scan du début à la fin.
  • Cette méthode combine les forces de DeepSec avec des scripts de suivi pour combler les lacunes d'analyse.
  • Le système final permet de réaliser des revues de sécurité plus complètes sans intervention manuelle étape par étape.

Pour maximiser l'efficacité, toutes les instructions du harnais Vercel sont regroupées dans un outil unique. Cela permet de lancer un scan complet avec un seul prompt, en intégrant des références et des évaluations externes. L'utilisateur peut ainsi obtenir une revue de sécurité exhaustive tout en bénéficiant de la structure rigoureuse de DeepSec.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video