Des chercheurs en sécurité ont dévoilé le 11 août une technique qui contourne les entraînements au refus dans les agents de codage IA en scindant une instruction malveillante en fragments transmis via un serveur Model Context Protocol connecté. Le taux moyen de conformité, sur 11 modèles testés via API, est passé de 42 % à 82 %.
Pourquoi la fragmentation fonctionne
Les contrôles de sécurité évaluent un message. Aucun fragment pris isolément n’est une demande de vol — chaque élément n’est qu’une valeur de champ inoffensive sur un outil nommé integrity_checker avec quatre paramètres anodins. L’instruction n’existe qu’une fois que l’agent a assemblé les morceaux, moment auquel l’étape de refus est déjà passée.
Les résultats varient selon les modèles
GPT-4o, Gemini 2.0 Flash et Llama 3.3 70B sont tous passés de 0 % à 100 %. GPT-5.4 a obtempéré 90 % du temps dans Cursor et 100 % dans Codex CLI, mais 0 % derrière Claude Code — le cadre d’exécution comptait autant que le modèle. Claude Haiku 4.5 est resté à 0 % via API, mais a atteint 100 % avec une variante en trois morceaux dans Cursor. Parmi les fichiers récupérés lors des tests figuraient .ssh/id_rsa, .env, customers.csv et du code source propriétaire.
Ce que requiert l’attaque
Le modèle de menace suppose que le développeur a déjà connecté le serveur MCP de l’attaquant et que l’agent dispose d’un accès en lecture aux fichiers. Il ne s’agit pas d’une prise de contrôle à distance d’un agent arbitraire ; c’est un problème de chaîne d’approvisionnement dans un écosystème où l’ajout d’un serveur se fait par une simple ligne de configuration.
Statut
Il s’agit d’une preuve de concept de recherche avec une implémentation de référence publique. Il n’existe aucune preuve d’exploitation dans la nature et aucun CVE à la date de publication ; la divulgation coordonnée est toujours en cours.
Ce qui réduit réellement le rayon d’impact
Un meilleur entraînement au refus ne corrige pas ce problème. Ce qui limite les dégâts, c’est de restreindre l’accès aux fichiers par outil, d’exiger une approbation explicite avant qu’un agent lise en dehors du répertoire de travail, et de figer les serveurs qu’un projet peut charger — en considérant les serveurs connectés comme une entrée non fiable.
