Le sandbox-runtime d'Anthropic applique des limites de fichiers et de réseau aux commandes des agents IA

Le sandbox-runtime d'Anthropic applique des limites de fichiers et de réseau aux commandes des agents IA

Ajoutez CyberWorldOpsà vos sources préférées sur Google
Le sandbox-runtime d'Anthropic applique des limites de fichiers et de réseau aux commandes des agents IA
IA

Image d’illustration générée par IA

Le sandbox-runtime open source d'Anthropic, l'outil qui sous-tend l'exécution bash en bac à sable de Claude Code, permet aux développeurs de restreindre les fichiers et les destinations réseau accessibles à un processus, sans démarrer de conteneur, selon un rapport de MarkTechPost publié le 24 octobre. L'outil prend aussi en charge d'autres agents, des serveurs MCP locaux et des programmes ordinaires en ligne de commande.

Connu sous le nom de srt, le runtime est disponible sous forme d'outil en ligne de commande et de bibliothèque TypeScript. Le rapport le décrit comme un aperçu de recherche en bêta, avec une prise en charge de Windows en alpha. Il indique que le paquet npm @anthropic-ai/sandbox-runtime correspond à la version v0.0.81, distribué sous licence Apache-2.0 et exigeant Node.js 22.12+.

Les restrictions s'étendent aux sous-processus

Selon le rapport, le runtime s'appuie sur des mécanismes d'isolation du système d'exploitation pour appliquer les règles de fichiers et de réseau à l'ensemble d'un arbre de processus, y compris les scripts et les sous-processus.

Sous macOS, il utilise sandbox-exec avec des profils Seatbelt générés dynamiquement et nécessite ripgrep. Sous Linux, il utilise bubblewrap, avec l'espace de noms réseau supprimé, et nécessite socat et ripgrep. L'implémentation Windows, encore en alpha, repose sur un compte dédié srt-sandbox, une barrière de sortie (egress fence) Windows Filtering Platform et des ACL de fichiers explicites.

Par défaut, la politique du système de fichiers autorise la lecture sauf si un chemin est explicitement refusé, tandis que l'écriture est bloquée sauf si elle est autorisée. L'accès réseau est refusé sauf si un domaine figure sur la liste d'autorisation. Ces valeurs par défaut rendent la configuration déterminante : un répertoire sensible doit faire l'objet d'une restriction de lecture explicite pour être couvert par cette politique.

Selon le rapport, le trafic réseau transite par des proxys HTTP et SOCKS5 sur l'hôte, qui appliquent les listes d'autorisation et de refus de domaines. Sous Linux, la connexion à ces proxys passe par des sockets Unix montés en liaison (bind-mount) dans le bac à sable ; le profil Seatbelt de macOS n'autorise qu'un seul port localhost.

Selon le rapport, cette approche combinée repose sur la conviction d'Anthropic que les contrôles du système de fichiers et ceux du réseau doivent fonctionner ensemble. Sans cela, un accès réseau pourrait permettre à un agent victime d'une injection de prompt de transmettre des clés SSH, tandis que des restrictions de fichiers insuffisantes pourraient lui permettre de sortir du bac à sable et d'obtenir un accès réseau.

Moins d'approbations, une sécurité qui dépend de la configuration

Anthropic indique que le mode bac à sable a réduit de 84 % les demandes d'autorisation dans son usage interne de Claude Code. Il s'agit d'un résultat communiqué par l'entreprise, et non d'un benchmark indépendant ni d'une réduction mesurée des incidents de sécurité. L'objectif est de réduire les demandes d'approbation répétées tout en permettant à un agent de fonctionner dans des limites prédéfinies.

Les développeurs peuvent installer le paquet avec npm install -g @anthropic-ai/sandbox-runtime et faire précéder les commandes de srt. Pour les serveurs MCP, le rapport décrit le remplacement de npx par srt dans le champ de commande de .mcp.json et le passage de la commande d'origine en arguments. Les règles sont stockées dans ~/.srt-settings.json.

Les contrôles réseau mentionnés comprennent des domaines et ports génériques (wildcards), des listes d'autorisation par commande, un callback pour les destinations sans règle correspondante, et des modifications de listes en direct via --control-fd. Une vérification de l'adresse résolue bloque les noms autorisés qui se résolvent vers des adresses de loopback ou de métadonnées cloud.

Le compromis concret tient au niveau d'accès dont a besoin une charge de travail. Les agents peuvent avoir besoin de registres, de sites de documentation et d'API pour mener à bien leurs tâches. Des règles trop étroites peuvent interrompre ce travail, tandis que des autorisations de domaines trop larges peuvent ouvrir des voies de fuite de données. Le runtime fournit des contrôles pour définir cette limite ; son statut bêta et la prise en charge de Windows en alpha restent toutefois des limites importantes pour un déploiement.

À lire aussi

Sources

Cet article est une réécriture originale fondée sur les sources ci-dessous.

Retour à l'accueil

Dernières actualités cybersécurité

Toutes les actualités cybersécurité →