Si vous avez branché un agent d’IA de programmation sur votre dépôt GitHub pour qu’il réponde aux issues et aux pull requests, cet article vous concerne. Ce sont, concrètement, les travaux les plus utiles présentés à Black Hat cette année, et le constat est simple : ce qui vous fait tomber, ce n’est pas le modèle. C’est le code qui l’entoure.
Le 5 août, Elad Meged, de Novee Security, a présenté des vulnérabilités dans les agents de programmation des trois grands éditeurs : Claude Code d’Anthropic, Gemini CLI de Google et Codex d’OpenAI. L’attaque ne demandait rien de plus qu’un compte GitHub sans privilèges et sans aucun lien avec le projet. Ouvrir une issue. Y glisser des instructions. Attendre que l’agent la lise. Dans les dépôts des éditeurs eux-mêmes, avec les configurations par défaut qu’ils fournissent, cela a suffi pour exécuter du code sur le runner de CI et voler les jetons du workflow (dont le jeton GitHub et la clé d’API de l’éditeur lui-même), et parfois pour modifier le dépôt ou publier des paquets en son nom. Les trois éditeurs ont publié des correctifs. Deux CVE en sont sorties.
Les détails montrent à quel point il est difficile de bien faire les choses. Pour Claude Code, il a fallu trois tours. La première faille tenait à la façon dont l’agent validait les commandes shell : un git push forgé échappait au contrôle. Anthropic l’a corrigée. Novee a constaté que le correctif reposait sur une liste codée en dur de commandes « en lecture seule » exemptées de tout contrôle, et l’a contournée. Anthropic a publié un nouveau correctif. La troisième vulnérabilité, CVE-2026-54316, exploitait l’accès préapprouvé de l’agent à Hugging Face pour exfiltrer des secrets via des compteurs de téléchargements publics – un canal auxiliaire que personne n’avait pensé à fermer. Pour Codex, c’est une autre histoire : deux passes de l’agent au sein d’un même job partagent un espace de travail, si bien que la première peut écrire un fichier d’instructions auquel la seconde accorde pleine autorité. OpenAI a carrément refusé d’y voir une vulnérabilité, et parle d’un choix de conception.
Une seconde présentation a élargi la focale, des produits des éditeurs aux frameworks open source sur lesquels s’appuient de nombreuses équipes. Elle a montré que LangChain, CrewAI, AutoGen et Semantic Kernel présentent tous une logique exploitable au cœur de leur runtime : stockage de la mémoire, boucles de planification, couches de sérialisation. Conséquence : un contenu injecté peut détourner un agent même si celui-ci ne dispose d’aucun outil. Le modèle de sécurité qu’appliquent la plupart des équipes – « contrôler ce que l’agent peut appeler » – est nécessaire, mais pas suffisant.
C’est le résumé de Meged lui-même qu’il faut retenir : le harness, c’est le code entre le modèle et le monde réel, et c’est le harness qui a lâché. Novee a retrouvé les mêmes schémas dans plus d’une centaine de dépôts publics. Si votre automatisation lit des textes rédigés par des inconnus et détient des identifiants, partez du principe que vous en faites partie tant que vous n’avez pas vérifié.
Sources, chronologie et détails : passez à la lecture approfondie (7 min).