
Sicurezza a livello di esecuzione (ELS) per agenti AI — shell con policy imposte e audit.
Nota per macOS: l'applicazione nativa delle policy su macOS tramite ESF (Endpoint Security Framework) + NE (Network Extension) è in Alpha. Funziona end-to-end — gli eventi di file, processi e rete fluiscono dall'estensione di sistema al motore policy Go — ma aspettatevi spigoli da rifinire e modifiche sostanziali tra le release. Per l'uso in produzione oggi raccomandiamo Linux.
Nota per Windows: stiamo lavorando per far firmare i driver minifilter. Fino ad allora, per l'uso in produzione è pienamente supportata solo la modalità WSL2 di Windows.
Gateway di esecuzione sicuro e controllato da policy per agenti AI.
agentsh si posiziona sotto il tuo agente/strumentazione — intercettando le attività su file, rete, processi e segnali (inclusi gli alberi dei sottoprocessi), applicando la policy che definisci ed emettendo eventi di audit strutturati.
Nota sulle piattaforme: Linux offre l'applicazione completa delle policy (punteggio di sicurezza 100%). macOS ESF+NE (punteggio 90%) è in Alpha — funzionale ma non pronto per la produzione. Windows WSL2 offre la stessa applicazione completa equivalente a Linux (punteggio 100%); il supporto nativo di Windows tramite driver minifilter + AppContainer (punteggio 85%) è in attesa della firma del driver. Consulta la Matrice di confronto piattaforme per i dettagli.
allow, deny, approve (approvazione umana), soft_delete o redirect.db_services dichiaratiI flussi di lavoro degli agenti prima o poi eseguono codice arbitrario (pip install, make test, python script.py). I controlli tradizionali del tipo "chiedi approvazione prima di eseguire un comando" si fermano al confine dello strumento e non possono vedere cosa succede dentro quel comando.
agentsh applica la policy a runtime, quindi il lavoro nascosto svolto dai sottoprocessi rimane governato, registrato e (quando richiesto) approvato.
La maggior parte dei sistemi può negare un'azione. agentsh può anche reindirizzarla (redirect).
Questo significa che quando un agente prova l'approccio sbagliato (o aggiramenti brute-force), la policy può guidarlo verso la strada giusta sostituendo il comando e restituendo indicazioni — mantenendo l'agente sulla strada asfaltata e riducendo i tentativi sprecati.
Esempio: reindirizzare curl verso un wrapper auditato```yaml command_rules:
**Esempio: reindirizza le scritture fuori dall'area di lavoro di nuovo al suo interno**```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'agente vede un'operazione riuscita (non un errore), ma sei tu a controllare dove finiscono effettivamente le cose.
I container isolano la superficie host; agentsh aggiunge visibilità e policy di runtime all'interno del container.
macOS (Homebrew)```bash brew tap canyonroad/tap brew install --cask agentsh
Questa installa il bundle dell'app AgentSH con l'estensione di sistema ESF+NE. Dopo l'installazione ti verrà chiesto di approvare l'estensione di sistema in **Impostazioni di Sistema > Generali > Elementi di Accesso ed Estensioni**.
**Linux (da una Release di GitHub)**
Scarica il file `.deb`, `.rpm` o `.apk` per la tua piattaforma dalla [pagina delle release](https://github.com/erans/agentsh/releases).```bash
# Example for Debian/Ubuntu
sudo dpkg -i agentsh_<VERSION>_linux_amd64.deb
Dalla sorgente (Linux)```bash make build sudo install -m 0755 bin/agentsh bin/agentsh-shell-shim /usr/local/bin
**Dai sorgenti (macOS)**```bash
# ESF+NE mode (full enforcement — Alpha, requires Xcode 15+)
make build-macos-enterprise
Vedi Guida alla build di macOS per istruzioni dettagliate di build su 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
---
### Controlla cosa viene applicato
`agentsh detect` esamina l'host e riporta quali primitive di enforcement sono effettivamente disponibili — seccomp, Landlock, FUSE, eBPF, ptrace, cgroups — raggruppate in punteggi di protezione per dominio oltre alla modalità di sicurezza selezionata. Su host ristretti (Daytona, E2B, classe Firecracker) in cui il listener user-notify di seccomp non può essere installato, riporta la modalità che verrà *effettivamente* applicata anziché quella che il kernel supporta soltanto.```bash
agentsh detect # human-readable protection report
agentsh detect config # emit a config tuned for this host
Consulta Modalità di sicurezza per la matrice delle modalità e i parametri di regolazione.
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)---
### Avvio automatico (nessun passaggio manuale del daemon)
Non è **necessario** avviare `agentsh server` manualmente.