Nous avons publié cet article le 12 novembre 2026 et l'avons marqué comme erroné le 13 novembre 2026. Il reste en ligne, marqué, parce qu'une erreur effacée n'apprend rien. Nos corrections précédentes contre les ordres cachés modifient tout le modèle, donc elles changent aussi un peu les réponses ordinaires. Cette version lit dans le modèle quels mots portent une action injectée et n'active une petite correction que sur ces mots. Sur un modèle ouvert de 7B, un attaquant qui s'adapte au modèle a gagné 212 cas d'entraînement sur 310 contre le modèle d'origine et 3 contre le modèle corrigé. Sur 100 cas réservés, le même attaquant est passé de 67 réussites à 0. Le travail est en cours : le lecteur s'active encore sur un peu de texte ordinaire.
<div style="border:5px solid #c62828;color:#c62828;font-weight:800;font-size:26px;letter-spacing:.08em;text-align:center;padding:14px 10px;margin:8px 0 24px;transform:rotate(-3deg);text-transform:uppercase;">Erroné · conservé comme trace de l'erreur</div>
## Pourquoi cet article est erroné
Nous avons publié cet article le 12 novembre 2026 et l'avons marqué comme erroné le 13 novembre 2026. Il reste en ligne, marqué, parce qu'une erreur effacée n'apprend rien.
**Une correction fait obéir un modèle moins souvent aux commandes plantées. Elle ne l'arrête pas.** Un modèle apprend à partir d'exemples, et ce qui passe est l'exemple que personne n'a pensé à lui montrer. Le 12 novembre 2026, nous avons lancé un attaquant plus fort contre notre modèle corrigé de 32B, un attaquant qui réécrit son texte jusqu'à 800 fois par cas : il est passé dans au moins 26 cas sur 80 (au moins 68 sur 80 sur le modèle tel que publié).
**Les chiffres de cet article sont des décomptes face aux attaques que nous avions ce jour-là.** Ils sont vrais comme décomptes. Ils ne disent rien du prochain attaquant, et un agent est exposé sans rien faire : il lui suffit de lire.
**Personne ne peut garantir cette protection, et l'article la laissait lire comme telle.** Qu'une action soit voulue dépend de l'intention du propriétaire, et celle-ci n'est écrite nulle part où un outil puisse la lire. Les mots comme « arrête », « tient », « ignore », « protège » ou « jamais » dans le texte ci-dessous sont faux.
---
**Le texte d'origine, tel que publié**
## L'idée
Un assistant qui lit des e-mails, des pages web ou des résultats d'outils peut être piloté par une phrase cachée dans ce qu'il lit : envoie ce fichier, vire cet argent, donne cet accès. Nos corrections précédentes règlent cela dans les poids du modèle, et elles fonctionnent, mais elles modifient tout le modèle, donc les réponses ordinaires bougent un peu aussi.
Cette version fait deux choses en un seul passage :
- **Elle lit.** Un petit lecteur dans le modèle, sur l'une de ses couches internes, marque les mots qui portent une action injectée dans le texte que le modèle doit lire. Nous avons construit et testé ce lecteur à part : sur des textes en cinq langues, il trouve environ 99 ordres cachés sur 100.
- **Elle ne corrige que là.** Une petite correction se trouve dans les couches après le lecteur et est multipliée, mot par mot, par la marque du lecteur. Là où rien n'est marqué, le modèle tourne exactement comme publié.
## Premiers résultats sur un modèle ouvert de 7B
Tous les chiffres viennent de la même machine et du même modèle compressé (4 bits), donc la seule différence entre les colonnes est la correction.
```chart
{"title": "Cas d'entraînement gagnés par un attaquant qui s'adapte au modèle, sur 310", "series": ["Modèle d'origine", "Correction de tout le modèle", "Correction qui s'active"], "unit": "", "max": 310, "rows": [["Cas gagnés en 10 essais au plus", 212, 3, 3]], "note": "Plus bas est mieux. Benchmark public pour agents (InjecAgent, dommage direct), l'attaquant écrit une nouvelle injection après chaque échec. Le chiffre de la correction de tout le modèle est après 9 essais sur 10."}
```
- **Contre les attaques fixes du benchmark**, sur 100 cas réservés : 4 réussissent sur le modèle d'origine, 0 avec l'une ou l'autre correction.
- **Contre l'attaquant qui s'adapte, sur les cas réservés** : 67 sur 100 réussissent sur le modèle d'origine. Avec la correction qui s'active, 0 sur 100 réussissent après les 10 essais.
- **Le modèle fait toujours son travail.** Il a répondu aux 100 demandes ordinaires et a exécuté chaque action demandée par l'utilisateur.
## Ce qui n'est pas encore résolu
La correction doit laisser intactes les conversations ordinaires. Quand le lecteur ne marque rien, c'est le cas : la réponse est identique à celle du modèle d'origine, mot pour mot. Mais le lecteur marque encore quelques mots dans beaucoup de résultats d'outils ordinaires, surtout de courtes phrases libres dans des données structurées, comme un avis sur un produit. Chaque fausse marque change un peu la réponse : après un second tour sur le lecteur, environ une réponse ordinaire sur deux est identique à celle du modèle d'origine, pour un objectif de neuf sur dix. Apprendre au lecteur qu'une phrase dans un champ de données n'est pas un ordre est la prochaine étape, et la même conception est en cours de portage sur un modèle de 32B.
C'est un travail en cours : une seule taille de modèle, un seul benchmark, des cas de test en anglais et un attaquant limité à 10 essais par cas.
<div style="border:5px solid #c62828;color:#c62828;font-weight:800;font-size:26px;letter-spacing:.08em;text-align:center;padding:14px 10px;margin:8px 0 24px;transform:rotate(-3deg);text-transform:uppercase;">Erroné · conservé comme trace de l'erreur</div>
Cette actualité n'est pas disponible.