Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
hush — Regole di sicurezza portatili per il confine d'azione degli agenti di IA | Kitploit
Strumenti/GitHubGitHub/backbay-labs/hush
Sicurezza CloudDevSecOpsRilevamento SegretiThreat IntelligenceSicurezza della Supply ChainRisposta agli IncidentiSicurezza dell'IA
GitHubbackbay-labs/hush

hush

Regole di sicurezza portatili per il confine d'azione degli agenti di IA

Vedi Repository
2311 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

HushSpec

Specifica portabile e aperta per le regole di sicurezza degli agenti AI

CI Licenza Versione specifica crates.io npm PyPI

Specifica · Documentazione · Ruleset · JSON Schema


HushSpec è un formato di policy aperto per le regole di sicurezza degli agenti AI. Definisce cosa un agente può fare in esecuzione, inclusi accesso al filesystem, traffico di rete in uscita, uso di strumenti, rilevamento di segreti e altro, senza prescrivere come questi controlli devono essere applicati. Questa separazione rende le policy portatili tra ambienti di esecuzione, framework e linguaggi.

v0.1.1-alpha — La specifica principale, tutti e quattro gli SDK (Rust, TypeScript, Python, Go) e la CLI h2h sono pubblicati e funzionanti. Analizza, valida, valuta, unisci, risolvi, rileva, firma e controlla attraverso 10 tipi di regole e 3 moduli di estensione. La superficie API si sta stabilizzando ma non è ancora congelata — aspettati perfezionamenti prima della v1.0.

Esempio Rapido

root@kitploit:~
hushspec: "0.1.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:
    block: [shell_exec, run_command]
    require_confirmation: [file_write, git_push]
    default: allow

  secret_patterns:
    patterns:
      - name: aws_key
        pattern: "AKIA[0-9A-Z]{16}"
        severity: critical
    skip_paths: ["**/test/**"]

  shell_commands:
    forbidden_patterns:
      - "rm\\s+-rf\\s+/"
      - "curl.*\\|.*bash"

Conformità SDK

Tutti e quattro gli SDK implementano l'intera pipeline HushSpec, dall'analisi e validazione fino alla risoluzione e valutazione.

Installazione

CLI

Homebrew, npm e binari precompilati diventano disponibili a partire dal primo tag v0.x costruito dalla pipeline di rilascio, una volta che la pipeline pubblica artefatti, la formula del tap e i pacchetti npm. Fino ad allora, installa tramite Cargo.

Tutti i metodi installano il comando h2h. Vedi CLI Tool sotto.

Rust

root@kitploit:~
[dependencies]
hushspec = "0.1"

TypeScript

root@kitploit:~
npm install @hushspec/core

Python

root@kitploit:~
pip install hushspec

Go

root@kitploit:~
go get github.com/backbay-labs/hush/packages/go@main

Primi Passi

Rust

root@kitploit:~
use hushspec::HushSpec;

let yaml_str = "hushspec: \"0.1.0\"\nname: example\n";
let spec = HushSpec::parse(yaml_str)?;
let result = hushspec::validate(&spec);
assert!(result.is_valid());

TypeScript

root@kitploit:~
import { parseOrThrow, validate } from '@hushspec/core';

const yamlString = 'hushspec: "0.1.0"\nname: example\n';
const spec = parseOrThrow(yamlString);
const result = validate(spec);
console.log(result.valid); // true

Python

root@kitploit:~
from hushspec import parse_or_raise, validate

yaml_string = 'hushspec: "0.1.0"\nname: example\n'
spec = parse_or_raise(yaml_string)
result = validate(spec)
assert result.is_valid

Go

root@kitploit:~
import (
    "fmt"

    "github.com/backbay-labs/hush/packages/go/hushspec"
)

yamlString := "hushspec: \"0.1.0\"\nname: example\n"
spec, err := hushspec.Parse(yamlString)
if err != nil {
    panic(err)
}
result := hushspec.Validate(spec)
fmt.Println(result.IsValid())

Valutazione

Ogni SDK espone una funzione evaluate() che accetta una specifica analizzata e un'azione, quindi restituisce una decisione (allow, warn, o deny) più i dettagli della regola corrispondente.

root@kitploit:~
import { parseOrThrow, evaluate } from '@hushspec/core';

const spec = parseOrThrow(policyYaml);
const result = evaluate(spec, { type: 'egress', target: 'api.openai.com' });
// result.decision === 'allow' | 'warn' | 'deny'
// result.matched_rule === 'egress'
root@kitploit:~
from hushspec import parse_or_raise, evaluate

spec = parse_or_raise(policy_yaml)
result = evaluate(spec, {"type": "egress", "target": "api.openai.com"})
assert result.decision in ("allow", "warn", "deny")

Middleware HushGuard

HushGuard incapsula il caricamento e la valutazione delle policy dietro un'interfaccia semplice evaluate, check e enforce per il codice applicativo.

root@kitploit:~
import { HushGuard } from '@hushspec/core';

const guard = HushGuard.fromFile('./policy.yaml');
guard.enforce({ type: 'tool_call', target: 'bash' }); // lancia HushSpecDenied se negato
root@kitploit:~
from hushspec import HushGuard

guard = HushGuard.from_file("./policy.yaml")
guard.enforce({"type": "tool_call", "target": "bash"})  # solleva HushSpecDenied se negato

CLI Tool

La CLI h2h copre il flusso di lavoro comune delle policy: valida, testa, valuta e spiega singole azioni, lint, diff, formatta, inizializza, firma, verifica e attiva la modalità panico.

root@kitploit:~
# Valida una policy rispetto allo schema HushSpec
h2h validate policy.yaml

# Esegui suite di test di valutazione
h2h test --fixtures ./tests/

# Valuta un'azione e spiega la decisione
h2h eval policy.yaml --type egress --target api.example.com
h2h explain policy.yaml --type egress --target api.example.com

# Analisi statica e linting
h2h lint policy.yaml

# Lint e correzione automatica di problemi neutri per la decisione
h2h lint policy.yaml --fix

# Confronta due policy e mostra le modifiche effettive delle decisioni
h2h diff old.yaml new.yaml

# Formatta i file delle policy in modo canonico
h2h fmt policy.yaml

# Crea scaffolding di un nuovo progetto di policy
h2h init --preset default

# Firma una policy con Ed25519
h2h sign policy.yaml --key h2h.key

# Verifica la firma di una policy
h2h verify policy.yaml --key h2h.pub

# Genera una nuova coppia di chiavi Ed25519
h2h keygen

# Override di emergenza (kill switch nega-tutto)
h2h panic activate --sentinel /tmp/hushspec.panic
h2h panic deactivate --sentinel /tmp/hushspec.panic

Vedi Installazione sopra per le opzioni di installazione — Homebrew, npm, Cargo o binari precompilati.

Ricevute di Decisione (Tracciato di Controllo)

evaluate_audited() genera ricevute di decisione strutturate con tracce delle regole, riepiloghi delle policy e redazione opzionale del contenuto. Le ricevute sono conformi a hushspec-receipt.v0.schema.json e sono progettate per supportare ambienti pesanti di auditing come SOC 2, HIPAA, PCI-DSS e FedRAMP.

root@kitploit:~
import { parseOrThrow, evaluateAudited } from '@hushspec/core';

const spec = parseOrThrow(policyYaml);
const receipt = evaluateAudited(spec, action, {
  enabled: true,
  include_rule_trace: true,
  redact_content: false,
});
// receipt.decision, receipt.rule_evaluations, receipt.policy_summary

Le destinazioni delle ricevute (FileReceiptSink, ConsoleReceiptSink, FilteredSink, MultiSink, CallbackSink) sono disponibili in tutti e quattro gli SDK per instradare le ricevute verso storage, logging o endpoint OTLP.

Pipeline di Rilevamento

La pipeline di rilevamento aggancia i controlli di injection di prompt, jailbreak ed esfiltrazione nel flusso di valutazione. I rilevatori di riferimento basati su regex sono forniti con tutti gli SDK, e rilevatori personalizzati possono essere registrati tramite DetectorRegistry.

root@kitploit:~
import { parseOrThrow, evaluateWithDetection, DetectorRegistry } from '@hushspec/core';

const registry = DetectorRegistry.withDefaults();
const result = evaluateWithDetection(spec, action, registry, {
  enabled: true,
  prompt_injection_threshold: 0.5,
});
// result.detection_results contiene pattern corrispondenti e punteggi di confidenza
Adattatori per Framework

Adattatori predefiniti traducono chiamate a strumenti specifici del framework in azioni di valutazione HushSpec.

Osservabilità

L'interfaccia EvaluationObserver e il wrapper ObservableEvaluator emettono eventi strutturati per ogni valutazione, caricamento e ricaricamento della policy. Gli observer incorporati includono JsonLineObserver, ConsoleObserver e MetricsCollector.

root@kitploit:~
import { ObservableEvaluator, JsonLineObserver, MetricsCollector } from '@hushspec/core';

const evaluator = new ObservableEvaluator();
evaluator.addObserver(new JsonLineObserver(process.stderr));
evaluator.addObserver(new MetricsCollector());
const result = evaluator.evaluate(spec, action);
Firma delle Policy

Le policy possono essere firmate con chiavi Ed25519 e verificate al momento del caricamento. La CLI fornisce i comandi sign, verify e keygen. Il formato della firma è conforme a hushspec-signature.v0.schema.json.

root@kitploit:~
# Genera una coppia di chiavi
h2h keygen --output-dir mykeys

# Firma una policy (crea policy.yaml.sig)
h2h sign policy.yaml --key mykeys/h2h.key

# Verifica la firma
h2h verify policy.yaml --key mykeys/h2h.pub
Override di Emergenza (Modalità Panico)

La modalità panico è un kill switch nega-tutto che può essere attivato immediatamente senza ridistribuire le policy. Puoi attivarlo con un file sentinella, la CLI o una chiamata API. Mentre la modalità panico è attiva, ogni valutazione restituisce deny.

root@kitploit:~
# Attiva la modalità panico
h2h panic activate --sentinel /tmp/hushspec.panic

# Disattiva
h2h panic deactivate --sentinel /tmp/hushspec.panic
root@kitploit:~
import { activatePanic, deactivatePanic, isPanicActive } from '@hushspec/core';

activatePanic();
// Tutte le chiamate evaluate() ora restituiscono deny
deactivatePanic();
Caricamento delle Policy e Ricarica a Caldo

Le policy possono essere caricate da file locali, URL HTTPS (con caching ETag e protezione SSRF) o ruleset incorporati. PolicyWatcher e PolicyPoller supportano la ricarica a caldo senza riavviare il processo.

root@kitploit:~
import { PolicyWatcher, HushGuard } from '@hushspec/core';

const guard = HushGuard.fromFile('./policy.yaml');
const watcher = new PolicyWatcher('./policy.yaml', {
  onChange: (newSpec) => guard.swapPolicy(newSpec),
});
watcher.start();

10 Regole Principali

Estensioni

HushSpec supporta moduli di estensione opzionali per un comportamento di policy più avanzato:

EstensioneScopo
PostureMacchina a stati dichiarativa per capacità e budget
OriginsProiezione delle policy sensibile all'origine (Slack, GitHub, email, ecc.)
DetectionConfigurazione delle soglie per injection di prompt, jailbreak, intelligence delle minacce
root@kitploit:~
extensions:
  posture:
    initial: standard
    states:
      standard: { capabilities: [file_access, egress] }
      restricted: { capabilities: [file_access] }
    transitions:
      - { from: "*", to: restricted, on: critical_violation }
  detection:
    prompt_injection:
      block_at_or_above: high

Ruleset Incorporati

Le policy pronte all'uso si trovano in rulesets/:

Utilizzo con Clawdstrike

I documenti HushSpec vengono caricati nativamente in Clawdstrike:

root@kitploit:~
// Rileva automaticamente il formato HushSpec o Clawdstrike nativo
let policy = clawdstrike::Policy::from_yaml_auto(yaml)?;
root@kitploit:~
# Converti tra formati
hush policy migrate policy.yaml --to hushspec

Struttura del Repository

root@kitploit:~
spec/              Specifica normativa, inclusi documenti principali e di estensione
schemas/           Definizioni JSON Schema
crates/            Crate Rust
  hushspec/          Libreria principale: analisi, validazione, unione, risoluzione, valutazione, rilevamento, firma
  hushspec-cli/      CLI tool
  hushspec-testkit/  Esecutore di test di conformità
packages/          SDK linguistici per TypeScript, Python e Go
rulesets/          Ruleset di sicurezza incorporati
fixtures/          Fixture di conformità e valutazione
docs/              Sito di documentazione mdBook
generated/         Artefatti di contratto SDK condiviso generati
scripts/           Generazione di codice e tooling CI

Principi di Progettazione

  • Fail-closed: I campi sconosciuti vengono rifiutati e i documenti non validi falliscono con errori espliciti.
  • Senza stato: Le regole principali sono dichiarazioni pure senza stato di runtime.
  • Neutrale rispetto al motore: La specifica non richiede un motore di enforcement, rilevatore o modello di plugin specifico.
  • Estendibile: Posture, origini e rilevamento rimangono opzionali senza gonfiare il formato principale.

Specifica

La specifica normativa si trova in spec/. Le definizioni JSON Schema per la validazione programmatica sono in schemas/. La documentazione completa è in docs/.

Licenza

Apache-2.0. Vedi LICENSE.

Scarica lo strumento
CapacitàRustTypeScriptPythonGo
Analisi + Validazione (Livello 1)SìSìSìSì
Unione (Livello 2)SìSìSìSì
Risoluzione (Livello 2+)SìSìSìSì
Valutazione (Livello 3)SìSìSìSì
Tracciato di Controllo (Livello 4)SìSìSìSì
RilevamentoSìSìSìSì
OsservabilitàSìSìSìSì
Destinazione RicevuteSìSìSìSì
MetodoComando
Homebrew (macOS/Linux)brew install backbay-labs/tap/h2h
npmnpm install -g @hushspec/cli (o npx @hushspec/cli validate policy.yaml)
Cargo (da sorgente)cargo install hushspec-cli
Binari precompilatiGitHub Releases — h2h-<tag>-<target>.tar.gz + SHA256SUMS, attestazione di provenienza
FrameworkAdattatoreSDK
Claude / AnthropicmapClaudeToolToAction, createSecureToolHandlerTypeScript
OpenAImapOpenAIToolCall, createOpenAIGuardTypeScript
MCP (Model Context Protocol)mapMCPToolCall, createMCPGuardTypeScript
root@kitploit:~
import { HushGuard, mapClaudeToolToAction } from '@hushspec/core';

const guard = HushGuard.fromFile('./policy.yaml');
const action = mapClaudeToolToAction(toolUseBlock);
guard.enforce(action);
RegolaScopo
forbidden_pathsBlocca l'accesso a percorsi del filesystem sensibili
path_allowlistAccesso in lettura/scrittura/patch basato su lista consentita
egressControllo del traffico di rete in uscita per dominio
secret_patternsRileva segreti nel contenuto dei file
patch_integrityValida la sicurezza dei diff (limiti di dimensione, pattern vietati)
shell_commandsBlocca comandi shell pericolosi
tool_accessControlla le invocazioni di strumenti/MCP
computer_useControlla le azioni CUA
remote_desktop_channelsControlla i canali laterali del desktop remoto
input_injectionControlla le capacità di injection di input
RulesetDescrizione
defaultSicurezza bilanciata per l'esecuzione di agenti AI
strictMassima sicurezza, permessi minimi
permissiveAdatto allo sviluppo, limiti rilassati
ai-agentOttimizzato per assistenti di codifica AI
cicdSicurezza della pipeline CI/CD
remote-desktopSessioni di agenti per uso computer
panicOverride di emergenza nega-tutto