veilletech.fr
25 sept. Feed du jour
#08 DOCKER Article

Docker : les droits d'un agent tiennent dans une image

Une permission qu'on ne peut pas relire, on ne la retire jamais.

Docker publie la Sandbox Kit Specification v3 : les droits d'un agent (domaines, méthodes HTTP, identifiants, volumes) sont déclarés dans une annotation d'image OCI ordinaire, versionnée et signable. Tout élargissement de droits bloque la mise à jour. Seul Docker Sandboxes applique la spécification aujourd'hui.

3 min de lectureintermédiairevidéo 1:20
Partager
Sommaire7 sections
  1. Ce qui se passe
  2. Pourquoi ça compte
  3. Comment c'est construit
  4. Les garde-fous
  5. La limite
  6. Pour essayer
  7. À retenir

Ce qui se passe

Docker a publié le 24 septembre la Sandbox Kit Specification v3, sous licence Apache 2.0, dans le dépôt docker/sandbox-kit-spec. Elle décrit ce qu'un agent, ou n'importe quelle charge, demande à son environnement : réseau, identifiants, volumes, ports, périphériques, skills. Docker annonce en parallèle vouloir confier la spécification à la CNCF.

Pourquoi ça compte

Un agent utile accumule des droits : un montage, un jeton trop large, une règle de pare-feu ouverte faute de temps. Aucun fichier ne les recense. Ils vivent dans des options de docker run, un fichier Compose, une config de CI, la mémoire de quelqu'un. On ne peut ni les relire, ni les comparer d'une semaine à l'autre, ni les retirer proprement. Un Dockerfile décrit le logiciel ; rien ne décrivait ce qu'il attend du monde extérieur.

Comment c'est construit

Extrait du Kit de la CLI GitHub, publié dans le dépôt (Apache 2.0)YAML
capabilities:
  - type: com.docker.sandbox/network-policy@2
    config:
      runtime:
        allow:
          - github.com
          - hosts: [api.github.com]
            methods: [GET, HEAD, POST, PATCH, PUT, DELETE]
        deny:
          - hosts: [api.github.com]
            methods: [DELETE]
            paths: [/repos/**]

L'API GitHub est joignable, mais pas les DELETE sous /repos/** : le refus l'emporte. Le jeton, lui, passe par un proxy. Le runtime insère la vraie valeur dans les requêtes vers les domaines nommés, et l'intérieur du bac à sable ne voit qu'une valeur sentinelle.

Les garde-fous

La limite

Sans runtime conforme, l'annotation est inerte : une image, et aucune règle appliquée. Le seul runtime conforme aujourd'hui est Docker Sandboxes, des microVM qui ont chacune leur noyau, en local ou dans Docker Cloud Sandboxes.

Pour essayer

Terminal
brew install docker/tap/sbx
git clone https://github.com/docker/sandbox-kit-spec
cd sandbox-kit-spec/examples
sbx run ./hello --kit ./gh .

Le Kit de Claude Code fourni dans le dépôt mérite une lecture : il liste les hôtes, l'identifiant, les volumes persistants et les hooks qu'un agent de code réclame réellement.

Source : From Dockerfile to Kit: the Docker Sandboxes Kit Specification, Docker, 24 septembre 2026.