
Motor de políticas y EDR para flotas de agentes de IA y estaciones de trabajo de desarrolladores. Monitorea llamadas a herramientas, acceso a archivos, flujos de red y ejecución de procesos con registros de auditoría firmados con Ed25519 y aplicación de cierre por fallo.
EDR para la era del enjambre.
Cerrar en fallo. Firma la verdad.
Estado: beta pre-1.0. Las API públicas son estables; los valores predeterminados pueden endurecerse antes de 1.0.
Clawdstrike es un motor de políticas, un EDR y una cadena de auditoría firmada en un solo binario. Un tool_call de un agente de IA se encuentra en la misma taxonomía de eventos que un file_access, process_exec, network_flow, dylib_load o launch_persistence a nivel de kernel. Un motor de políticas los evalúa. Un gráfico causal firmado con Ed25519 los registra. Los valores predeterminados fallan en modo cerrado.
El mismo motor se distribuye como un crate de Rust, un SDK de TypeScript, un paquete de Python, un módulo de Go, una CLI, un agente EDR de escritorio (macOS Endpoint Security + Network Extension; Linux Tetragon + Hubble) y un plano de control empresarial.
Inicio rápido · Guardas · Políticas · Verificación formal · Empresarial · Principios de diseño
Instala a través de tu gestor de paquetes 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
Crea un proyecto e inicia el daemon:
clawdstrike init --keygen
# escribe policy.yaml, config.toml, keys/clawdstrike.key{,.pub}
clawdstrike daemon start && clawdstrike daemon status
# Status: healthy | Version: 0.2.7 | Uptime: 2s
Tres denegaciones, cada una firmada:
$ clawdstrike check --action-type file --ruleset strict ~/.ssh/id_rsa
BLOQUEADO [Crítico]: Acceso a ruta prohibida: ~/.ssh/id_rsa
$ clawdstrike check --action-type egress --ruleset strict api.openai.com:443
BLOQUEADO [Error]: Salida a api.openai.com bloqueada por política
$ clawdstrike check --action-type mcp --ruleset strict shell_exec
BLOQUEADO [Error]: La herramienta 'shell_exec' está bloqueada por política
Verifica que la política misma compila y es internamente consistente:
$ clawdstrike verify --policy strict
Consistencia: APROBADA (47 fórmulas, 0 conflictos)
Completitud: APROBADA (4/4 tipos de acción cubiertos)
Herencia: APROBADA (0 prohibiciones debilitadas)
Ejecuta un agente real bajo cumplimiento:
clawdstrike run --policy clawdstrike:strict -- python my_agent.py
El agente se ejecuta con normalidad. Cada llamada a herramienta pasa primero por el motor. Las denegaciones generan un error tipado en tu SDK y emiten un recibo firmado.
Para despliegues de flota, instala el Helm chart. hushd y los firmantes Spine fallan en modo cerrado y necesitan claves en el momento de la instalación, así que crea previamente los Secretos y haz referencia a ellos desde el 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
Eso levanta hushd, el checkpoint+witness de Spine, y el NATS JetStream incluido. La API de Control (inscripción, comandos de postura, paquetes firmados de finalización devueltos) y los puentes de telemetría Tetragon/Hubble son opcionales.
Consulta el README del chart para el conjunto completo de parámetros, y la Inscripción empresarial para la incorporación de agentes de extremo a extremo.
flowchart LR
A[Agente / sensor] --> B[Evento canónico]
B --> C[Motor de políticas + pila de guardas]
C -->|permitir| D[La acción se ejecuta]
C -->|denegar| E[BLOQUEADO, fallo cerrado]
C --> F[Recibo Ed25519]
F --> G[Gráfico causal]
G -.->|empresarial| H[Cadena de auditoría Spine]
Los adaptadores SDK y los sensores a nivel de SO alimentan el mismo evento canónico al motor de políticas. Los adaptadores cubren las llamadas a herramientas de los agentes de IA; los sensores del kernel (macOS Endpoint Security y Network Extension, Linux Tetragon y Hubble) cubren eventos de archivos, procesos, red, dylib y persistencia. La pila de guardas devuelve un veredicto, el veredicto se envía con un recibo Ed25519, y cada recibo se hashea por contenido en un gráfico causal por sesión que vincula la identidad del agente a través de los eventos del SO posteriores.
Cuando una decisión cruza un umbral de respuesta, el motor emite un efecto firmado: poner en cuarentena un archivo, restringir un destino de salida, suspender un árbol de procesos, revocar una aprobación emitida previamente. Los efectos son reversibles cuando es posible. Las observaciones pasadas permanecen en un registrador de vuelo respaldado en disco, de modo que una política endurecida se puede simular contra el estado de la semana pasada antes de enviarse. En modo empresarial, la cadena de recibos se envía a través de NATS al checkpoint Spine; un testigo independiente co-firma cada lote.
Los registros son historias; la prueba es una firma.
Cada guarda es una comprobación componible en el límite de la herramienta. Devuelve un veredicto con evidencia. Fallo rápido o agregado; configurado por política.