1. 세 레이어로 하는 프롬프트 인젝션 보호
단일 검사로 모든 인젝션을 막을 수는 없습니다. OrcaRouter는 하나의 guardrail에 쌓을 수 있는 세 개의 상호 보완적인 레이어를 제공합니다:Prompt-Injection Basics
안전 프리셋 — 차단 없이 검토를 위해 고전적인 탈옥 문구(“ignore
previous instructions”, “reveal your system prompt”)를 플래그
하는 키워드 규칙. 결정적, 모델 호출 없음.
LLM-judge 의도 규칙
워크스페이스의 모델에게 *“이것이 시스템 지시를 재정의하려는
시도인가?”*를 묻는
llm_judge 규칙 — 어떤 고정 키워드 목록도 잡을 수
없는 패러프레이즈되고 난독화된 인젝션을 잡습니다. 작은 judge 서브
라인으로 청구합니다.신뢰할 수 없는 텍스트 spotlight
spotlight 액션은 매치된 신뢰할 수 없는 입력을 구분자로 감싸고(예:
⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) 모델에게 그 영역을 지시가 아니라
데이터로 취급하라고 알립니다 — 검색되거나 툴이 반환한 콘텐츠로부터의
간접 인젝션에 대한 가장 강력한 방어. 전체 입력을 감싸려면
spotlight_whole을 사용하세요.왜 flag 후 judge인가. 키워드 거부 목록은 빠르고 무료이지만 깨지기
쉽습니다 — 공격자가 그것을 우회하여 다시 표현합니다. judge는 견고하지만
서브 호출 비용이 듭니다. 프리셋을 실행하여 무엇이 당신의 트래픽에
도달하는지 본 뒤, judge를 추가하여 다시 표현된 것을 잡으세요. 두 규칙은
하나의 guardrail에 존재하며 동일한 요청에서 실행됩니다.
2. Prompt-Injection Basics 프리셋으로 시작하기
여기 모든 단계는 당신의 세션에서 호스팅된 게이트웨이에 대한 콘솔 액션입니다. guardrail을 생성하고 편집하려면 워크스페이스에서 **Developer+**가 필요합니다. 최종/v1/* 호출만 sk-orca-... 릴레이
키를 사용합니다.
템플릿 열기
콘솔에서 Guardrails를 열고, New guardrail 분할 버튼을 클릭한
뒤, Safety 템플릿 카테고리에서 Prompt-Injection Basics를
선택합니다. flag 액션으로
input 스테이지의 단일 keyword 규칙을
씨앗으로 만듭니다.이름 지정 및 저장
이름을 지정하고(≤ 64자), 예:
prompt-injection, 저장합니다. 프리셋은
씨앗이지 잠금이 아닙니다 — 이후에 문구를 자유롭게 추가하거나
제거하세요.테스트
Test 탭을 열고,
input 스테이지에서 샘플을 붙여넣고, 정책을
로컬에서 실행합니다 — 업스트림 호출 없음, 쿼터 없음
(§4 참조).3. 키워드가 놓치는 것 잡기 — llm_judge 규칙 추가
키워드 매칭은 나열한 문구만 잡습니다. 다시 표현된 공격 뒤의 의도를 잡으려면 동일한 guardrail에llm_judge 규칙을 추가하세요. guardrail을
열고, Add rule, LLM judge를 선택한 뒤, 구성합니다:
judge_model
judge_model
워크스페이스가 이미 호출할 수 있는 모델 또는 라우터 별칭. judge 호출은
당신의 채널을 통해 라우팅되므로, 그 토큰은 다른 호출과 마찬가지로
청구되고 귀속됩니다 — judge 서브 라인으로.
judge_format
judge_format
yes_no, score, category 중 하나. 인젝션 검사의 경우 yes_no가
자연스럽게 맞습니다(콘솔이 미리 선택합니다). score에서는
judge_threshold를 설정하고; category에서는 거부된
judge_categories를 나열하세요.judge_timeout_ms 및 judge_fail_open
judge_timeout_ms 및 judge_fail_open
judge_timeout_ms는 호출을 제한합니다(0 → 엔진 기본값).
judge_fail_open이 true(기본값)이면 judge 오류가 기록되고 요청은
계속됩니다; 놓친 검사가 용납될 수 없는 곳에서는 오류나 타임아웃을
차단으로 취급하도록 false로 설정하세요.4. 연결하기 전에 테스트하기
어떤 키가 그것을 가리키기 전에 guardrail이 예상대로 동작함을 증명하세요. 에디터 내부의 Test 탭을 열고, 인젝션 샘플을 붙여넣고,input
스테이지를 선택한 뒤 실행합니다:
5. 무엇이 발동했는지 보기
발동하는 모든 규칙은 match를 기록합니다 — 규칙 타입, 액션, 스테이지, 그리고 상세 문자열 — 워크스페이스 Matches 피드에 표시됩니다. guardrail이 flag 모드인 동안, 이 피드 자체가 가치입니다: 인젝션 문구가 당신의 트래픽에 얼마나 자주 도달하고 어떻게 보이는지 보여주므로, 강제할지 결정할 수 있습니다.6. 더 엄격한 형제와 쌓기
Prompt-Injection Basics는 부드러운, flag 전용 시작점입니다. Safety 템플릿 카테고리는 차단할 준비가 되었을 때 동일한 guardrail에 얹을 수 있는 더 엄격한 형제를 제공합니다:| 프리셋 | 액션 | 잡는 것 |
|---|---|---|
| Prompt-Injection Basics | flag | 고전적 문구 — 감시 레이어. |
| Jailbreak / Role-Play Blocker | block | DAN / developer-mode / “act as” 패턴. |
| Jailbreak v2 Regex | block | 더 새로운 모드 + 보이지 않는 유니코드 태그 바이트 밀반입. |
7. guardrails는 텍스트를 검사하고; firewall은 액션을 관리합니다
guardrail은 주입된 지시가 모델에 도달하는 것을 막습니다. 하지만 성공적인 인젝션의 목표는 보통 에이전트가 무언가를 하게 만드는 것입니다 — 위험한 툴 호출, 데이터 유출, 내부 호스트 도달. 그 폭발 반경은 Firewall의 일입니다: 모델이 내보낸 툴 호출을 평가하고deny, 인자 sanitize, 또는 승인 요구를 할 수 있습니다.
심층 방어를 위해 둘 다 실행하세요.
프롬프트 인젝션 (위협)
전체 위협 모델과 각 제어가 위치하는 곳.
탈옥
인젝션의 페르소나 우회 사촌.
위험한 툴 호출
인젝션이 에이전트가 하게 만들려는 것 — 그리고 firewall이 어떻게 그것을 막는지.
AI 에이전트 보안
에이전틱 워크로드를 위한 기준 제어 스택.
llm_judge 필드 레퍼런스, 버전
관리, 라우트 — 은 Guardrails 레퍼런스를
읽으세요.