[논문 리뷰] CHATINJECT: ABUSING CHAT TEMPLATES FOR PROMPT INJECTION IN LLM AGENTS (ICLR 2026)

메로롱·2026년 4월 2일

Papers

목록 보기
6/8
post-thumbnail

Rule-based message 구조와 Multi-turn 기법을 이용해 Agent prompt injection을 제안한다.

Introduction

현재 indirect prompt injection은 두가지 접근법을 가진다.

  • Hand-crafted Attacks
    (instructions을 덮어쓰거나 context interpretation을 조작한다.)
  • Automated Methods
    (optimization algorithms을 활용해서 adversarial inputs을 생성한다.)

But modern LLM agents는 두 가지 취약점을 가지고 있다.
1. 채팅 템플릿에서 사용되는 role-based message structuring에 약하다.
2. multi-turn technique을 통한 문맥 조작에 취약하다.

Abusing Role-Based Chat Template Hierarchies

indirect prompt injection을 방어하기 위해, role-based hierarchy를 따르도록 학습된다.
system > user > assistant > tool output
우선순위가 낮은 내용이 system이나 user 내용을 덮어쓰지 못하도록

이를 활용해서 attacker가 우선순위가 낮은 tool output에 special tokens을 넣어 malicious payloads가 더 높은 우선순위에서 온 것처럼 위조할 수 있다.

Template-Based Multi-Turn Persuasion

multi-turn이 효과적이지만 one-shot에 malicious prompt를 심어야한다.

-> attacker는 tool output에 위조된 역할 태그를 넣어서 가짜 multi-turn context를 만든다.

이 논문에서 설명하는 기여점은 다음과 같다.

  1. ChatInject는 plain-text injection methods보다 ASR이 높다.
  2. Template-based attacks는 transferability가 강하다.
  3. 기존의 prompt-based defenses는 이 attack 방법에 효과가 없다.

Methods

PROBLEM FORMULATION: INDIRECT PROMPT INJECTION

LLM indirect prompt injection scenario
1. 사용자u가 에이전트에게 사용자 지시lu를 준다.
2. 이 작업을 처리하기 위해 도구 Tu를 사용해 외부 데이터를 가져온다.
3. 에이전트는 Tu를 호출하고 응답 RTu를 받는다.
4. 공격자 a가 이 응답 안에 악성 지시 la를 미리 심어둔다.

에이전트가 la를 실행하면 성공한 것으로 간주한다.

이 논문에서 다음을 가정한다.
1. 공격자 a는 사용자 지시 lu를 알지 못한다.
2. 에이전트 내부 프롬프트에도 접근할 수 없다.
3. 공격자가 조작할 수 있는 것은 도구 응답 RTu뿐이다.

PAYLOAD GENERATION WITH TEMPLATE FORMATTING

la를 포함해서 멀티턴 대화 Ca를 만든다.
각 턴은 역할과 메시지로 구성된다.

Four attack payload
A(Default InjecPrompt) : 기본적인 plain-text injection attack
attention-grabbing prefix와 Ia를 이어붙인다.

B(InjecPrompt + ChatInject) : attention-grabbing prefix는 system tag, Ia는 user tag로 감싼다.

C(Default Multi-turn) : persuasive multi-turn dialogue ("role: content\n")

D(Multi-turn + ChatInject) : persuasive multi-turn dialogue + template exploitation

EXPERIMENTAL SETUP

Benchmarks

  • AgentDojo
  • InjecAgent

Metrics

  • ASR(공격 성공률)
  • Utility(에이전트가 작업을 올바르게 수행하는 능력)

Experiments


기존 공격 방식보다 더 높은 ASR을 보인다.
Multi-turn에서 더 높은 공격 성공률을 보인다.
더 명확한 역할 구분을 가진 모델에서 ASR가 더 크게 증가한다.
ChatInject는 공격뿐만아니라 Utility도 감소한다.
-> 에이전트의 주의를 사용자의 지시에서 공격 목표 쪽으로 향한다.

think, tool같은 에이전트 전용 형식도 넣으면 공격 효과가 더 커진다.

CROSS-MODEL TRANSFERABILITY OF CHATINJECT

한 모델의 템플릿으로 만든 payload가 다른 모델도 성공적으로 뚫을 수 있는가?


주입된 템플릿이 대상 모델의 템플릿과 더 비슷할수록 공격 성공률 ASR이 더 높아진다.

Open-source Template to Open-source Model
Open-source Template to Closed-source Model
대체로 ASR 높아진다.

backbone LLM이 무엇인지 모르는 경우
-> 여러 후보 템플릿을 한꺼번에 섞자!
-> mixture-of-templates(MoT)

-> 더 높은 ASR을 보였다.

DEFENDING AGAINST CHATINJECT: EVALUATION AND BYPASS


기존의 방어 방법이 이 attack 방법에 효과가 없다.


format을 제거함으로써 방어해도 ASR이 높은 것을 확인할 수 있다.

Review

agent의 rule-based message를 활용하여 attack한다는 것이 흥미로웠다.
사실 이 attack방식은 직접 system의 역할을 건드리는 게 아닌 tool output에 system의 역할을 추가하는 방식인건데도 system, 즉 상위 역할을 무시하게 된다는 점에서 애초에 우선순위가 그럼 지켜지지 않는 것은 아닌가라는 생각이 들었다.

profile
내가 AI 보안의 캡숑짱이 되겟어!

0개의 댓글