1. 한눈에 보는 세 가지 자세
| 자세 | 트래픽에 일어나는 것 | 메커니즘 | 사용 시점 |
|---|---|---|---|
| Observe | 모든 트래픽이 허용됩니다; 정책 없는 호출이 커버리지 갭으로 로깅됩니다 | 워크스페이스 수준 observe mode 켬; guardrail 규칙이 flag 액션 사용; firewall default_verdict가 audit | 기준선 발견 — 규칙을 하나도 작성하기 전에 에이전트가 실제로 무엇을 하는지 이해 |
| Shadow | 트래픽이 허용됩니다; 정책이 평가하고 차단할 법한 것이 [shadow] would …로 로깅됩니다 | firewall 정책의 per-policy shadow_mode 플래그 켬 | 안전한 사전 프로덕션 검증 — 트래픽에 닿기 전에 정책이 올바르게 발동하는지 확인 |
| Enforce | 실제 판정이 적용됩니다 — deny는 차단하고, sanitize는 삭제하고, pending_approval은 보류합니다 | Shadow mode 끔; guardrail 액션이 block / mask로 설정됨; firewall 판정이 라이브 | shadow에서 정책을 검증한 후의 프로덕션 강제 |
역할 요구사항. 모든 워크스페이스 멤버가 정책, 설정, 발견된 툴 뷰를
읽을 수 있습니다; firewall Events와 Runs 피드는 Developer 역할이
필요합니다. 설정, 정책 액션, 또는
shadow_mode 변경도 Developer 이상이
필요합니다.2. Observe 자세 — 규칙을 만들기 전에 측정
Observe 자세는 단일 스위치가 아닙니다. “모든 것을 허용하고, 모든 것을 기록한다”를 생성하는 세 가지 독립적인 메커니즘의 조합입니다:Firewall observe mode (워크스페이스 설정)
툴 호출이 정책이 전혀 없을 때 — 키 연결도 워크스페이스 기본값도 없을 때 — firewall의 워크스페이스 수준 observe mode가 무슨 일이 일어나는지 결정합니다:- Observe mode 켬: 호출이 허용되고 커버리지 갭으로 로깅됩니다. Discovered Tools 뷰가 이 갭 이벤트에서 채워지며, 에이전트가 어떤 규칙도 커버하지 않고 실행하는 툴이 정확히 무엇인지 보여줍니다.
- Observe mode 끔: 호출이 조용히 허용됩니다 — 기능을 한 번도 활성화하지 않은 워크스페이스와 바이트 단위로 동일.
audit으로 설정된 정책을 갖는 것과 동일하지 않습니다.
Firewall audit 판정 (정책별 기본값)
정책이 해석되지만 어떤 규칙도 툴 호출에 매칭되지 않을 때,
정책의 default_verdict가 적용됩니다. default_verdict의 기본값은
audit 입니다 — 호출을 허용하고 검토를 위해 기록합니다. 규칙 없이
구성 변경 없이 새 정책은 아무것도 차단하지 않고 조용히 허용하지도 않습니다:
보이는 모든 것을 감사합니다.
audit는 또한 일반 규칙 판정입니다. 매칭되어 audit를 생성하는 규칙은
호출을 통과시키고 기록합니다 — firewall에 대한 guardrail 감사 모드 유사체.
Guardrail flag 액션 (규칙별 액션)
guardrail 측에서, flag 액션은 observe 동등물입니다: 규칙이 발동하고,
Matches 피드에 매치가 기록되고, 요청은 변경되지 않고 계속됩니다. 차단 없음.
삭제 없음. block 또는 mask로 전환하기 전에 규칙을 측정하고 싶을 때
flag를 사용하세요 — 얼마나 자주 무엇에 발동하는지 확인합니다.
이 세 가지가 함께 observe 자세를 생성합니다: observe mode는 커버되지 않은 툴 호출을 잡고;
audit 판정은 정책 아래에 있지만 아직 특정 규칙 아래에는
없는 툴 호출을 커버하고; flag 액션은 아직 강제할 준비가 되지 않은
guardrail 검사를 커버합니다.
3. Shadow 자세 — 강제하기 전에 검증
Shadow mode는 firewall 정책의 per-policy 플래그 (shadow_mode: true)입니다.
켜져 있을 때:
- 정책이 프로덕션에서와 정확히 동일하게 모든 툴 호출을 평가합니다 — 규칙이 매칭되고, 판정이 계산되고, 인자 조건이 테스트됩니다.
- 모든 강제 판정 (
deny,sanitize,pending_approval)이 툴에 도달하기 전에audit으로 강등됩니다. - 로깅된 이유에
[shadow] would …가 접두되어 이벤트 피드에서 차단되거나, 정화되거나, 보류될 것을 정확히 볼 수 있습니다.
Guardrails는 정책 수준에서
shadow_mode 동등물이 없습니다 — block 또는
mask로 전환하기 전에 개별 guardrail 검사를 관찰하려면 규칙별로 flag
액션을 사용하세요.4. Enforce 자세 — 실제 판정, 실제 결과
Enforce 자세에서는 아무것도 강등되지 않습니다:- Firewall
deny→ 에이전트가 툴 오류 (MCP) 또는 HTTP 400firewall_blocked(inbound 표면)를 봅니다. 오류는 툴과 이유를 명시합니다. skip-retry로 표시됩니다. - Firewall
sanitize→ 매치된 부분 문자열이 툴 인자에서 삭제되고 정화된 호출이 전달됩니다. - Firewall
pending_approval→ 호출이 보류됩니다; 에이전트가 폴링할 승인 id와 함께 HTTP 400firewall_approval_pending을 받습니다. - Guardrail
block→ HTTP 400guardrail_blocked, 발동된 guardrail과 규칙을 명시합니다. 쿼터 소모 없음. - Guardrail
mask→ 매치가 삭제됩니다 (예:jane@acme.com→[EMAIL]) 그리고 요청이 정화된 텍스트로 계속됩니다.
shadow_mode를 끄고, guardrail
규칙 액션을 flag에서 적절하게 block 또는 mask로 변경하세요.
5. 권장 롤아웃
Observe — 에이전트가 하는 것을 발견합니다
워크스페이스 observe mode를 켭니다 (
PUT /api/workspace/firewall/settings, firewall_observe_mode: true). firewall을
정책 없이 두거나 (또는 default_verdict가 audit인 정책) 남겨둡니다.
측정하고 싶은 guardrail 규칙에 flag 액션을 추가합니다.Discovered Tools 뷰가 에이전트가 하는 모든 툴 호출로 채워지는 것을
보고, covered 또는 gap으로 표시됩니다. 이것을 첫 번째 정책 규칙을
작성하는 입력으로 사용하세요 — 가상의 트래픽이 아닌 실제 트래픽에 대한
규칙을 작성하고 있습니다.Discovered Tools 뷰가 안정화되고 의도적인 규칙을 작성하기에 충분한
데이터가 있을 때까지 이것을 실행하게 두세요.Shadow — 강제 전에 검증합니다
shadow_mode: true인 firewall 정책을 작성합니다. 관리하려는 키에 연결하거나
(또는 워크스페이스 기본값으로 설정). guardrail의 경우, 이 단계에서 규칙 액션을
flag로 유지합니다.정책이 이제 모든 실제 툴 호출을 평가하고 무엇을 할지 로깅합니다.
Events와 Runs 뷰를 열고 [shadow] 접두사로 필터링합니다. 확인:- 의도한 툴과 인자 패턴에 발동합니다.
- 허용하고 싶은 것에는 발동하지 않습니다 (거짓 양성).
6. 자율성 수준 — 한 번에 모두 설정
정책을 규칙별로 조정하는 것이 정밀한 경로입니다. 자율성 수준이 빠른 경로입니다 — 단일 제어가 원자적으로 워크스페이스의 Firewall 및 Guardrails 자세를 하나의 트랜잭션에서 설정하며, 원클릭 실행 취소를 제공합니다:| 수준 | 생성되는 자세 |
|---|---|
permissive | Observe 자세: 강제 정책 없음, guardrails 없음, 워크스페이스 observe mode 켬 — 모든 것을 볼 수 있고 아무것도 차단되지 않습니다. 위의 Observe 단계에 매핑됩니다. |
balanced | 기본 판정 audit, 하지만 파괴적 셸은 거부됨; PII Shield가 감사 전용 모드로 실행됩니다 (PII 플래그); observe mode 끔. 트래픽 형태를 알면 권장 시작 자세입니다. |
tight | 전체 강제: 기본 거부, 파괴적 셸과 SSRF egress 거부됨; PII Shield + Secrets Blocker guardrails 강제됨 (PII와 시크릿에 대해 요청 검사); observe mode 끔. |
POST /api/workspace/firewall/autonomy로 적용합니다 (Developer+). Simulate
엔드포인트 (GET /api/workspace/firewall/simulate?level=)가 적용하기 전에
수준 변경이 무엇을 할지 미리 봅니다.
자율성 수준은 위에서 설명한 동일한 메커니즘 위의 편의 레이어입니다 —
default_verdict, observe mode, firewall 규칙, guardrail 규칙 액션을 설정합니다.
shadow_mode는 토글하지 않습니다; 그것은 수동 per-policy 제어로 남습니다.
항상 수준을 적용한 후 개별 설정을 재정의할 수 있습니다.7. 메커니즘 맵 — 어떤 설정이 무엇을 하는가
이 표는 권위 있는 레퍼런스입니다. 네 용어는 별개입니다 — 혼동하지 마세요:| 용어 | 종류 | 제어하는 것 |
|---|---|---|
| Observe mode | 워크스페이스 설정 | 툴 호출이 정책 없이 해석될 때의 동작. 켬 → 갭으로 로깅 (Discovered Tools). 끔 → 조용한 허용. |
audit 판정 | 정책 / 규칙 판정 | 정책 아래에 있는 툴 호출이 매칭되거나 (기본으로 폴백) 할 때의 동작. 허용 + 기록. 기본 default_verdict. |
flag 액션 | Guardrail 규칙 액션 | Guardrail 검사가 트래픽을 허용하고 매치를 기록합니다. guardrails에 대한 강제 없이 관찰하는 액션. |
shadow_mode | Per-firewall-policy 플래그 | 모든 강제 판정 (deny/sanitize/pending_approval)을 audit으로 강등하고 이유에 [shadow] would …를 접두합니다. |
에이전트 보안 기준선
제로 트러스트 에이전트 보안을 위한 권장 시작 자세와 5분 설정.
Agent Firewall
정책, 규칙, 판정, shadow mode, MCP 게이트웨이에 대한 전체 레퍼런스.
