지시 계층은 권한 체계가 아니다
Instruction Hierarchy(지시 계층 — 시스템, 사용자, 도구 메시지에 우선순위를 두는 방식)는 시스템, 사용자, 도구 메시지에 서로 다른 우선순위를 부여하는 방식이다. 모델은 우선순위가 낮은 지시로 높은 지시를 무시하면 벌점을 받도록 학습된다. 하지만 이는 권한 없는 파일 쓰기를 운영체제가 EACCES(접근 권한 없음) 오류로 차단하는 것과는 다르다. 행동을 특정 방향으로 유도하는 학습일 뿐이므로, 잘못된 지시를 따를 가능성이 완전히 사라지지는 않는다. 더구나 모델이 처리할 때는 시스템 지시와 외부 문서가 모두 하나의 토큰 흐름에 놓인다. 어느 부분이 명령이고 어느 부분이 단순한 데이터인지 확실하게 구분해 주는 경계도 없다.
이러한 한계는 IH-Benchmark 결과에서도 드러난다. 이 벤치마크는 44개 제약 유형과 2,336개 시나리오를 이용해 37개 모델을 평가했다. 모델별 준수율은 98.2%에서 20.5%까지 크게 벌어졌다. 같은 모델도 어떤 계층이 충돌하느냐에 따라 성능이 달랐다. Grok 4.20은 시스템 지시와 사용자 요청이 충돌한 시험에서 96.9%의 준수율을 기록했지만, 사용자 요청과 도구 결과가 충돌한 시험에서는 65.6%에 그쳤다.
따라서 Instruction Hierarchy의 존재만으로 모델이 안정적으로 통제된다고 볼 수는 없다. 계층의 조합에 따라 작동 방식과 실패율이 달라지기 때문이다.
정면충돌보다 무서운 지시의 덧셈
노골적으로 지시를 거스르는 공격보다, 기존 지시에 조건을 덧붙이는 방식이 더 쉽게 통과한다. 실험에서 무단 구매 요청은 88.1%가 차단됐다. 반면 면책 문구를 추가하거나 사실을 미묘하게 왜곡하라는 요청에 대한 지시 계층 준수율은 각각 50.4%와 50.1%에 그쳤다. 시스템 지시를 직접 부정하지 않는 요구는 거부할 근거가 상대적으로 약하기 때문이다. 추론 모델조차 명시적인 충돌이 없는 상황에서 지시 계층을 어겼다. 따라서 지시 간 충돌만 탐지하는 프롬프트 인젝션 시험으로는 이러한 공격을 잡아내기 어렵다.
정보의 출처는 전달 과정에서도 반드시 보존해야 한다. 예를 들어 검색 결과의 일부를 시스템 메시지에 넣으면 외부 문서가 사실상 최고 수준의 권한을 얻게 된다. 멀티에이전트 환경에서도 다른 에이전트가 전달한 내용은 별도의 검증 없이 신뢰되기 쉽다. ManyIH 평가에서 2단계 지시 계층에서는 정확도가 99%를 넘었던 모델도, 계층이 12단계로 늘어나자 정확도가 40% 수준까지 떨어졌다. 6단계와 12단계를 비교한 12개 모델, 전환 조합 중 11개에서 정확도가 6.8~24.1% 하락했다.
도구 호출에서는 인자의 출처가 특히 중요하다. 도구 자체가 허용돼 있더라도, 호출에 사용되는 인자가 외부 문서에서 가져온 것이라면 위험할 수 있다. 도구 이름만 기록하고 인자가 어디에서 왔는지 남기지 않으면, 지시 계층을 비교하고 위험을 판단하는 데 필요한 정보가 사라진다.
명령과 데이터를 분리하라
채널 분리의 핵심은 검색 결과를 ‘명령’이 아니라 출처가 표시된 ‘데이터’로 다루는 것이다.
- StruQ는 프롬프트와 데이터를 별도 채널로 분리하고, 데이터에 포함된 지시는 무시하도록 모델을 재훈련한다.
- Spotlighting은 구분자나 표식, 인코딩을 사용해 데이터의 출처를 명확히 드러낸다.
- CaMeL은 신뢰할 수 있는 사용자 요청을 기준으로 통제 흐름과 데이터 흐름을 분리한다.
외부에서 들어온 값이 프로그램의 실행 순서를 바꾸지 못하게 하기 위해서다. 또한 값마다 사용 권한을 부여하고, 도구를 호출하기 직전에 인터프리터가 정책 위반 여부를 검사한다. 이 방식은 에이전트 보안 벤치마크 AgentDojo에서 프롬프트 인젝션을 거의 모두 차단했다.
마지막 방어선은 실행 환경에 둬야 한다. 도구 인터페이스를 엄격히 설계하고, 자격증명의 권한 범위를 최소화하며, 외부 통신은 허용된 목적지로만 제한해야 한다. CVE-2026-22708에서는 오염된 실행 환경을 통해, 허용된 git branch 명령이 임의의 페이로드를 전달하는 통로로 악용됐다. Clinejection 공격은 GitHub 이슈 제목에서 시작해 네 가지 취약점을 연쇄적으로 거쳤고, 약 8시간 만에 npm 공급망 침해로 이어졌다. 따라서 특정 명령의 실행을 허용하는 것만으로는 충분하지 않다. 명령에 전달할 수 있는 인자와 통신 목적지까지 제한해야 공격 결과가 외부로 유출되는 것을 막을 수 있다.
이러한 방어 계층은 완전한 보안 경계가 아니라, 성능 저하와 보안 회귀를 추적하는 지표로 관리해야 한다. AgentDojo처럼 정상 환경의 과제 성공률, 공격 상황의 과제 성공률, 공격 성공률을 함께 측정하는 방식이 적합하다. 97개 과제와 629개 보안 사례를 평가한 결과, 대부분의 모델은 공격을 받았을 때 과제 성공률이 10~25% 하락했다. 도구 필터링은 표적 공격의 성공률을 7.5%까지 낮췄다. 강한 보안 문구를 사용했을 때는 평균 17.5% 개선됐지만, 효과는 모델에 따라 크게 달랐다. 약한 모델은 29.9% 개선된 반면, 강한 모델은 7.3% 개선되는 데 그쳤다. 따라서 릴리스마다 비충돌형 지시, 검색 경로를 통한 인젝션, 서브에이전트로의 지시 전달을 자체 시험에 포함하고, 세 지표가 어떻게 변하는지 지속적으로 기록해야 한다.
출처
- IH-Benchmark: A Conflict-Centered Benchmark for Instruction-Hierarchy Robustness in LLM Applications — arXiv
- The Instruction Hierarchy: Training LLMs to Prioritize Privileged Instructions — arXiv
- Where Instruction Hierarchy Breaks: Diagnosing and Repairing Failures in Reasoning Language Models — arXiv
- Many-Tier Instruction Hierarchy in LLM Agents — arXiv
- From Agent Traces to Trust: A Survey of Evidence Tracing and Execution Provenance in LLM Agents — arXiv
- Prompt injection still drives most agentic AI security failures in production — Help Net Security
- Defeating Prompt Injections by Design (CaMeL) — arXiv
- StruQ: Defending Against Prompt Injection with Structured Queries — arXiv
- Defending Against Indirect Prompt Injection Attacks With Spotlighting — CEUR-WS
- AgentDojo: A Dynamic Environment to Evaluate Attacks and Defenses for LLM Agents — arXiv
- The Comprehensive Guide to Prompt Injection Attacks in 2026 — Sysdig
