AP68 · Secrets à portée de l’agent

Famille : Sécurité et droits

Preuve forte

Noms d'origine : secrets in context, ambient credentials

Les identifiants sont lisibles par l’agent, dans son contexte ou dans ses fichiers, au lieu d’être injectés hors du modèle.

Définition

Des identifiants se trouvent dans le prompt, dans la mémoire ou dans des fichiers lisibles par l’agent (dépôt, `.env`, `~/.aws`, configuration MCP), au lieu d’être injectés hors du modèle au moment de l’appel.

Symptômes observables

  • Des clés en clair dans les fichiers de configuration MCP, ou des jetons dans le dépôt.
  • L’agent peut lire `~/.ssh`, `~/.aws` ou `.env`.
  • Des paramètres d’outils contiennent `api_key`.

Pourquoi c'est nuisible

Tout secret lisible peut être exfiltré par une injection, et l’agent peut lui-même s’en servir pour « résoudre » un problème.

Chiffres

  • GitGuardian (étude commerciale, mars 2026) : 24 008 secrets uniques dans des fichiers de configuration MCP publics, dont 2 117 valides. Les commits assistés par Claude Code laissent fuir des secrets dans 3,2 % des cas, contre 1,5 % en référence ; l’éditeur attribue l’écart aux décisions humaines autant qu’à l’outil.
  • Anthropic (mai 2026) : la défense qui tient repose sur des frontières de système de fichiers qui gardent `~/.aws` hors d’atteinte.

Incidents publics

  • 2026-04 — PocketOS, Railway L’agent de code (Cursor, avec Claude Opus 4.6) a trouvé un jeton Railway dans un fichier sans rapport avec sa tâche, puis s’en est servi pour supprimer le volume de production de PocketOS.

Remèdes du catalogue

Mesures hors catalogue

  • Un courtier d’identifiants hors du contexte : le harnais injecte le secret au moment de l’appel, et le modèle ne le voit jamais.
  • Des jetons courts, limités à la tâche.

Patterns détournés

Anti-patterns voisins

Sources

Contenu relu le 2026-10-05

Catalogue des anti-patterns