여기 있는 모든 것은 읽기 전용이거나 샌드박스화됩니다 — 사용자 대면 차단 없음,
프로덕션 트래픽 영향 없음. (키워드, 정규식, 그리고 PII 규칙은 전적으로
로컬에서 실행됩니다;
llm_judge 규칙은 여전히 그 구성된 모델을 호출하므로,
judge 정책에 대한 eval은 그 호출을 합니다.) 핵심은 런칭 전에, 여러분의
조건으로 물건을 망가뜨리는 것입니다.1. 런칭 전에 AI 에이전트를 레드팀하는 법
런칭 전 레드팀은 세 가지 질문에 답하며, OrcaRouter는 각각에 하나의 툴을 가집니다:내 guardrail이 공격을 잡는가?
guardrail의 Eval 하네스를 번들된 적대적 코퍼스에 대해 실행하고
정밀도 / 재현율 / F1을 읽으세요.
내 firewall이 무엇을 망가뜨릴까?
shadow mode를 켜고 어떤 실제 툴 호출이 거부될지 지켜보세요 — 아직
그 어느 것도 거부하지 않고.
더 단단한 자세가 안전한가?
적용하기 전에 자율성 수준을 시뮬레이션하여 그것이 여러분의 트래픽에
대해 정확히 무엇을 변경할지 미리 보세요.
2. 적대적 코퍼스에 대해 guardrail 채점하기
콘텐츠 정책이 공격자와의 접촉에서 살아남는지 아는 가장 빠른 방법은 알려진 공격의 코퍼스를 그것에 던지고 점수를 읽는 것입니다. guardrail 에디터의 Eval 탭이 정확히 그것을 합니다: 코퍼스의 모든 샘플을 여러분의 현재 정책을 통해 재생하고 판정을 각 샘플의 기대 결과와 비교합니다 — 코퍼스를 라이브 트래픽이 아니라 여러분의 규칙에 대해 로컬에서 재생. OrcaRouter는 번들된 레드팀 코퍼스를 제공하므로 여러분 자신의 것을 소싱할 필요가 없습니다. 그중에는:| Corpus | 무엇인가 |
|---|---|
advbench_harmful_behaviors | 정전(canonical) 적대적 접미사 타깃 세트 — 모든 행은 guardrail이 차단해야 하는 안전하지 않은 요청. |
anthropic_hh_redteam | 어시스턴트에 대한 실제 다중 턴 인간 레드팀 트랜스크립트. |
deepset_prompt_injections | 레이블된 프롬프트 인젝션 대 무해한 요청 — 입력 단계 block을 위한 정밀도/재현율 베이스라인. |
databricks_dolly_benign | 순수 무해 베이스라인: 과도하게 엄격한 정책은 이것 중 아무것도 차단해서는 안 됩니다. |
deepset_prompt_injections 코퍼스에 대해 eval을 실행하세요:
- TP / FP / FN / TN — 참/거짓 양성과 음성, 여기서 “거짓 양성”은 공격을 잘못된 액션 클래스로 잡는 것을 포함합니다(예: block을 기대했는데 마스킹).
- Precision / Recall / F1 — 헤드라인 숫자. 낮은 재현율은 공격이 빠져나감을 의미합니다; 낮은 정밀도는 무해한 트래픽을 차단하고 있음을 의미합니다.
프롬프트 인젝션 방어가 어디에 사는가. 번들된 Prompt-Injection Basics
프리셋은 flag 액션의 키워드 규칙입니다 — 사용자를 차단하지 않고 흔한 탈옥
문구를 검토를 위해 표면화합니다. 어떤 키워드 목록도 캡처하지 못하는 의미적
인젝션 의도의 경우,
llm_judge 규칙을 추가하고 그것을 같은 방식으로
레드팀하세요: deepset_prompt_injections와 anthropic_hh_redteam에 대해
eval하고 F1을 읽으세요. guardrail 레퍼런스를
참조하세요.3. 실제 트래픽에 대해 firewall을 shadow mode로 처리하기
guardrail eval은 고정된 코퍼스에 대해 텍스트를 테스트합니다. 반면 여러분의 firewall은 여러분의 에이전트가 실제로 하는 것의 지저분한 현실에 대해 테스트되어야 합니다 — 그리고 런칭 전에 그것을 하는 가장 안전한 방법은 shadow mode입니다. Shadow mode는 firewall이 모든 툴 호출을 프로덕션에서와 정확히 동일하게 평가하고 로깅하되, 모든 강제 판정을audit로 강등하게 만드는 정책별
플래그입니다. deny는 이유가 [shadow] would …로 접두된 audit 행이 됩니다.
아무것도 차단되지 않습니다. 아무것도 망가지지 않습니다. 하지만 Events
피드는 이제 여러분의 정책이 거부했을 호출의 정확한 목록을 보여줍니다.
이것이 firewall 레드팀입니다: 여러분의 가장 엄격한 의도된 정책을 작성하고,
shadow mode를 켜고, 현실적인 런칭 리허설을 통해 에이전트를 실행한 다음,
[shadow] would … 이벤트를 읽으세요.
정책을 작성한 다음, shadow 처리
정책을 작성한 다음, shadow 처리
콘솔에서 강제 정책을 구축하세요(Developer+) — 런칭 dry-run을 위해,
default_verdict를 audit로 설정하고 배포하려는 deny 규칙을 추가하세요.
shadow mode를 켜세요. 이제 전체 정책이 강제 없이 로깅합니다.런칭 당일처럼 에이전트를 실행
런칭 당일처럼 에이전트를 실행
shadow 처리된 정책에 연결된 키로 게이트웨이에 대해 여러분의 실제
에이전트 흐름을 실행하세요. 모든 툴 호출 — inbound, response, MCP 디스패치,
egress — 이 평가되고 로깅됩니다.
차단했을 목록 읽기
차단했을 목록 읽기
Firewall → Events(Developer+)를 열고
[shadow] would … 이유로
필터링하세요. 각각은 여러분의 정책이 프로덕션에서 거부했을 호출입니다.
모든 항목이 여러분이 거부하고 싶은 호출인지 — 그리고 정당한 것이 목록에
없는지 — 확인하세요.shadow를 꺼서 라이브로
shadow를 꺼서 라이브로
차단했을 목록이 깨끗해지면, shadow mode를 끄세요. 바로 다음 매칭 호출이
실제로 강제됩니다 — 다른 변경 없음.
4. 커밋하기 전에 더 단단한 자세 시뮬레이션하기
세 번째 레드팀 움직임은 가장 저렴합니다: 더 엄격한 자율성 수준을 적용하기 전에, 그것을 시뮬레이션하세요. 시뮬레이터는tight(또는 어떤 수준)를 적용하는
것이 여러분 워크스페이스의 최근 트래픽에 대해 무엇을 변경할지 — 얼마나 많은
호출이 deny로 뒤집힐지 — 단 하나의 정책 행도 쓰지 않고 미리 봅니다.
tight에 준비되었는가?”에 답하는 데 그것을 사용하세요: 미리 보기가 여러분의
에이전트가 의존하는 호출에 대한 거부의 벽을 보여주면, go-live 후의 사건이
아니라 go-live 전에 부드럽게 할 규칙이 있는 것입니다.
Simulate는 미리 보기 전용입니다 — 그것은 결코 여러분의 정책을 변형하지
않습니다. 자율성 수준 적용은 별개의 Developer+ 작업이며, 라이브 결과가
여전히 놀랍다면 원클릭 실행 취소가 있는 한 트랜잭션입니다.
5. 런칭 전 레드팀 체크리스트
세 패스를 함께 두면 런칭 게이트를 얻습니다:| Pass | Tool | 녹색일 때 |
|---|---|---|
| 콘텐츠 정책 | Guardrail Eval 대 공격 + 무해 코퍼스 | 공격에 높은 재현율, 무해에 차단 없음 |
| 액션 정책 | Firewall shadow mode 대 리허설 트래픽 | 모든 [shadow] would …가 의도된 것 |
| 커버리지 | Observe mode + Discovered tools | 놀라운 툴이 커버리지 갭에 앉아 있지 않음 |
| 자세 | 타깃 자율성 수준 Simulate | 미리 보기가 예상하는 것과 일치 |
https://api.orcarouter.ai/v1/...을 이전과 정확히 동일하게 계속 호출합니다.
6. 다음 단계
강제 모드
Observe → shadow → enforce, 이 레시피가 리허설하는 안전한 롤아웃.
Secure Agents 기준선
각 자율성 수준이 설정하는 것 — 그리고
simulate가 그것을 미리 보는 법.프롬프트 인젝션
여러분의 guardrail eval이 채점하는 위협.
Go live
레드팀이 통과한 후의 프로덕션 전환.
