PATH shims
`nightagent init` posiziona wrapper per binari come `bash`, `git` e `python3`, così i comandi passano prima dal guardian.
Prodotto
Night Agent gira sul computer, intercetta le azioni degli agenti prima dell'esecuzione e applica la policy dove il lavoro accade davvero.
Cosa gira in locale
PATH shims, shell hook e MCP hook
Policy YAML deterministica
Isolamento Docker e audit log firmati
Il prodotto supporta più punti di ingresso, così il controllo non dipende da un solo agente.
`nightagent init` posiziona wrapper per binari come `bash`, `git` e `python3`, così i comandi passano prima dal guardian.
Un hook preexec intercetta i comandi digitati nel terminale prima che la shell li esegua davvero.
`nightagent mcp-hook` intercetta tool call come Bash, Read, Write, Edit, Glob, Grep e WebFetch prima dell'esecuzione.
La policy decide cosa succede. I segnali di rischio aiutano la review ma non scavalcano le regole.
Il lavoro sicuro continua normalmente sul computer.
L'azione viene fermata prima di partire.
L'azione aspetta una conferma manuale.
L'azione continua in Docker invece di toccare l'host.
Il sistema di regole resta deterministico, leggibile e facile da rivedere.
version: 1rules: - id: block_sudo when: action_type: shell command_matches: ["sudo *"] decision: block reason: "sudo disabilitato"
- id: ask_for_ssh_access when: action_type: shell command_matches: ["cat ~/.ssh/*", "scp *"] decision: ask reason: "conferma manuale richiesta"
- id: sandbox_python_scripts when: action_type: shell command_matches: ["python3 *.py"] decision: sandbox sandbox: image: "python:3.12-alpine" network: "none" reason: "esegui in ambiente isolato"
- id: allow_git_status when: action_type: git command_matches: ["git status", "git log *"] decision: allowQuando bloccare è troppo rigido, Night Agent può isolare il lavoro. In ogni caso la decisione resta tracciabile.
{"timestamp":"2026-04-14T08:11:03Z","agent":"claude-code","channel":"mcp_hook","action_type":"shell","command":"sudo rm -rf /tmp/demo","decision":"block","reason":"sudo disabilitato","risk_level":"high","prev_hash":"af91d2...","signature":"9f4c11..."}{"timestamp":"2026-04-14T08:11:09Z","agent":"claude-code","channel":"mcp_hook","action_type":"shell","command":"python3 script.py","decision":"sandbox","sandboxed":true,"sandbox_image":"python:3.12-alpine","network":"none","risk_level":"medium","anomaly_detected":true,"suggestions":["valuta una regola dedicata per python3 *.py"],"prev_hash":"be72aa...","signature":"1b0d83..."}{"timestamp":"2026-04-14T08:11:15Z","agent":"codex","channel":"path_shim","action_type":"git","command":"git status","decision":"allow","risk_level":"low","cloud_synced":true,"prev_hash":"c91ed0...","signature":"53b6fd..."}Night Agent resta vicino all'esecuzione e si adatta ai tool locali esistenti.
Intercetta eventi PreToolUse e applica la policy prima dell'esecuzione delle tool.
Controlla workflow shell-based che girano nell'ambiente locale.
Copre uso diretto della shell e percorsi di esecuzione scriptati con lo stesso layer di policy.