
AI 에이전트 플릿 및 개발자 워크스테이션을 위한 정책 엔진 및 EDR. 도구 호출, 파일 접근, 네트워크 흐름 및 프로세스 실행을 Ed25519 서명 감사 추적 및 fail-closed 시행으로 모니터링합니다.
군집 시대의 EDR.
Fail closed. Sign the truth.
상태: pre-1.0 베타. 공개 API는 안정적입니다. 1.0 이전에 기본값이 더 엄격해질 수 있습니다.
Clawdstrike는 단일 바이너리로 정책 엔진, EDR, 서명된 감사 체인을 제공합니다. AI 에이전트의 tool_call은 커널 수준의 file_access, process_exec, network_flow, dylib_load, launch_persistence와 동일한 이벤트 분류 체계에 속합니다. 하나의 정책 엔진이 이를 평가합니다. 하나의 Ed25519 서명된 인과 그래프가 이를 기록합니다. 기본값은 fail closed입니다.
동일한 엔진이 Rust 크레이트, TypeScript SDK, Python 패키지, Go 모듈, CLI, 데스크톱 EDR 에이전트(macOS Endpoint Security + Network Extension, Linux Tetragon + Hubble) 및 엔터프라이즈 컨트롤 플레인으로 제공됩니다.
빠른 시작 · 가드 · 정책 · 형식 검증 · 엔터프라이즈 · 설계
선호하는 패키지 관리자를 통해 설치하세요:
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
프로젝트를 스캐폴딩하고 데몬을 시작합니다:
clawdstrike init --keygen
# writes policy.yaml, config.toml, keys/clawdstrike.key{,.pub}
clawdstrike daemon start && clawdstrike daemon status
# Status: healthy | Version: 0.2.7 | Uptime: 2s
세 가지 거부, 각각 서명됨:
$ clawdstrike check --action-type file --ruleset strict ~/.ssh/id_rsa
BLOCKED [Critical]: Access to forbidden path: ~/.ssh/id_rsa
$ clawdstrike check --action-type egress --ruleset strict api.openai.com:443
BLOCKED [Error]: Egress to api.openai.com blocked by policy
$ clawdstrike check --action-type mcp --ruleset strict shell_exec
BLOCKED [Error]: Tool 'shell_exec' is blocked by policy
정책 자체가 컴파일되고 내부적으로 일관성이 있는지 확인합니다:
$ clawdstrike verify --policy strict
Consistency: PASS (47 formulas, 0 conflicts)
Completeness: PASS (4/4 action types covered)
Inheritance: PASS (0 weakened prohibitions)
실제 에이전트를 적용 아래에서 실행합니다:
clawdstrike run --policy clawdstrike:strict -- python my_agent.py
에이전트는 정상적으로 실행됩니다. 모든 도구 호출은 먼저 엔진에 도달합니다. 거부 시 SDK에 타입 오류가 발생하고 서명된 영수증이 발행됩니다.
플릿 배포를 위해 Helm 차트를 설치합니다. hushd와 Spine 서명자는 fail-closed이며 설치 시 키가 필요하므로, Secret을 미리 생성하고 차트에서 참조하십시오:
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
이렇게 하면 hushd, Spine 체크포인터 + 증인, 번들 NATS JetStream이 시작됩니다. Control API(등록, 상태 명령, 서명된 완료 번들 반환)와 Tetragon/Hubble 텔레메트리 브리지는 선택 사항입니다.
전체 매개변수 세트는 차트 README를, 엔드투엔드 에이전트 온보딩은 Enterprise 등록을 참조하십시오.
flowchart LR
A[Agent / sensor] --> B[Canonical event]
B --> C[Policy engine + guard stack]
C -->|allow| D[Action runs]
C -->|deny| E[Blocked, fail-closed]
C --> F[Ed25519 receipt]
F --> G[Causal graph]
G -.->|enterprise| H[Spine audit chain]
SDK 어댑터와 OS 수준 센서는 동일한 표준 이벤트를 정책 엔진에 공급합니다. 어댑터는 AI 에이전트 도구 호출을 처리합니다. 커널 센서(macOS Endpoint Security 및 Network Extension, Linux Tetragon 및 Hubble)는 파일, 프로세스, 네트워크, dylib 및 지속성 이벤트를 처리합니다. 가드 스택은 판정을 반환하고, 판정은 Ed25519 영수증과 함께 전송되며, 각 영수증은 에이전트 ID를 하위 OS 이벤트에 연결하는 세션별 인과 그래프로 콘텐츠 해시됩니다.
결정이 응답 임계값을 초과하면 엔진은 서명된 효과를 발행합니다: 파일 격리, 송신 대상 제한, 프로세스 트리 일시 중단, 이전에 발급된 승인 취소. 효과는 가능한 경우 되돌릴 수 있습니다. 과거 관찰 내용은 디스크 기반 플라이트 레코더에 남아 있으므로, 정책을 강화하기 전에 지난 주 상태를 시뮬레이션할 수 있습니다. 엔터프라이즈 모드에서는 영수증 체인이 NATS를 통해 Spine 체크포인터로 전송됩니다. 독립 증인이 각 배치에 공동 서명합니다.
로그는 이야기일 뿐입니다. 증명은 서명입니다.
각 가드는 도구 경계에서 구성 가능한 검사입니다. 증거와 함께 판정을 반환합니다. 빠른 실패 또는 집계, 정책별로 구성됩니다.
출처: crates/libs/clawdstrike/src/guards/.
버전이 지정된 결정론적 정책-코드. 스키마 1.5.0 (1.1.0+와 하위 호환). 내장 정책, 로컬 파일, 원격 URL 및 git ref의 extends를 지원합니다. 원격 extends는 호스트가 허용 목록에 있고 #sha256=<64-hex>를 통해 무결성이 고정됩니다.
내장 규칙 세트: permissive · default · strict · ai-agent · ai-agent-posture · cicd · remote-desktop · remote-desktop-permissive · remote-desktop-strict · spider-sense.
운영 루프(관찰, 합성, 강화):
# 관찰된 이벤트로부터 최소 권한 후보 생성
clawdstrike policy synth run.events.jsonl \
--extends clawdstrike:default --out candidate.yaml
# 후보에 대해 이벤트 재생
clawdstrike policy simulate candidate.yaml run.events.jsonl --fail-on-deny
# 후보와 기준선 비교
clawdstrike policy diff clawdstrike:default candidate.yaml
정책 스키마, 포스처 스키마 및 관찰, 합성, 강화 가이드를 참조하십시오.
정책 엔진의 핵심 결정 로직은 Lean 4로 명세화되었으며, Aeneas 변환 파이프라인을 통해 Rust 구현과 차분 테스트됩니다.
Lean에서 증명됨 (45개 핵심 함수 중 44개에 대해 5가지 속성):
extends 체인이 항상 탐지됨증명 범위 밖: 핵심 결정 로직을 넘어서는 가드, IO, 네트워크, 암호화 기본 요소 자체 (ed25519-dalek에 의존).
clawdstrike verify --policy strict # Z3 정책 분석
cargo test -p formal-diff-tests # 야간 차분 테스트
cd formal/lean4/ClawdStrike && lake build
형식 검증 가이드를 참조하십시오.
모든 판정은 결정, 이를 내린 정책, 증거가 포함된 Ed25519 서명 증명서와 함께 제공됩니다. 영수증은 RFC 8785 JSON 표준화로 표준화되어 Rust, TypeScript, Python에서 서명이 바이트 단위로 동일하게 검증됩니다.
엔터프라이즈 배포는 영수증을 Spine을 통해 전달합니다. 이는 Ed25519 서명 및 해시 체인 봉투 로그입니다. 레코드를 변조하면 이후의 모든 레코드가 검증에 실패합니다.
npm install @clawdstrike/sdk
import { HushEngine, loadPolicy } from "@clawdstrike/sdk";
const engine = new HushEngine(await loadPolicy("clawdstrike:strict"));
const verdict = await engine.check({
actionType: "file",
target: "~/.ssh/id_rsa",
});
// verdict.decision === "deny"
// verdict.receipt is Ed25519-signed
pip install clawdstrike
from clawdstrike import HushEngine, load_policy
engine = HushEngine(load_policy("clawdstrike:strict"))
verdict = engine.check(action_type="file", target="~/.ssh/id_rsa")
# verdict.decision == "deny"
[dependencies]
clawdstrike = "0.2"
use clawdstrike::{HushEngine, Policy, Action, Decision};
let policy = Policy::load_builtin("strict")?;
let engine = HushEngine::new(policy);
let verdict = engine.check(&Action::file("~/.ssh/id_rsa"))?;
assert_eq!(verdict.decision, Decision::Deny);
go get github.com/backbay-labs/clawdstrike-go
engine, _ := clawdstrike.NewEngine(clawdstrike.LoadBuiltin("strict"))
verdict, _ := engine.Check(clawdstrike.FileAction{Target: "~/.ssh/id_rsa"})
// verdict.Decision == clawdstrike.Deny
동일한 엔진에 관리형 컨트롤 플레인이 추가됩니다: Control API, NATS JetStream 전송, Spine 감사 체인, SOC 워크플로우를 위한 Control Console. mTLS를 통한 등록, 요청/응답 승인을 사용한 포스처 명령, 서명된 완료 번들을 API로 반환합니다.
Enterprise 등록 및 적응형 아키텍처를 참조하십시오.
Clawdstrike는 인증된 제품이 아닙니다. 표준 통제 프레임워크에 매핑되는 증거를 생성합니다: 서명된 행동 증명, 무결성 체인 감사 추적, 결정론적 정책 평가.
| Framework | 엔진이 생성하는 증거 |
|---|---|
| SOC 2 (CC6.1, CC7.2) | 논리적 접근 통제 및 서명된 감사 추적 |
| HIPAA §164.312(b) | 부인 방지 영수증이 있는 감사 통제 |
| PCI-DSS 10.5 | 변조 방지, 해시 체인 로그 |
규정 준수 매핑은 초안입니다. 프레임워크 공식화가 필요하면 이슈를 열어주십시오.
Fail closed. 잘못된 정책은 로드 시 거부됩니다. 평가 오류는 접근을 거부합니다. 누락된 구성은 제한적으로 기본 설정됩니다. 보안 저하에는 명시적이고 감사 가능한 조치가 필요합니다.
증명, 로그가 아닙니다. Ed25519 영수증은 암호학적 증명이며, 누군가 편집할 수 있는 로그 라인이 아닙니다. 표준 JSON (RFC 8785)은 서명이 Rust, TypeScript, Python에서 동일하게 검증되도록 보장합니다.
동일한 봉투, 모든 파이프. 서명된 Spine 봉투는 NATS를 통해 100K msg/sec로 전송되든, residential 인터넷을 통한 libp2p gossipsub이든, 1,200 bps LoRa 라디오이든 바이트 단위로 동일합니다. 전송은 진실 계층에 보이지 않습니다.
감쇠만 가능합니다. 에이전트는 자신의 기능 하위 집합을 위임하며, 절대 확대하지 않습니다. 위임 토큰은 암호학적 기능 상한을 갖습니다. 권한 상승은 정책으로 방지되는 것이 아니라 수학으로 방지됩니다.
스택을 소유하십시오. Apache-2.0. 자체 호스팅 가능. 보안 중요 인프라에 대한 공급업체 종속성 없음. 동일한 엔진이 개발자 노트북, 엔터프라이즈 플릿, 라디오 메쉬의 Raspberry Pi에서 실행됩니다.
취약점을 발견한 경우:
security 레이블을 사용하여 GitHub 이슈를 엽니다.SECURITY.md 및 THREAT_MODEL.md를 참조하십시오.
CONTRIBUTING.md를 참조하십시오.
cargo fmt --all && cargo clippy --workspace -- -D warnings && cargo test --workspace
Apache License 2.0. LICENSE를 참조하십시오.
| Guard | 탐지 대상 |
|---|
ForbiddenPathGuard | .ssh, .env, .aws, 자격 증명 저장소, 레지스트리 하이브 접근 |
PathAllowlistGuard | 최소 권한 에이전트를 위한 허용된 파일 접근 |
EgressAllowlistGuard | 도메인별 아웃바운드 네트워크 호출 (기본 거부 또는 허용 목록) |
SecretLeakGuard | 파일 쓰기 내 AWS 키, GitHub 토큰, 개인 키, API 비밀 |
PatchIntegrityGuard | rm -rf /, chmod 777, disable security와 같은 위험한 패치 |
ShellCommandGuard | 실행 전 위험한 셸 명령어 |
McpToolGuard | MCP 도구 호출, 확인 게이트 포함 |
PromptInjectionGuard | 신뢰할 수 없는 입력에서의 인젝션 공격 |
JailbreakGuard | 4계층 탐지: 휴리스틱 + 통계 + ML + 선택적 LLM 판정 |
ComputerUseGuard | CUA 작업: 원격 세션, 클립보드, 입력 인젝션, 파일 전송 |
RemoteDesktopSideChannelGuard | CUA 세션 내 클립보드, 오디오, 드라이브 매핑, 파일 전송 |
InputInjectionCapabilityGuard | CUA 환경을 위한 입력 인젝션 기능 제한 |
SpiderSenseGuard | 계층적 위협 스크리닝: 벡터 유사성, 선택적 LLM 에스컬레이션 |
| Plugin | 설치 |
|---|
| Claude Code | clawdstrike-plugin/ |
| Cursor | cursor-plugin/ |
| OpenClaw 어댑터 | npm install @clawdstrike/openclaw (가이드) |
| 데스크톱 에이전트 | apps/agent/ |
| 시작하기 | Rust · TypeScript · Python |
| 개념 | 설계 철학 · 적용 계층 · 다중 언어 |
| 프레임워크 가이드 | OpenAI · Claude · Vercel AI · LangChain · OpenClaw |
| 참조 | 가드 · 정책 스키마 · Repo Map |
| 엔터프라이즈 | 등록 가이드 · 적응형 아키텍처 |