Costruito per non essere compromesso.

ThreatClaw è un agente di cybersecurity open source scritto in Rust, con una sandbox isolata firmata, 5 pilastri di sicurezza compilati nel binario e una copertura auto-valutata 9/9 rispetto a OWASP ASI 2026 (nessun audit di terze parti al momento).

Il linguaggio, Rust

Non è una scelta estetica. Rust elimina in fase di compilazione intere categorie di vulnerabilità che rappresentano il 70% delle CVE critiche nel software di sistema.

Zero buffer overflow

Impossibile per costruzione, il compilatore rifiuta ogni accesso alla memoria fuori dai limiti

Zero use-after-free

Il borrow checker lo vieta in fase di compilazione, senza bisogno di garbage collector

Zero race condition

La concorrenza è sicura per impostazione predefinita, il type system garantisce l'accesso esclusivo

Zero null pointer

Il tipo Option<T> impone la gestione esplicita dell'assenza di valore

NSA, CISA e Microsoft raccomandano Rust per il software di sicurezza critico dal 2023. Il core di ThreatClaw non può avere questi bug, non perché li abbiamo cercati, ma perché Rust non permette loro di esistere.

La sandbox isolata, ereditata da IronClaw, rafforzata

Ogni skill viene eseguita in una sandbox isolata con:

1

Fuel metering

Limite CPU per esecuzione, impossibile saturare il sistema

2

Capabilities opt-in

Una skill dichiara ciò di cui ha bisogno (network, filesystem, secrets). Per impostazione predefinita: nulla. network=false significa che una skill compromessa non può esfiltrare dati

3

Leak detector

Ogni output della sandbox viene scansionato prima di lasciare l'ambiente isolato. Se una credenziale trapela in una risposta, viene bloccata

4

Firma crittografica

Ogni skill è firmata. Un file modificato non viene caricato

I 5 pilastri ReAct, OWASP ASI 2026

Ciò che distingue ThreatClaw da tutti gli altri agenti:

I

Soul immutabile

OWASP ASI01, Goal Hijacking

AGENT_SOUL.toml verificato tramite impronta SHA-256 compilata nel binario Rust. Bloccato a runtime, qualsiasi alterazione a caldo attiva il kill switch. Codice open source: un operatore può ricompilare un Soul personalizzato, ma è un atto volontario, verificabile e che modifica l'impronta.

II

Whitelist di remediation

OWASP ASI02, Tool Misuse

44+ comandi pre-validati, definiti in Rust, non modificabili dal LLM. Ogni comando ha: livello di rischio, reversibilità, target vietati (root, threatclaw stesso). Nessuna shell arbitraria.

III

XML wrapper anti-injection

OWASP ASI01, Indirect Injection

Ogni output di uno strumento viene incapsulato prima di raggiungere il LLM. 25+ pattern di injection specifici della cybersecurity rilevati e bloccati ("ignore previous instructions", "mark as false positive", ecc.). I dati restano dati, mai ordini.

IV

Memoria firmata

OWASP ASI06, Memory Poisoning

Ogni voce di memoria conversazionale firmata è protetta da firma crittografica. Gli strumenti possono solo leggere, mai scrivere. Qualsiasi modifica esterna viene rilevata al ciclo successivo.

V

Kill switch

OWASP ASI08/ASI10

8 trigger di arresto automatico: tentativo fuori whitelist, modifica del soul, presa di mira dei propri container, timeout di autonomia, anomalia comportamentale, attivazione manuale RSSI. All'attivazione: arresto atomico + snapshot forense + avviso Slack immediato.

L'anonimizzatore Rust, livello predefinito prima di qualsiasi LLM cloud (estensibile)

Prima di ogni chiamata al LLM cloud anonimizzato, tutti i dati passano attraverso l'anonimizzatore:

anonymizer, pipeline
IP v4/v6, sottoreti CIDR[IP_001], [IPV6_001], [CIDR_001]
Indirizzi MAC[MAC_001]
Hostname, URL interni[HOST_001], [INTURL_001]
Emails[EMAIL_001]
Numeri di telefono (internazionali)[PHONE_001]
Chiavi API (AWS, Slack, GitHub, Anthropic, Stripe...)[APIKEY_001]
Bearer tokens, passwords[BEARER_001], [SECRET_001]
Stringhe di connessione DB[DBCONN_001]
IBAN, SIRET/SIREN, TVA EU[IBAN_001], [SIRET_001], [VAT_001]
Percorsi file, Active Directory, SID Windows[PATH_001], [ADPATH_001], [SID_001]
+ Regole custom RSSI (regex personalizzate)[CUSTOM_001]
Reversibile solo in locale. Il LLM cloud non riceve mai dati reali. Attivato per impostazione predefinita per ogni provider cloud, codificato in Rust, non nella configurazione.

L'audit log immutabile

Ogni azione dell'agente viene registrata in PostgreSQL con:

  • Firma crittografica di ogni riga
  • Hash della riga precedente (catena tipo blockchain)
  • Trigger SQL che impedisce qualsiasi modifica dopo l'inserimento, anche da parte di un DBA
  • Timestamp, chi ha approvato, parametri esatti, risultato

Forense completa in caso di incidente. Prova di audit NIS2.

Conformità OWASP ASI Top 10, 2026

#RischioStatusCome
ASI01Goal HijackingSoul + XML wrapper
ASI02Tool MisuseWhitelist 44+ cmd
ASI03Identity & PrivilegeHITL + audit firmato
ASI04Supply ChainSandbox isolata firmata
ASI05Code ExecutionSandbox fuel-metered
ASI06Memory PoisoningFirma crittografica + read-only
ASI07Inter-AgentN/AN/A, agente singolo V1
ASI08Cascading FailuresKill switch + timeout
ASI09Excessive TrustDoppia conferma High/Critical
ASI10Rogue AgentKill switch 8 triggers
Copertura auto-valutata: 9/9 rischi affrontati. Ogni rischio è coperto da un pilastro compilato nel binario. Nessun audit di terze parti al momento, il codice è pubblico e verificabile.

Stato CVE, 0 vulnerabilità nel binario

Audit cargo audit del 21 marzo 2026. 10 CVE identificate, tutte corrette o eliminate.

wasmtime 28 → 36.0.64 CVE corrette (sandbox isolata)
aws-lc-sys → 0.39.02 CVE corrette di cui 1 HIGH 7.4 (TLS)
rustls-webpki → 0.103.101 CVE corretta (verifica certificati)
serde_yml → serde_yaml_ng1 CVE eliminata (crate unsound sostituita)
testcontainers rimosso1 CVE eliminata (dipendenza inutilizzata)
libsql fuori dal default1 CVE rimossa dal binario (feature opt-in)
0 CVE nel binario predefinito
Consulta il Threat Model completo (MITRE ATLAS)
Torna alla home