Construído para não ser comprometido.

ThreatClaw é um agente de cibersegurança open source escrito em Rust, com uma sandbox isolada assinada, 5 pilares de segurança compilados no binário e uma cobertura auto-avaliada 9/9 em relação ao OWASP ASI 2026 (sem auditoria de terceiros até o momento).

A linguagem, Rust

Não é uma escolha estética. Rust elimina em tempo de compilação categorias inteiras de vulnerabilidades que representam 70% das CVEs críticas em software de sistema.

Zero buffer overflow

Impossível por construção, o compilador recusa qualquer acesso à memória fora dos limites

Zero use-after-free

O borrow checker o proíbe em tempo de compilação, sem necessidade de garbage collector

Zero race condition

A concorrência é segura por padrão, o sistema de tipos garante o acesso exclusivo

Zero null pointer

O tipo Option<T> força o tratamento explícito da ausência de valor

A NSA, a CISA e a Microsoft recomendam Rust para software de segurança crítico desde 2023. O core do ThreatClaw não pode ter esses bugs, não porque os procuramos, mas porque o Rust não os deixa existir.

A sandbox isolada, herdada do IronClaw, reforçada

Cada skill é executada em uma sandbox isolada com:

1

Fuel metering

Limite de CPU por execução, impossível saturar o sistema

2

Capabilities opt-in

Uma skill declara o que precisa (network, filesystem, secrets). Por padrão: nada. network=false significa que uma skill comprometida não pode exfiltrar dados

3

Leak detector

Cada saída da sandbox é verificada antes de deixar o ambiente isolado. Se uma credencial vazar em uma resposta, ela é bloqueada

4

Assinatura criptográfica

Cada skill é assinada. Um arquivo modificado não é carregado

Os 5 pilares ReAct, OWASP ASI 2026

O que diferencia o ThreatClaw de todos os outros agentes:

I

Soul imutável

OWASP ASI01, Goal Hijacking

AGENT_SOUL.toml verificado por impressão digital SHA-256 compilada no binário Rust. Bloqueado em runtime, qualquer alteração a quente aciona o kill switch. Código open source: um operador pode recompilar um Soul personalizado, mas é um ato voluntário, auditável e que altera a impressão digital.

II

Whitelist de remediação

OWASP ASI02, Tool Misuse

44+ comandos pré-validados, definidos em Rust, não modificáveis pelo LLM. Cada comando tem: nível de risco, reversibilidade, alvos proibidos (root, o próprio threatclaw). Zero shell arbitrário.

III

XML wrapper anti-injeção

OWASP ASI01, Indirect Injection

Cada saída de ferramenta é encapsulada antes de chegar ao LLM. 25+ padrões de injeção específicos de cibersegurança detectados e bloqueados ("ignore previous instructions", "mark as false positive", etc.). Os dados permanecem dados, nunca ordens.

IV

Memória assinada

OWASP ASI06, Memory Poisoning

Cada entrada de memória conversacional assinada é protegida por assinatura criptográfica. As ferramentas só podem ler, nunca escrever. Qualquer modificação externa é detectada no próximo ciclo.

V

Kill switch

OWASP ASI08/ASI10

8 gatilhos de parada automática: tentativa fora da whitelist, modificação do soul, ataque aos próprios containers, timeout de autonomia, anomalia comportamental, acionamento manual RSSI. Ao ser acionado: parada atômica + snapshot forense + alerta Slack imediato.

O anonimizador Rust, camada padrão antes de qualquer LLM na nuvem (extensível)

Antes de cada chamada ao LLM na nuvem anonimizado, todos os dados passam pelo anonimizador:

anonymizer, pipeline
IPs v4/v6, sub-redes CIDR[IP_001], [IPV6_001], [CIDR_001]
Endereços MAC[MAC_001]
Hostnames, URLs internas[HOST_001], [INTURL_001]
Emails[EMAIL_001]
Telefones (internacional)[PHONE_001]
Chaves API (AWS, Slack, GitHub, Anthropic, Stripe...)[APIKEY_001]
Bearer tokens, passwords[BEARER_001], [SECRET_001]
Strings de conexão DB[DBCONN_001]
IBAN, SIRET/SIREN, TVA EU[IBAN_001], [SIRET_001], [VAT_001]
Caminhos de arquivos, Active Directory, SID Windows[PATH_001], [ADPATH_001], [SID_001]
+ Regras custom RSSI (regex personalizadas)[CUSTOM_001]
Reversível apenas localmente. O LLM na nuvem nunca recebe dados reais. Ativado por padrão para todos os provedores de nuvem, codificado em Rust, não na configuração.

O log de auditoria imutável

Cada ação do agente é registrada no PostgreSQL com:

  • Assinatura criptográfica de cada linha
  • Hash da linha anterior (cadeia tipo blockchain)
  • Trigger SQL que impede qualquer modificação após a inserção, mesmo por um DBA
  • Registro de data e hora, quem aprovou, parâmetros exatos, resultado

Forense completa em caso de incidente. Prova de auditoria NIS2.

Conformidade OWASP ASI Top 10, 2026

#RiscoStatusComo
ASI01Goal HijackingSoul + XML wrapper
ASI02Tool MisuseWhitelist 44+ cmd
ASI03Identity & PrivilegeHITL + auditoria assinada
ASI04Supply ChainSandbox isolada assinada
ASI05Code ExecutionSandbox fuel-metered
ASI06Memory PoisoningAssinatura criptográfica + read-only
ASI07Inter-AgentN/AN/A, agente único V1
ASI08Cascading FailuresKill switch + timeout
ASI09Excessive TrustDupla confirmação High/Critical
ASI10Rogue AgentKill switch 8 triggers
Cobertura auto-avaliada: 9/9 riscos abordados. Cada risco é coberto por um pilar compilado no binário. Sem auditoria de terceiros até o momento, o código é público e auditável.

Status CVE, 0 vulnerabilidades no binário

Auditoria cargo audit de 21 de março de 2026. 10 CVEs identificadas, todas corrigidas ou eliminadas.

wasmtime 28 → 36.0.64 CVEs corrigidas (sandbox isolada)
aws-lc-sys → 0.39.02 CVEs corrigidas, incluindo 1 HIGH 7.4 (TLS)
rustls-webpki → 0.103.101 CVE corrigida (verificação de certificados)
serde_yml → serde_yaml_ng1 CVE eliminada (crate unsound substituída)
testcontainers removido1 CVE eliminada (dependência não utilizada)
libsql fora do padrão1 CVE retirada do binário (feature opt-in)
0 CVE no binário padrão
Consultar o Threat Model completo (MITRE ATLAS)
Voltar ao início