Claw Patrol: AI 에이전트를 위한 보안 방화벽
Show HN: Claw Patrol, a security firewall for agents
TL;DR Highlight
AI 에이전트가 실행하는 SQL, kubectl, HTTP 요청을 프록시에서 가로채 HCL 규칙으로 허용/차단/사람 승인 요청을 할 수 있는 오픈소스 보안 게이트웨이. 에이전트가 프로덕션 환경에서 위험한 작업을 실행하기 전에 제어할 수 있어 중요하다.
Who Should Read
AI 에이전트(Claude, Copilot 등)를 프로덕션 환경에 배포 중인 백엔드/인프라 개발자 중, 에이전트가 DB나 쿠버네티스 같은 중요 시스템에 접근할 때 안전장치가 필요한 경우.
Core Mechanics
- Claw Patrol은 에이전트와 프로덕션 인프라 사이에 위치하는 프록시 형태의 보안 게이트웨이로, 에이전트가 보내는 트래픽을 와이어 레벨에서 파싱해서 규칙에 따라 허용/차단/사람 승인 대기를 결정한다.
- 규칙은 HCL(HashiCorp Configuration Language, Terraform에서도 쓰는 설정 파일 형식)로 작성하고, 조건은 CEL(Common Expression Language) 표현식으로 정의한다. 예를 들어 k8s.resource == 'secrets' 조건이면 Kubernetes secrets 조회를 deny하는 식이다.
- 프로토콜별로 추출하는 정보가 다른데, Postgres/ClickHouse는 SQL 동사(SELECT, DELETE 등)와 테이블명, Kubernetes는 리소스/동사/네임스페이스, HTTP는 메서드/경로/헤더/바디를 파싱해서 조건 평가에 활용한다.
- 배포 방식이 세 가지다. `clawpatrol gateway`는 프록시 서버 자체를 실행하고, `clawpatrol join <gateway-url>`은 WireGuard 터널로 호스트 전체 트래픽을 게이트웨이에 연결하며, `clawpatrol run claude`는 특정 프로세스(에이전트)만 감쌀 수 있다.
- `clawpatrol run`은 Linux에서는 network namespace, macOS에서는 NetworkExtension을 사용해 감싼 프로세스의 트래픽만 게이트웨이를 통하게 한다. 에이전트 프로세스만 격리해서 적용할 수 있는 구조다.
- Deno Land(Deno 런타임 개발사)가 만들었고 MIT 라이선스로 공개되어 있다. GitHub Stars 755개, 설치는 `curl -fsSL https://clawpatrol.dev/install.sh | sh` 한 줄로 가능하다.
- 현재 기본 상태는 default-allow(모두 허용)이며 기본 규칙 세트가 없이 배포된다. 사용자가 직접 규칙을 작성해야 한다.
- human-in-the-loop 기능이 있어서 위험한 작업(예: kubectl delete pod)을 즉시 차단하는 대신 사람이 승인할 때까지 요청을 일시 정지시킬 수 있다.
Evidence
- Agent Vault(github.com/Infisical/agent-vault)와 비슷하지 않냐는 의견이 있었는데, Claw Patrol은 요청 내용 기반 차단/사람 승인 정책에 집중하고, Agent Vault는 자격증명(credential) 암호화와 유출 방지에 집중한다는 점에서 상호 보완적이라는 정리가 나왔다. 'agent → Claw Patrol → Agent Vault → 외부 네트워크' 식으로 레이어를 쌓을 수도 있다는 제안도 있었다.
- agent-vault-proxy(github.com/inflightsec/agent-vault-proxy) 작성자가 직접 댓글을 달아 두 도구를 상호보완적으로 설명했다. Claw Patrol은 액션 방화벽(앞단), agent-vault-proxy는 자격증명 브로커(뒷단)로, 에이전트에게는 플레이스홀더를 주고 프록시가 실제 시크릿으로 교체하는 방식이라고 소개했다.
- '그냥 에이전트에게 읽기 전용 DB 계정을 주면 되지 왜 이런 걸 쓰냐'는 비판적인 의견이 있었다. 서비스 계정과 권한 관리로 이미 해결 가능한 문제를 재발명하는 것 아니냐는 지적인데, 반론은 별도로 달리지 않았다. 에이전트가 접근하는 API가 많고 복잡할수록 각각의 권한을 최소화하는 것보다 중앙 정책으로 제어하는 게 현실적일 수 있다는 맥락이다.
- human-in-the-loop(사람 승인 대기) 기능에 대해 '타임아웃이나 담당자 부재 시 어떻게 처리하냐'는 실용적인 질문이 있었다. 문서나 댓글에서 구체적인 답변은 확인되지 않았다.
- 기본 규칙 세트 없이 default-allow로 배포된다는 점을 지적하며 기본 규칙 세트 제공 계획이 있냐고 묻는 댓글이 있었다. 현재는 사용자가 처음부터 규칙을 직접 작성해야 하는 구조다.
How to Apply
- AI 에이전트가 프로덕션 Kubernetes 클러스터에 접근하는 경우, `clawpatrol run <agent-process>` 명령으로 에이전트 프로세스를 감싸고 `kubectl delete` 같은 위험한 동사에 대해 human-in-the-loop 규칙을 설정하면 실수로 인한 파드/리소스 삭제를 사람 승인 없이는 실행되지 않게 막을 수 있다.
- AI 에이전트가 Postgres DB에 직접 쿼리를 날리는 구조라면, Claw Patrol 게이트웨이를 DB 앞에 두고 `sql.verb == 'DELETE' || sql.verb == 'DROP'` 조건으로 파괴적인 SQL을 deny 처리하는 규칙을 추가하면 에이전트 실수로 인한 데이터 손실을 방어할 수 있다.
- 멀티 테넌트 에이전트 서비스를 운영 중이라면, agent-vault-proxy와 조합해 앞단에서는 Claw Patrol로 요청 내용 기반 정책을 적용하고, 뒷단에서는 agent-vault-proxy로 각 사용자별 자격증명을 안전하게 주입하는 레이어드 아키텍처를 구성할 수 있다.
- Kubernetes secrets 같이 클러스터 밖으로 절대 나가면 안 되는 리소스가 있다면, README에 나온 예시처럼 `k8s.resource == 'secrets'` 조건에 `verdict = "deny"` 규칙을 추가하는 것만으로 에이전트가 시크릿 값을 읽어서 외부로 유출하는 경로를 차단할 수 있다.
Code Example
# 설치
curl -fsSL https://clawpatrol.dev/install.sh | sh
# 실행 방법 3가지
clawpatrol gateway config.hcl # 게이트웨이 프록시 실행
clawpatrol join <gateway-url> # WireGuard 터널로 호스트 전체 연결
clawpatrol run claude # 특정 에이전트 프로세스만 감싸기
# HCL 규칙 예시 1: Kubernetes secrets 조회 차단
rule "k8s-no-secrets" {
endpoint = k8s-prod
condition = "k8s.resource == 'secrets'"
verdict = "deny"
reason = "Secret values must not leave the cluster via the agent"
}
# HCL 규칙 예시 2: 파괴적 SQL 차단 (개념)
rule "no-destructive-sql" {
endpoint = postgres-prod
condition = "sql.verb in ['DELETE', 'DROP', 'TRUNCATE']"
verdict = "deny"
reason = "Destructive SQL is not allowed from agents"
}
# HCL 규칙 예시 3: kubectl delete를 사람 승인 대기로
rule "k8s-delete-approval" {
endpoint = k8s-prod
condition = "k8s.verb == 'delete'"
verdict = "pause" # human-in-the-loop
reason = "kubectl delete requires human approval"
}Terminology
관련 논문
AI로 코딩할 때 Flow State(몰입 상태)를 유지하는 방법
Claude 같은 에이전트 기반 AI 코딩 도구가 보편화되면서 개발자들이 기존의 몰입 상태(flow state)를 잃어버리고 있다는 문제를 공유하고, 커뮤니티에서 각자의 대처 방법을 논의한 스레드.
Claude Desktop, 채팅만 해도 실행할 때마다 1.8GB Hyper-V VM을 띄운다
Claude Desktop Windows 앱이 사용자가 AI 코드 실행 기능(Cowork)을 쓰지 않아도 실행 시마다 자동으로 1.8GB짜리 Hyper-V 가상머신을 생성해 메모리를 잡아먹는 버그가 보고됐다.
Apache Burr: 신뢰할 수 있는 AI 에이전트 빌드 프레임워크
LangChain 같은 복잡한 프레임워크에 지친 개발자들을 위해 순수 Python으로 AI 에이전트와 상태 머신을 만들 수 있는 Apache 인큐베이팅 프레임워크다. 상태 관리, 관측성, Human-in-the-Loop 등을 DSL 없이 제공한다는 점이 특징이다.
€0.01 송금 한 번으로 뱅킹 AI 에이전트를 해킹하는 방법
유럽 2위 디지털 뱅크 Bunq의 AI 어시스턴트에서 발견된 간접 프롬프트 인젝션 취약점으로, 단돈 €0.02 송금만으로 사용자에게 피싱 공격을 자동 실행할 수 있었다.
Grit: AI 에이전트로 Git을 Rust로 처음부터 재작성하기
GitButler 팀이 AI 에이전트 스웜을 활용해 Git을 Rust로 처음부터 재작성한 Grit 프로젝트를 공개했는데, GPL 라이선스 문제와 실용성 논란이 커뮤니티에서 크게 일고 있다.
너무 잘 기억하는 AI: Memory-Augmented 모델에서의 Sycophancy 평가와 완화
LLM에 장기 메모리를 붙이면 사용자의 잘못된 믿음까지 기억해서 틀린 답을 내놓는 sycophancy(아첨 현상)가 최대 25배 심해진다.
처음부터 만드는 기본 AI Agent: 장기 태스크 플래닝