
Regole di sicurezza portatili per il confine d'azione degli agenti di IA
Dai ai tuoi agenti confini che puoi leggere. Ottieni decisioni che puoi verificare.
Cosa · Avvio rapido · Come funziona · SDK · CLI · Policy · Documentazione · Specifica
HushSpec è una specifica aperta per i controlli di sicurezza sotto cui opera un agente AI. Scrivi una policy in YAML, valutala in Rust, TypeScript, Python o Go, e produci ricevute che legano ogni decisione alla policy che ne è alla base.
Copre le cose che gli agenti toccano davvero: file, reti, shell, strumenti, browser
ed esecuzione di codice. La specifica definisce le regole e il loro significato; il tuo runtime
applica il confine tramite HushGuard o una propria integrazione.
| Dichiara | Applica | Dimostra |
|---|---|---|
| YAML verificabile con policy di base riutilizzabili e permessi espliciti. | Decisioni coerenti di allow, warn e deny nel punto dell'azione. | Ricevute delle decisioni, firme delle policy e log verificabili. |
La specifica 1.0.0 è stabile. Il formato del documento, la semantica di valutazione, la forma canonica e i formati di trasmissione sono congelati per la serie 1.x. Consulta la policy di versioning e la matrice di conformità degli SDK per i contratti e la loro copertura di test.
La release 1.0 degli SDK non è ancora pubblicata. Consulta lo stato di consegna per l'implementazione, la qualificazione e le prove di rilascio.
Il controller di conformità esterna sperimentale testa un eseguibile catturato contro il corpus L0-L3 e conserva i suoi input, output e identità. L'adattatore Go è un bring-up first-party, non una qualificazione indipendente del motore o del confine di runtime.
Il coordinatore di invocazione attendibile sperimentale verifica uno strumento MCP qualificato dall'host e i suoi effetti rispetto a uno snapshot di policy autenticato, registra un permesso durevole, quindi effettua il dispatch. Il suo pilot isolato di coding testa modifiche reali, operazioni bloccate e prove di crash. Questa è una dimostrazione first-party con ambito limitato, non un'adozione esterna o un contenimento MCP generale.
Compila la CLI h2h da questo checkout:
cargo install --path crates/hushspec-cli --locked
Salva questo come policy.yaml. Protegge le credenziali, limita l'accesso alla rete
e richiede conferma prima che uno strumento possa scrivere un file o fare push di codice.
hushspec: "1.0.0"
name: production-agent
rules:
forbidden_paths:
patterns: ["**/.ssh/**", "**/.aws/**", "/etc/shadow"]
egress:
allow: ["api.openai.com", "*.anthropic.com", "api.github.com"]
default: block
tool_access:
allow: [file_read, search]
block: [shell_exec, run_command]
require_confirmation: [file_write, git_push]
default: block
Validala, poi prova tre decisioni:
h2h validate policy.yaml
h2h eval policy.yaml --type egress --target api.openai.com
# allow
h2h eval policy.yaml --type tool_call --target shell_exec
# deny
h2h eval policy.yaml --type tool_call --target file_write
# warn: confirmation required
Questi comandi valutano le azioni; non le eseguono. eval esce con
0 per allow, 1 per deny e 4 per warn. Un runtime deve gestire la decisione
prima di effettuare il dispatch dell'azione. Integralo nel tuo agente →
| Metodo | Installazione |
|---|---|
| Cargo | cargo install hushspec-cli |
| Homebrew | brew install backbay-labs/tap/h2h |
| npm | npm install -g @hushspec/cli |
| Binari precompilati | GitHub Releases, con checksum e attestazioni di provenienza |
Gli installer pacchettizzati dipendono dalla pipeline di rilascio che ha pubblicato gli artefatti corrispondenti. L'installazione da sorgente sopra riportata compila direttamente da questo checkout.
Per una policy e una suite di test preimpostate, esegui h2h init --preset default.
Consulta la guida alla prima policy per il flusso di lavoro completo.
HushGuard carica la policy e riunisce valutazione, modalità di applicazione, conferma,
sink delle ricevute e observer. Chiama enforce prima di effettuare il dispatch di uno strumento:
import { HushGuard } from '@hushspec/core';
const guard = HushGuard.fromFile('./policy.yaml');
guard.enforce({ type: 'tool_call', target: 'shell_exec' });
// Throws HushSpecDenied under the quickstart policy.
Una policy che fallisce la verifica della firma richiesta produce un guard rifiutato:
ogni azione viene negata con __hushspec_policy_unverified__. Un hot reload fallito
mantiene in vigore l'ultima policy valida. Campi sconosciuti e documenti non validi vengono
rifiutati esplicitamente.
Il confine di applicazione è responsabilità del runtime. HushSpec fornisce il contratto di policy portabile e le primitive degli SDK per costruirlo. Guida all'integrazione nel runtime →