clawpatrol
에이전트(agents)를 위한 보안 방화벽.
Claw Patrol은 에이전트와 운영 환경(prod) 사이에 위치하여, 와이어(wire) 수준에서 트래픽을 파싱하고 HCL로 작성한 규칙에 따라 각 동작을 제어합니다. 예를 들어, 파괴적인 SQL을 차단하거나, 요청이 Kubernetes에 도달하기 전에 사람이 승인할 때까지 kubectl delete pod을 일시 중지할 수 있습니다.
전체 개요는 clawpatrol.dev를 참조하세요.
설치 (Install)
curl -fsSL https://clawpatrol.dev/install.sh | sh
소스에서 설치: make (Go 및 Node.js 필요).
규칙 (A rule)
저희의 실제 운영 설정(production config)에 사용된 규칙입니다:
rule "k8s-no-secrets" {
endpoint = k8s-prod
condition = "k8s.resource == 'secrets'"
...
조건(Conditions)은 게이트웨이가 프로토콜별로 추출하는 와이어 수준의 사실(wire-level facts)에 대한 CEL 표현식입니다. Postgres / ClickHouse의 경우 SQL 동사(verbs) 및 테이블 이름, Kubernetes의 경우 리소스(resource) / 동사(verb) / 네임스페이스(namespace), HTTP의 경우 메서드(method) / 경로(path) / 헤더(headers) / 본문(body)을 다룹니다. 전체 사실 집합은 설정 참조(config reference)에 있습니다.
실행 (Run)
세 가지 배포 형태가 있으며, 적합한 것을 선택하세요.
clawpatrol gateway config.hcl # 프록시 자체를 실행
clawpatrol join <gateway-url> # 게이트웨이에 참여
clawpatrol run claude # 단일 에이전트의 프로세스 트리(process tree)를 래핑
clawpatrol run은 Linux(netns를 통해) 또는 macOS(NetworkExtension을 통해)에서 프로세스별 터널을 엽니다. 래핑된 명령의 트래픽만 게이트웨이를 통과합니다. clawpatrol join은 호스트 전체를 라우팅하는 WireGuard 터널을 생성합니다. clawpatrol gateway는 프록시로, HCL 설정을 로드하고 WireGuard 또는 Tailscale을 통해 터널링하여 들어오는 클라이언트를 수락하는 단일 바이너리입니다.
clawpatrol.dev/docs/getting-started에서 첫 번째 설정을 엔드 투 엔드(end-to-end)로 안내합니다.
clawpatrol.dev/docs/config-reference는 자동 생성된 필드 참조 문서입니다.
주석이 달린 시작 템플릿은 gateway.example.hcl을 참조하세요.
라이선스 (License)
MIT. LICENSE.md를 참조하세요.