Built to not be compromised.

ThreatClaw is an open source cybersecurity agent written in Rust, with a signed isolated sandbox, 5 security pillars compiled into the binary, and a self-assessed 9/9 coverage against OWASP ASI 2026 (no third-party audit yet).

The language, Rust

Not an aesthetic choice. Rust eliminates at compile time entire categories of vulnerabilities that represent 70% of critical CVEs in system software.

Zero buffer overflow

Impossible by construction, the compiler refuses all out-of-bounds memory access

Zero use-after-free

The borrow checker forbids it at compile time, no garbage collector needed

Zero race condition

Concurrency is safe by default, the type system guarantees exclusive access

Zero null pointer

The Option<T> type forces explicit handling of missing values

NSA, CISA and Microsoft have recommended Rust for critical security software since 2023. ThreatClaw's core cannot have these bugs, not because we looked for them, but because Rust won't let them exist.

The isolated sandbox, inherited from IronClaw, hardened

Each skill runs in an isolated sandbox with:

1

Fuel metering

CPU limit per execution, impossible to saturate the system

2

Capabilities opt-in

A skill declares what it needs (network, filesystem, secrets). By default: nothing. network=false means a compromised skill cannot exfiltrate data

3

Leak detector

Each sandbox output is scanned before leaving the isolated environment. If a credential leaks in a response, it's blocked

4

Cryptographic signature

Each skill is signed. A modified file won't load

The 5 ReAct pillars, OWASP ASI 2026

What sets ThreatClaw apart from all other agents:

I

Immutable Soul

OWASP ASI01, Goal Hijacking

AGENT_SOUL.toml verified by SHA-256 fingerprint compiled into the Rust binary. Locked at runtime, any hot tampering trips the kill switch. Open source code: an operator can recompile a custom Soul, but that's a deliberate, auditable act that changes the fingerprint.

II

Remediation Whitelist

OWASP ASI02, Tool Misuse

44+ pre-validated commands, defined in Rust, unmodifiable by the LLM. Each command has: risk level, reversibility, forbidden targets (root, threatclaw itself). Zero arbitrary shell.

III

Anti-injection XML wrapper

OWASP ASI01, Indirect Injection

Each tool output is wrapped before reaching the LLM. 25+ cyber-specific injection patterns detected and blocked ("ignore previous instructions", "mark as false positive", etc.). Data stays data, never orders.

IV

Signed Memory

OWASP ASI06, Memory Poisoning

Each signed conversational memory entry is protected by cryptographic signature. Tools can only read, never write. Any external modification is detected on the next cycle.

V

Kill switch

OWASP ASI08/ASI10

8 automatic shutdown triggers: off-whitelist attempt, soul modification, targeting its own containers, autonomy timeout, behavioral anomaly, manual CISO trigger. On engagement: atomic stop + forensic snapshot + immediate Slack alert.

The Rust anonymizer, default layer before any cloud LLM (extensible)

Before each call to the anonymized cloud LLM, all data passes through the anonymizer:

anonymizer, pipeline
IPv4/v6, CIDR subnets[IP_001], [IPV6_001], [CIDR_001]
MAC addresses[MAC_001]
Hostnames, internal URLs[HOST_001], [INTURL_001]
Emails[EMAIL_001]
Phone numbers (international)[PHONE_001]
API keys (AWS, Slack, GitHub, Anthropic, Stripe...)[APIKEY_001]
Bearer tokens, passwords[BEARER_001], [SECRET_001]
DB connection strings[DBCONN_001]
IBAN, SIRET/SIREN, TVA EU[IBAN_001], [SIRET_001], [VAT_001]
File paths, Active Directory, Windows SID[PATH_001], [ADPATH_001], [SID_001]
+ Custom RSSI rules (custom regex)[CUSTOM_001]
Reversible only locally. The cloud LLM never receives real data. Enabled by default for all cloud providers, coded in Rust, not in config.

The immutable audit log

Each agent action is logged in PostgreSQL with:

  • Cryptographic signature of each line
  • Hash of the previous line (blockchain-style chain)
  • SQL trigger that prevents any modification after insertion, even by a DBA
  • Timestamp, who approved, exact parameters, result

Complete forensics in case of incident. NIS2 audit proof.

OWASP ASI Top 10 Compliance, 2026

#RiskStatusHow
ASI01Goal HijackingSoul + XML wrapper
ASI02Tool MisuseWhitelist 44+ cmd
ASI03Identity & PrivilegeHITL + signed audit
ASI04Supply ChainSigned isolated sandbox
ASI05Code ExecutionSandbox fuel-metered
ASI06Memory PoisoningCryptographic signature + read-only
ASI07Inter-AgentN/AN/A, single agent V1
ASI08Cascading FailuresKill switch + timeout
ASI09Excessive TrustDouble confirm High/Critical
ASI10Rogue AgentKill switch 8 triggers
Self-assessed coverage: 9/9 risks addressed. Each risk is covered by a pillar compiled into the binary. No third-party audit yet, the code is public and auditable.

CVE Status, 0 vulnerabilities in the binary

cargo audit from March 21, 2026. 10 CVEs identified, all patched or eliminated.

wasmtime 28 → 36.0.64 CVEs fixed (isolated sandbox)
aws-lc-sys → 0.39.02 CVEs fixed including 1 HIGH 7.4 (TLS)
rustls-webpki → 0.103.101 CVE fixed (certificate verification)
serde_yml → serde_yaml_ng1 CVE eliminated (unsound crate replaced)
testcontainers removed1 CVE eliminated (unused dependency)
libsql out of default1 CVE removed from binary (opt-in feature)
0 CVE in the default binary
View full Threat Model (MITRE ATLAS)
Back to home