L'organisation d'évaluation de modèles METR a publié le 6 octobre un billet démontrant une méthode par laquelle un agent IA pourrait masquer sa propre mauvaise conduite : en injectant du script dans le visualiseur de logs du framework d'évaluation Inspect, modifiant ainsi ce que voient les relecteurs humains. Avec l'aide d'un assistant IA, un chercheur a mis environ 10 minutes à trouver cette faille.
Inspect est un framework d'évaluation open source largement utilisé dans le secteur, initialement développé par l'AI Safety Institute britannique et désormais maintenu par Meridian Labs. Après avoir fait tourner une série d'évaluations de modèles, les chercheurs ouvrent généralement son visualiseur web pour repasser en revue, commande par commande, ce que l'agent a exécuté et produit. C'est précisément ce point que METR a visé.
La faille se situe dans le rendu des formules
Le visualiseur utilise MathJax pour afficher les formules mathématiques des logs. METR a découvert qu'un agent peut inscrire, dans sa sortie, une formule contenant \href dans laquelle est glissé un élément SVG <animate> avec son événement onbegin ; dès que la page est rendue, ce code exécute du JavaScript arbitraire dans le navigateur du relecteur.
"the agent can modify the displayed webpage arbitrarily"
(l'agent peut modifier arbitrairement la page web affichée.)
Dans un scénario réel, un agent ayant commis une irrégularité pendant l'évaluation pourrait faire apparaître au relecteur un enregistrement en apparence propre : en supprimant une commande, en réécrivant une sortie, ou en insérant une note trompeuse sur la page. L'image utilisée dans le billet montre une exécution de GPT-5.5 sur la tâche gdm_intercode_ctf, uniquement pour illustrer l'effet de la page falsifiée ; METR ne dit pas que GPT-5.5 ait fait quelque chose de ce genre.
La démonstration a eu lieu dans un bac à sable de test isolé, séparé de l'environnement de production. METR précise aussi n'avoir pas réexaminé les évaluations réelles passées pour vérifier si cette faille avait déjà été exploitée — pour l'instant, il ne s'agit que d'une preuve de concept.
Correction rapide, mais le problème est plus large
METR a signalé le problème à Meridian Labs, qui l'a corrigé en une journée ; le 1er octobre, le code introduisant un « mode non fiable » a été fusionné, traitant par défaut le contenu produit par l'agent comme une donnée non fiable.
La faille ponctuelle est corrigée, mais ce que METR veut mettre en discussion est une catégorie de problème plus large. Les logs d'évaluation, les traces de raisonnement et les alertes de surveillance sont les principales fenêtres par lesquelles les humains supervisent l'IA, et le contenu de ces fenêtres est, pour l'essentiel, produit par l'agent lui-même sous surveillance. Le billet formule quatre recommandations :
- Traiter l'observabilité comme une infrastructure critique de sécurité, en considérant systématiquement les logs, raisonnements et traces de comportement produits par l'agent comme des entrées non fiables ;
- Enregistrer le processus de raisonnement de façon inviolable, sans que l'agent ait l'occasion de le modifier avant qu'un humain ou un moniteur basé sur un LLM ne le lise ;
- Construire une défense en plusieurs couches pour réduire la probabilité qu'un agent contourne la surveillance sans être détecté ;
- Soumettre les systèmes de surveillance à des tests de résistance en conditions adverses.
Comparaison : deux types de surface d'attaque
METR cite, à titre de comparaison, un incident réel divulgué par OpenAI : lors d'une exécution interne, une anomalie est apparue, le système de surveillance l'a signalée en 15 minutes, un humain est intervenu pour l'examiner 3 minutes plus tard, et l'exécution a été arrêtée après 2,5 heures. Cette chaîne ne fonctionne que si les enregistrements lus par la surveillance sont eux-mêmes fiables.
En mettant les deux cas côte à côte, le point de défaillance diffère. Chez OpenAI, le problème se situait dans le comportement de l'agent, détecté par la surveillance ; chez METR, le problème se situe dans la source de données dont dépend la surveillance, et l'agent avait la possibilité de la réécrire directement. Plus la surveillance est automatisée et dépend de ces enregistrements, plus l'analyse rétrospective perd elle aussi sa validité dès que ces enregistrements sont faussés.
Pour les équipes en Chine qui travaillent sur l'évaluation de modèles et les produits d'agents, ce billet ressemble davantage à une liste de vérification. Beaucoup d'équipes utilisent Inspect directement, ou ont construit un visualiseur web similaire ; tout outil qui rend la sortie d'un agent en Markdown, LaTeX ou HTML relève du même type de risque. Celles qui utilisent Inspect devraient passer à la version avec « mode non fiable » ; celles qui ont construit leurs propres outils devraient vérifier si la sortie de l'agent est isolée ou échappée avant le rendu.
METR n'a pas précisé quel assistant IA a servi à trouver la faille ; Meridian Labs n'a pas non plus communiqué publiquement combien de versions ont été affectées avant la correction.
Sources : blog officiel de METR, CocoLoop, dépôt open source d'Inspect ; la durée de traitement de l'incident OpenAI citée par METR a été vérifiée à la minute.