
Motor de políticas e EDR para frotas de agentes de IA e estações de trabalho de desenvolvedores. Monitora chamadas de ferramentas, acesso a arquivos, fluxos de rede e execução de processos com trilhas de auditoria assinadas com Ed25519 e aplicação fail-closed.
EDR para a era do enxame.
Feche com falha. Assine a verdade.
Status: beta pré-1.0. As APIs públicas estão estáveis; os padrões podem ser endurecidos antes da versão 1.0.
Clawdstrike é um mecanismo de políticas, um EDR e uma cadeia de auditoria assinada em um único binário. Um tool_call de um agente de IA está na mesma taxonomia de eventos que um file_access, process_exec, network_flow, dylib_load ou launch_persistence em nível de kernel. Um mecanismo de políticas os avalia. Um grafo causal assinado com Ed25519 os registra. Os padrões fecham com falha.
O mesmo mecanismo é distribuído como uma crate Rust, um SDK TypeScript, um pacote Python, um módulo Go, uma CLI, um agente EDR para desktop (macOS Endpoint Security + Network Extension; Linux Tetragon + Hubble) e um painel de controle corporativo.
Início Rápido · Guardas · Políticas · Verificação Formal · Corporativo · Design
Instale via seu gerenciador de pacotes preferido:
brew install backbay-labs/tap/clawdstrike # macOS, Linux
npm install @clawdstrike/sdk # TypeScript
pip install clawdstrike # Python
cargo add clawdstrike # Rust
go get github.com/backbay-labs/clawdstrike-go
Crie um projeto e inicie o daemon:
clawdstrike init --keygen
# escreve policy.yaml, config.toml, keys/clawdstrike.key{,.pub}
clawdstrike daemon start && clawdstrike daemon status
# Status: healthy | Versão: 0.2.7 | Uptime: 2s
Três negações, cada uma assinada:
$ clawdstrike check --action-type file --ruleset strict ~/.ssh/id_rsa
BLOQUEADO [Crítico]: Acesso a caminho proibido: ~/.ssh/id_rsa
$ clawdstrike check --action-type egress --ruleset strict api.openai.com:443
BLOQUEADO [Erro]: Egresso para api.openai.com bloqueado por política
$ clawdstrike check --action-type mcp --ruleset strict shell_exec
BLOQUEADO [Erro]: Ferramenta 'shell_exec' está bloqueada por política
Verifique se a própria política compila e é internamente consistente:
$ clawdstrike verify --policy strict
Consistência: PASS (47 fórmulas, 0 conflitos)
Completude: PASS (4/4 tipos de ação cobertos)
Herança: PASS (0 proibições enfraquecidas)
Execute um agente real sob aplicação de políticas:
clawdstrike run --policy clawdstrike:strict -- python my_agent.py
O agente executa normalmente. Cada chamada de ferramenta atinge o mecanismo primeiro. As negações geram um erro tipado no seu SDK e emitem um recibo assinado.
Para implantações em frota, instale o Helm chart. hushd e os signatários Spine fecham com falha e precisam de chaves no momento da instalação, então crie previamente os Secrets e faça referência a eles a partir do chart:
NS=clawdstrike-system
kubectl create namespace "$NS"
kubectl -n "$NS" create secret generic clawdstrike-hushd-auth \
--from-literal=CLAWDSTRIKE_API_KEY="$(openssl rand -hex 32)" \
--from-literal=CLAWDSTRIKE_ADMIN_KEY="$(openssl rand -hex 32)" \
--from-literal=CLAWDSTRIKE_AUTH_PEPPER="$(openssl rand -hex 32)"
kubectl -n "$NS" create secret generic clawdstrike-spine \
--from-literal=SPINE_LOG_SEED_HEX="$(openssl rand -hex 32)" \
--from-literal=SPINE_WITNESS_SEED_HEX="$(openssl rand -hex 32)"
helm install clawdstrike \
oci://ghcr.io/backbay-labs/clawdstrike/helm/clawdstrike --version 0.2.0 \
--namespace "$NS" \
--set hushd.auth.existingSecret=clawdstrike-hushd-auth \
--set spine.secrets.existingSecret=clawdstrike-spine
Isso traz hushd, o checkpointer + testemunha Spine e o NATS JetStream agrupado. A API de Controle (inscrição, comandos de postura, pacotes de conclusão assinados) e as pontes de telemetria Tetragon/Hubble são opt-in.
Veja o README do chart para o conjunto completo de parâmetros e Inscrição Corporativa para integração ponta a ponta de agentes.
flowchart LR
A[Agente / sensor] --> B[Evento canônico]
B --> C[Mecanismo de políticas + pilha de guardas]
C -->|permitir| D[Ação executada]
C -->|negar| E[Bloqueado, falha fechada]
C --> F[Recibo Ed25519]
F --> G[Grafo causal]
G -.->|corporativo| H[Cadeia de auditoria Spine]
Adaptadores SDK e sensores de nível de SO alimentam o mesmo evento canônico no mecanismo de políticas. Os adaptadores cobrem chamadas de ferramentas de agentes de IA; sensores de kernel (macOS Endpoint Security e Network Extension, Linux Tetragon e Hubble) cobrem eventos de arquivo, processo, rede, dylib e persistência. A pilha de guardas retorna um veredito, o veredito é enviado com um recibo Ed25519, e cada recibo é hash de conteúdo em um grafo causal por sessão que vincula a identidade do agente através de eventos subsequentes do SO.
Quando uma decisão ultrapassa um limite de resposta, o mecanismo emite um efeito assinado: quarentena de um arquivo, restrição de um destino de egresso, suspensão de uma árvore de processos, revogação de uma aprovação emitida anteriormente. Os efeitos são reversíveis quando possível. Observações passadas permanecem em um gravador de voo baseado em disco, para que uma política endurecida possa ser simulada contra o estado da semana anterior antes de ser implantada. No modo corporativo, a cadeia de recibos é enviada via NATS para o checkpointer Spine; uma testemunha independente co-assina cada lote.
Logs são histórias; prova é uma assinatura.
Cada guarda é uma verificação composável no limite da ferramenta. Retorna um veredito com evidências. Falha rápida ou agrega; configurado por política.