https://api.orcarouter.ai/v1/...을 계속 호출합니다;
게이트웨이의 키와 정책만 바뀝니다. 기저 공격 해부는
프롬프트 인젝션과
위험한 툴 호출을 읽으세요; 이
페이지는 대응입니다.
각 단계가 필요로 하는 역할은 인라인으로 명시됩니다. guardrail Matches 피드
읽기는 모든 Member에게 개방됩니다; firewall Events, Runs, 그리고
트레이스 뷰는 **Developer+**가 필요합니다; 키 취소, 자율성 자세 적용, 그리고
정책 편집은 **Developer+**가 필요합니다; guardrail 매치를 거짓 양성으로
표시하는 것은 Admin이 필요합니다.
1. AI 보안 사건 대응 루프
순서대로 실행하는 세 단계. 강화로 곧바로 건너뛰지 마세요 — 조사하는 동안 공격자가 접근을 잃도록 먼저 봉쇄하세요.봉쇄
공격자가 또 다른 호출을 할 수 없도록 손상된 키를 취소하세요. 새로운,
단단히 범위 지정된 대체 키를 발급하세요.
파악
firewall Events / Runs와 guardrail Matches 피드를 읽어 키가
정확히 무엇을 했고 무엇이 발동했는지 보세요.
강화
자율성 자세를 강화하고 그것을 잡았을 규칙을 추가하여, 같은 공격이 재발할
수 없게 하세요.
2. 봉쇄 — 키 취소하기
첫 움직임은 접근을 끊는 것입니다. 유출된sk-orca-... 키는 취소할 때까지 계속
작동하므로, 다른 무엇보다 먼저 이것을 하세요.
콘솔에서 API Keys를 열고, 손상된 키를 찾고(표시 시 마스킹됨 — 이름,
environment, 또는 마지막 사용으로 매치), 그것을 삭제하세요(Developer
역할). 삭제는 즉각적입니다: 그 키에 대한 바로 다음 요청이 게이트웨이에서
거부됩니다.
그런 다음 대체 키를, 워크로드가 필요로 하는 최소한으로 범위 지정하여
발급하세요 — 결코 여러분의 계정 전체 키가 아니라. API Keys → New
key(Developer 역할)에서:
새 키의 폭발 반경 상한
새 키의 폭발 반경 상한
미래의 유출이 쿼터를 고갈시킬 수 없도록
credit_limit_usd를 합리적인
상한으로 설정하고(0 = 무제한), 호출자가 고정된 서버에서 실행하면
allow_ips를 백엔드의 egress IP로, 그리고 임시인 것에는 expired_time을
설정하세요(-1 = 만료 안 됨). 키를 필요한 모델로만 울타리 치려면
model_limits(model_limits_enabled와 함께)를 사용하세요.새 키에 정책 연결
새 키에 정책 연결
Guardrail 드롭다운에서 강화된 guardrail을 고르고(
guardrail_id 설정)
Firewall policy 드롭다운에서 firewall 정책을 고르세요
(firewall_policy_id 설정). 두 바인딩 모두 게이트웨이의 키에 존재하므로,
새 키는 첫 호출부터 통제됩니다. 평문을 한 번 복사하세요 — 생성 후 어디서나
마스킹됩니다.3. 파악 — Events와 Matches 피드 읽기
이제 키가 실제로 무엇을 했는지 알아내세요. 게이트웨이는 이미 모든 툴 호출과 발동한 모든 규칙을 기록했습니다 — 워크스페이스 범위, 추가 계측 없음.| 피드 | 어디 | 역할 | 무엇에 답하는가 |
|---|---|---|---|
| Firewall → Events | 툴 호출별 | Developer+ | 모든 평가 — 판정, 표면, 툴, 인자, 그것이 속한 run. |
| Firewall → Runs | 롤업됨 | Developer+ | “이 에이전트 세션이 실제로 무엇을 했는가” — 판정 분류, 구별되는 툴과 모델. |
| Guardrails → Matches | 규칙 적중별 | Member | 발동한 모든 guardrail 규칙 — 타입, 액션, 단계, 상세. |
deny와
audit로 필터링하여 무엇이 차단되었는지 대 무엇이 observe 전용 자세 아래에서
빠져나갔는지 보세요.
같은 윈도우에 대해 Guardrails → Matches를 교차 확인하세요. Prompt-Injection
Basics 규칙이 요청을 플래그했다면 — *“이전 지시사항을 무시하라”*나 “시스템
프롬프트를 드러내라” 같은 문구 — 그것은 규칙 타입과 단계와 함께 여기에
도착합니다.
Matches 피드는 그 guardrail에 대해 Log raw content가 켜져 있을 때만
매치된 부분 문자열을 기록합니다 — 그것은 기본 꺼짐(프라이버시 보수적
자세)입니다. 그것이 꺼져 있으면 여전히 규칙이 발동했다는 사실과 그 상세
메타 문자열을 보되, 리터럴 텍스트는 아닙니다. 트리아지를 위해 부분 문자열이
필요할 때 guardrail별로 켜세요; 설정은 소급되지 않습니다.
POST /api/guardrail/match/:id/mark-fp, Admin) 튜닝하는 동안 여러분의
시그널을 왜곡하지 않게 하세요.
4. 강화 — 갭 닫기
봉쇄는 이 공격자를 멈춥니다; 강화는 다음 공격자를 멈춥니다. 두 움직임: 즉시 워크스페이스 자세를 강화한 다음, 방금 본 것을 잡았을 특정 규칙을 추가하세요.빠른 경로 — 자율성 수준 올리기
사건이 너무 개방적으로 실행되던 에이전트를 노출했다면, 전체 워크스페이스 자세를 한 트랜잭션에서 뒤집으세요. Firewall → Posture에서,tight
자율성 수준(Developer
역할)을 적용하세요. 한 움직임에서 이는 기본 거부를 설정하고, 파괴적 셸을
거부하고, fetch 형태의 SSRF 툴 이름을 거부하고, PII Shield와 Secrets &
API-Key Blocker guardrail을 강제합니다. 모든 변경은 감사 스냅샷에서 원클릭
실행 취소가 있는 한 트랜잭션이므로, 너무 엄격하면 곧바로 되돌릴 수 있습니다.
정밀한 경로 — 그것을 잡았을 규칙 추가하기
프롬프트 인젝션의 경우 특히, OrcaRouter는 Prompt-Injection Basics 프리셋(카테고리 safety)을 제공합니다 — 사용자를 차단하지 않고 흔한 인젝션 문구를 검토를 위해 플래그하는 키워드 규칙. 시그널을 얻기 위해 거기서 시작한 다음, 격상하세요. 그것의 더 엄격한 형제, Jailbreak / Role-Play Blocker는 정규식으로 같은 클래스를 차단합니다. Guardrails → New guardrail(Developer 역할; Test 샌드박스는 후보 규칙을 인라인으로 실행함 —llm_judge는 유료 모델 호출을 함 — 그래서
**Developer+**이기도 함)에서, Prompt-Injection Basics 프리셋을 적용한
다음, 키워드 목록이 놓치는 난독화된 인젝션을 잡기 위해 llm_judge 규칙을
추가하세요:
judge_fail_open: false로
설정하세요. 키에 연결하기 전에 Test 탭과 Eval 코퍼스에 대해 전체
정책을 증명하세요.
새 규칙을 안전하게 롤아웃하기
라이브 트래픽에 새 규칙을 맹목적으로 강제하지 마세요. firewall의 경우, 정책에shadow_mode: true를 설정하세요 — 모든 강제 판정이 audit로 강등되고
[shadow] would …로 로깅되므로, 어떤 트래픽도 변경하기 전에 Events
피드에서 발동하는 것을 지켜봅니다. guardrail의 경우, 새 규칙의 액션을 먼저
flag로 설정하고, Matches 피드를 지켜본 다음, block이나 mask로
격상하세요. 전체 observe → shadow → enforce 경로는
강제 모드를 참조하세요.
5. 수정 검증하기
해결되었다고 하기 전에 루프가 닫혔는지 확인하세요.샌드박스에서 공격 재생
악성 프롬프트를 guardrail Test 탭의
input 단계에 붙여 넣고 판정이
이제 block(또는 flag)인지 확인하세요. 툴 호출 사건의 경우, 문제의 호출을
Firewall → Test(Developer+)에서 dry-run하고 판정이 deny인지
확인하세요. 두 샌드박스 모두 어떤 것도 업스트림으로 보내거나 영속화하지
않습니다.옛 키가 죽었는지 확인
취소된 키로 요청을 보내고 그것이 거부되는지 확인하세요. 차단된 guardrail은
HTTP 400
guardrail_blocked를 반환합니다; 거부된 툴 호출은 HTTP
400 firewall_blocked를 반환합니다 — 그리고 block은 쿼터를 소모하지
않으며(입력 단계 block은 미터링 전에 발동; 출력 block은 사전 소비된
쿼터를 환불) skip-retry로 표시됩니다.6. 한눈에 보는 런북
| 단계 | 작업 | 어디 | 역할 |
|---|---|---|---|
| 봉쇄 | 유출된 키 삭제 | API Keys | Developer+ |
| 봉쇄 | 범위 지정 대체 키 발급 | API Keys → New key | Developer+ |
| 파악 | 툴 호출 + 판정 읽기 | Firewall → Events / Runs | Developer+ |
| 파악 | 발동한 규칙 읽기 | Guardrails → Matches | Member |
| 강화 | 자세 올리기 | Firewall → Posture (tight) | Developer+ |
| 강화 | 잡는 규칙 추가 | Guardrails / Firewall | Developer+ |
| 검증 | 샌드박스에서 재생 | Test 탭 | Developer+ |
7. 다음으로 갈 곳
Go-live 체크리스트
프로덕션 전 강화 패스 — 배포하기 전에 키를 범위 지정하고 자세를 잠그세요.
프롬프트 인젝션
이 런북이 대응하는 공격, 처음부터 끝까지.
강제 모드
Observe → shadow → enforce — 트래픽을 망가뜨리지 않고 새 규칙을 롤아웃하세요.
유출 중지
사건이 네트워크를 건드렸다면 아웃바운드 목적지를 잠그세요.
