
Sécurité de la couche d'exécution (ELS) pour les agents IA — shell avec application de politiques et audit.
Note macOS : La mise en œuvre native macOS via ESF (Endpoint Security Framework) + NE (Network Extension) est en version Alpha. Elle fonctionne de bout en bout — les événements de fichiers, de processus et de réseau transitent par l'extension système vers le moteur de politique Go — mais attendez-vous à des aspérités et des changements cassants entre les versions. Pour une utilisation en production aujourd'hui, nous recommandons Linux.
Note Windows : Nous travaillons à faire signer les pilotes minifilter. D'ici là, seul le mode Windows WSL2 est entièrement pris en charge pour une utilisation en production.
Passerelle d'exécution sécurisée et supervisée par des politiques pour les agents IA.
agentsh se place sous votre agent/outillage — interceptant les activités fichier, réseau, processus et signal (y compris les arborescences de sous-processus), appliquant la politique que vous définissez et émettant des événements d'audit structurés.
Note plateforme : Linux offre une application complète (score de sécurité 100 %). macOS ESF+NE (score 90 %) est en Alpha — fonctionnel mais pas prêt pour la production. Windows WSL2 offre une application équivalente à Linux (score 100 %) ; le Windows natif via pilote minifilter + AppContainer (score 85 %) est en attente de signature de pilote. Voir la Matrice de comparaison des plateformes pour plus de détails.
allow, deny, approve (approbation humaine), soft_delete ou redirect.db_services déclaréesLes workflows d'agents exécutent finalement du code arbitraire (pip install, make test, python script.py). Les contrôles traditionnels « demander une approbation avant d'exécuter une commande » s'arrêtent à la limite de l'outil et ne peuvent pas voir ce qui se passe à l'intérieur de cette commande.
agentsh applique la politique à l'exécution, de sorte que le travail caché effectué par les sous-processus est toujours régi, journalisé et (le cas échéant) approuvé.
La plupart des systèmes peuvent refuser une action. agentsh peut aussi la rediriger.
Cela signifie que lorsqu'un agent tente la mauvaise approche (ou des solutions de contournement par force brute), la politique peut l'orienter vers le bon chemin en échangeant la commande et en renvoyant des instructions — maintenant l'agent sur la voie pavée et réduisant les tentatives inutiles.
Exemple : rediriger curl vers un wrapper audité```yaml command_rules:
**Exemple : rediriger les écritures en dehors de l'espace de travail vers l'intérieur**```yaml
file_rules:
- name: redirect-outside-writes
paths: ["/home/**", "/tmp/**"]
operations: [write, create]
decision: redirect
redirect_to: "/workspace/.scratch"
message: "Writes outside workspace redirected to /workspace/.scratch"
L'agent voit une opération réussie (pas une erreur), mais vous contrôlez où les choses aboutissent réellement.
Les conteneurs isolent la surface de l'hôte ; agentsh ajoute une visibilité et une politique d'exécution dans le conteneur.
macOS (Homebrew)```bash brew tap canyonroad/tap brew install --cask agentsh
Cela installe le bundle d'applications AgentSH avec l'extension système ESF+NE. Après l'installation, il vous sera demandé d'approuver l'extension système dans **Réglages système > Général > Éléments de connexion et extensions**.
**Linux (à partir d'une version GitHub)**
Téléchargez le `.deb`, `.rpm` ou `.apk` pour votre plateforme depuis la [page des versions](https://github.com/erans/agentsh/releases).```bash
# Example for Debian/Ubuntu
sudo dpkg -i agentsh_<VERSION>_linux_amd64.deb
Depuis les sources (Linux)```bash make build sudo install -m 0755 bin/agentsh bin/agentsh-shell-shim /usr/local/bin
**Depuis les sources (macOS)**```bash
# ESF+NE mode (full enforcement — Alpha, requires Xcode 15+)
make build-macos-enterprise
Voir Guide de construction macOS pour des instructions détaillées de construction sur macOS.
./bin/agentsh server --config configs/server-config.yaml
SID=$(./bin/agentsh session create --workspace . --json | jq -r .id) ./bin/agentsh exec "$SID" -- ls -la
./bin/agentsh exec --output json --events summary "$SID" -- curl https://example.com
---
### Vérifier ce qui est appliqué
`agentsh detect` sonde l'hôte et rapporte quelles primitives d'application sont réellement disponibles — seccomp, Landlock, FUSE, eBPF, ptrace, cgroups — regroupées en scores de protection par domaine ainsi que le mode de sécurité sélectionné. Sur les hôtes restreints (Daytona, E2B, classe Firecracker) où l'écouteur seccomp user-notify ne peut pas s'installer, il rapporte le mode qui sera *réellement* appliqué plutôt que ce que le noyau supporte simplement.```bash
agentsh detect # human-readable protection report
agentsh detect config # emit a config tuned for this host
Voir Modes de sécurité pour la matrice des modes et les réglages fins.
agentsh exec $SID -- <your-command-here>agentsh exec --output json --events summary $SID -- <your-command-here>SID=$(agentsh session create --workspace . --json | jq -r .id)---
### Démarrage automatique (aucune étape manuelle du démon)
Vous n'avez **pas** besoin de démarrer `agentsh server` vous-même.