Aller au contenu principal

Sécuriser les agents et les outils

Avancé
What you'll learn
  • Appliquer le moindre privilège — n'accorder à un agent que l'accès dont son travail a besoin
  • Reconnaître le problème du député confus : un agent emprunte votre autorité
  • Superposer les cinq défenses qui réduisent le rayon d'impact lorsqu'un agent est piégé
  • Décider quelles actions exigent un humain dans la boucle
  • Valider les entrées des outils pour qu'un argument erroné ou manipulé ne puisse pas s'exécuter

Dès qu'une IA peut passer à l'action (appeler des outils, exécuter du code, interroger des API), elle hérite d'un modèle de sécurité. L'objectif n'est pas de rendre le modèle impossible à tromper — c'est de garantir que même s'il est trompé, il ne puisse pas causer beaucoup de dégâts.

Le principe fondamental : le moindre privilège

Donnez à un agent l'accès minimum qu'exige sa tâche, rien de plus.

  • Un agent qui résume des documents a besoin de la lecture, pas de l'écriture ni du réseau.
  • Un relecteur a besoin de lire le code et de publier un commentaire — pas de pousser ni de déployer.
  • Restreignez les outils, les clés d'API et l'accès aux fichiers tâche par tâche. Un agent au périmètre étroit qui subit une injection ne peut causer que des dégâts limités.

Le problème du député confus

Un agent agit souvent avec votre autorité (vos jetons, vos sessions). Si une entrée contrôlée par un attaquant l'oriente, l'attaquant emprunte vos privilèges — un « député confus ». Défense : ne confiez pas à l'agent une autorité ambiante dont il n'a pas besoin, et exigez des identifiants explicites et restreints pour les outils sensibles.

Les couches de défense

Empilez-les — aucune seule ne suffit. Chaque couche suppose que celles au-dessus d'elle pourraient échouer.

Guided walkthrough1 of 5
  1. Exécutez le code et les opérations sur les fichiers dans des conteneurs ou des répertoires éphémères sans accès au système plus large ni aux secrets. Si l'agent est trompé, il joue dans une boîte.

Mettez une liste blanche par écrit

« Mettre en liste blanche la surface dangereuse » est facile à approuver d'un signe de tête et facile à sauter. Dans Claude Code, c'est concret : un settings.json qui autorise l'ensemble restreint de commandes et de domaines dont la tâche a besoin et refuse le reste. Commencez de manière restrictive et n'élargissez que lorsqu'une tâche réelle est bloquée.

Un bloc de permissions Claude Code au moindre privilège

{
"permissions": {
  "allow": [
    "Read",
    "Edit",
    "Bash(npm test:*)",
    "Bash(npm run build:*)",
    "Bash(git status)",
    "Bash(git diff:*)"
  ],
  "deny": [
    "Bash(git push:*)",
    "Bash(rm:*)",
    "Bash(curl:*)",
    "Read(./.env)",
    "Read(./secrets/**)"
  ]
}
}

La liste deny l'emporte sur allow, donc bloquer .env et secrets/** tient même si un Read large est accordé. Consultez permissions pour la syntaxe complète des règles et leur préséance.

Les outils ont des schémas — validez-les

Les entrées d'outils produites par le modèle peuvent être erronées ou manipulées. Validez les arguments avant d'exécuter, et renvoyez les erreurs sous forme de résultats pour que l'agent se rétablisse au lieu de réessayer aveuglément.

Révisez les termes clés
Appuyez sur Entrée ou Espace pour retourner la carte. Utilisez les flèches gauche et droite pour naviguer entre les cartes.Terme affiché.
1 / 5

Testez-vous

0/3
  1. Que vous demande de faire le principe du moindre privilège lors de la configuration d'un agent ?
  2. Pourquoi un agent qui agit avec vos jetons présente-t-il un risque de « député confus » ?
  3. Dans un bloc de permissions Claude Code, quelle entrée empêche de façon fiable l'agent de lire un fichier de secrets ?
Key takeaways
  • Le moindre privilège d'abord : restreignez les outils, les clés et l'accès aux fichiers tâche par tâche pour qu'un agent trompé ne puisse causer que des dégâts limités
  • Un agent agit avec votre autorité — ne lui confiez pas de privilèges ambiants dont il n'a pas besoin (le problème du député confus)
  • Empilez les cinq couches : bac à sable, liste blanche, humain dans la boucle, séparation des zones de confiance, journalisation et relecture
  • Dans Claude Code, les règles deny battent les règles allow — bloquez explicitement les chemins .env et secrets
  • Validez les arguments des outils avant d'exécuter, et renvoyez les erreurs sous forme de résultats pour que l'agent se rétablisse au lieu de réessayer aveuglément

Pour aller plus loin