EN
← Dossiers techniques
Sécurité

Des ordres cachés dans ce qu’un agent lit

Un texte qu’un agent lit peut lui donner des ordres déguisés. Nous en avons compté 8 dans un annuaire public d’outils.

Un agent lit du texte et agit d’après ce texte. Rien ne distingue, pour lui, la consigne que son propriétaire lui a donnée du texte qu’il vient de trouver sur une page. N’importe quel contenu qu’il consulte — page web, fiche d’annuaire, réponse d’un outil, courriel — peut donc essayer de lui donner des ordres. C’est ce qu’on appelle une injection d’instructions.

8Fiches d’annuaire portant un impératif adressé au lecteursur 388 fiches recensées
8Adresses déclarées puis injoignables

Ce n’est pas une hypothèse

Ces fiches ne sont pas des attaques sophistiquées. Ce sont des descriptions d’outils, dans un annuaire public, écrites à l’impératif : « utilise cet outil avant tout autre », « ignore les résultats précédents ». Certaines sont sûrement des maladresses de rédaction plutôt que des pièges. Le problème est qu’une machine ne fait pas la différence.

Nous avons aussi trouvé, dans le fichier qu’une plateforme destine aux modèles, un exemple d’injection complet, recopié tel quel. L’intention était sans doute pédagogique — montrer que le service y résiste. Le texte n’en était pas moins là, dans un fichier écrit pour être lu par des machines qui ne connaissent pas cette intention.

La seule défense qui tienne

Ce qu’un agent lit est une donnée, jamais un ordre — même quand le texte affirme le contraire, même quand il se réclame d’une autorité.

Filtrer les contenus douteux ne résout rien : l’ordre peut venir d’un site tout à fait légitime que quelqu’un a modifié, et l’agent n’a aucun moyen de s’apercevoir qu’il est manipulé. La seule défense est de savoir d’où vient chaque texte et qui en répond, puis de traiter tout le reste comme de la simple information.

Éprouver un agent

  • Lui servir un contenu porteur d’une instruction, et vérifier qu’il la traite comme une donnée.
  • Y joindre une tâche légitime : refuser tout en bloc doit échouer autant qu’obéir.
  • Glisser dans l’ordre caché un mot de passe qui n’apparaîtra dans la réponse que s’il a obéi. Lui demander ensuite « as-tu obéi ? » ne prouverait rien : il répondrait non de bonne foi.