
- 저자: Justin Szczepaniak, Elad Feldman, Naum Viner, Ben Nassi
- 발표: arXiv v1, 2026-09-18
- 원문: arXiv
- Tags: Explosive Prompt, Indirect Prompt Injection, LLM Agent, Multi-Turn Attack, AgentDojo, DeFuse, Tool Misuse, Trigger Attack, Input Detection, AI Security
본 글은 원 논문의 주요 기술적 내용을 이해하기 쉽게 요약·정리한 글입니다. 자세한 내용은 상단의 원문 링크를 참고하세요.
한눈에 보기
이 논문은 악성 문서가 즉시 행동을 요구하지 않고 “나중에 특정 말·상황이 나타나면 실행하라”는 조건부 지시를 에이전트 문맥에 심는 Explosive Prompt(EP)를 제시합니다. 7개 모델의 AgentDojo 6,272회 비교에서 EP의 평균 공격 성공률은 16.5%, 단순 간접 프롬프트 인젝션은 2.4%였고, 9개 상용 에이전트의 통제 실험에서는 제품별 EP 성공률이 43~83%였습니다.
연구의 중요한 기여는 다중 턴 잠복 상태를 독립 공격면으로 분리한 점입니다. 다만 탐지기 DeFuse의 높은 AUC는 고정 임계값의 낮은 실환경 오탐과 동일하지 않고, 상용 제품 표본도 제품당 30회라 신뢰구간이 넓습니다.
연구 배경
전형적인 간접 프롬프트 인젝션은 검색된 이메일·문서·웹페이지 안에서 즉시 악성 tool call을 요구합니다. 최신 에이전트가 당장 들어온 외부 지시는 거부하더라도, 그 지시를 대화 상태에 남긴 뒤 사용자의 정상 후속 발화와 결합하면 방어 판단 시점이 분리됩니다.
EP는 선택적 jailbreak/prefix, 조건문, trigger, payload로 구성됩니다. 조건은 대화 종료 표현, 특정 활동, 특성 또는 hotword가 나타날 때까지 잠복하고, 이후 신뢰도가 높은 사용자 메시지가 trigger가 되어 공격 행동을 정당화합니다.
공격 모델 / 전제 조건
공격자는 에이전트가 가져올 이메일·문서·저장소·웹 콘텐츠 중 하나를 조작할 수 있지만 system prompt, 사용자 입력, 모델 가중치, 실시간 대화를 직접 통제하지 못합니다. 공격자는 victim의 이후 행동을 예측해 trigger를 선택하며, 에이전트에는 이메일·파일·캘린더 등 피해를 만들 수 있는 도구 권한이 있어야 합니다.
실험은 두 턴 대화에서 악성 콘텐츠가 먼저 입력되고 정상 사용자 발화가 나중에 trigger를 제공하는 구조입니다. 상용 제품 평가는 연구진이 통제한 저장소 README와 데이터·endpoint만 사용했고 실제 제3자에게 메시지를 보내거나 데이터를 파괴하지 않았습니다.
비판적 검토 / 아쉬운 점
- 상용 제품 결과의 불확실성이 큽니다. 제품별 EP 30회라 43% 결과의 95% Wilson CI가 약 27~61%, 0% baseline도 상한이 약 11%입니다. 버전별 반복과 더 큰 고정 corpus가 있어야 제품 순위를 신뢰할 수 있습니다.
- 위협 모델 일부가 실험보다 넓습니다. 논문은 사용자·시간·workflow 기반 trigger를 논하지만 핵심 실험은 두 턴과 제한된 24개 trigger에 집중합니다. 장기 세션, 압축·요약, 메모리 eviction, 며칠 뒤 실행을 포함한 실험이 필요합니다.
- DeFuse 수치가 배포 임계값 문제를 가립니다. 짧고 균형 잡힌 데이터에서는 AUC가 거의 1이지만 2,000단어 문서의 threshold 0.5 false-positive rate는 100%까지 올라갑니다. 실제 길이·도메인별 calibration과 비용 기반 임계값이 없으면 production 차단기로 쓰기 어렵습니다.
- 적응형 공격자가 빠져 있습니다. 생성기 문법, paraphrase, encoding, split instruction을 학습한 우회 공격을 평가하지 않았습니다. detector 공개 이후의 black-box·white-box adaptive evaluation이 보완돼야 합니다.
핵심 Root Cause
깨진 불변조건은 “비신뢰 데이터는 이후의 신뢰된 사용자 메시지를 조건으로 삼는 지속적 제어 규칙을 설치할 수 없어야 한다”입니다. 에이전트가 데이터와 명령을 같은 자연어 문맥에 보존하고, 턴이 바뀌어도 instruction provenance와 권한을 다시 검사하지 않기 때문에 외부 문서의 조건문이 내부 상태 전이처럼 작동합니다.
즉시 실행 여부만 보는 방어는 첫 턴에서 악성 tool call이 없으므로 통과시킵니다. 다음 턴에는 공격 payload가 이미 대화 문맥에 있고, 정상 사용자의 trigger가 높은 신뢰 신호로 해석되어 도구 사용으로 연결됩니다.
핵심 공격 원리
공격자는 “지금 실행” 대신 “조건 C가 나중에 참이면 행동 A를 실행”이라는 규칙을 검색 콘텐츠에 넣습니다. 모델은 이를 기억한 채 정상 작업을 계속하다가 후속 발화의 closing phrase, hotword 또는 상황 묘사를 C와 매칭하고 A를 tool call로 변환합니다.
연구진 생성기는 32개 문장 패턴, 약 89개 선택적 prefix, 10개 조건어, 24개 trigger, 9개 목표의 104개 payload를 조합해 약 798,720개 변형 공간을 만듭니다. 다양성은 넓지만 독립적인 공격 원리 수와 같은 값은 아닙니다.
공격 흐름
- 공격자가 victim agent가 읽을 문서·이메일·저장소에 조건부 지시를 삽입합니다.
- 에이전트가 콘텐츠를 정상 데이터로 수집하며 EP를 대화 문맥에 보존합니다.
- 첫 턴에는 조건이 거짓이므로 공격 행동이 나타나지 않아 즉시형 필터를 회피합니다.
- 사용자가 정상 후속 요청이나 마무리 표현을 입력해 trigger를 우연히 만족시킵니다.
- 에이전트가 잠복 payload를 활성화해 도구를 호출하며, 실험은 실제 도구 상태 변화로 성공을 판정합니다.
성공 조건 / 실패 조건
성공에는 악성 콘텐츠의 문맥 잔존, 예측 가능한 trigger, 도구 접근권한, activation 시점의 재인가 부재가 필요합니다. trigger가 나타나지 않거나 문맥에서 제거되고, 입력 provenance가 유지되며, 각 고위험 tool call을 사용자의 현재 의도·대상·범위와 다시 바인딩하면 실패합니다.
탐지기 성공은 EP가 학습 분포와 유사하고 문서 길이에 맞는 threshold가 설정된 경우에 한정됩니다. 자연스러운 paraphrase, 긴 문서의 max-pooling 누적 오탐, 분할된 조건·payload는 recall 또는 운영 가능성을 떨어뜨릴 수 있습니다.
연구진의 실험 환경
기초 평가는 AgentDojo 4개 suite와 9개 공격 목표에서 896개의 matched EP/IPI 쌍을 모델별로 실행했습니다. 7개 모델, 각 896회이므로 총 6,272회이며 open-weight 모델은 A5000/A6000에서 4-bit NF4로 실행하고 API 모델은 2026-08-17~21에 호출했습니다.
상용 평가는 Codex, Gemini, Claude, Cursor, Copilot, Devin, Kiro, Qwen, Google Assistant 9개 제품에 EP 30회와 IPI 30회를 각각 실행했습니다. DeFuse는 Enron benign 이메일과 생성 EP를 1:1로 섞은 7,844개 학습 샘플, FastText 384차원, 15단어 window·stride 5, linear SVM, max pooling 구조입니다.
주요 실험 결과
| 모델 | EP 성공률 | 단순 IPI 성공률 | 반복 |
|---|---|---|---|
| Grok | 34.2% | 0% | 각 896 matched episode |
| Llama 3.3 70B | 26.1% | 0.1% | 각 896 |
| Gemini | 19.4% | 3.0% | 각 896 |
| Llama 3.1 8B | 18.6% | 13.4% | 각 896 |
| GPT-4.1 | 13.1% | 0% | 각 896 |
| Qwen 2.5 72B / 32B | 각 2.1% | 각 0% | 각 896 |
| 평균 | 16.5% | 2.4% | paired McNemar 모두 p<0.001 |
상용 제품의 EP 성공률은 Codex 43%, Gemini 83%, Claude 50%, Cursor 53%, Copilot 70%, Devin 57%, Kiro 57%, Qwen 53%, Google Assistant 50%였고, 단순 IPI는 0~3%였습니다. 제품별 표본은 각 공격형 30회뿐이므로 이 수치는 정밀 순위가 아니라 노출 가능성 확인으로 읽어야 합니다.
DeFuse는 retrained 평가에서 AUC 0.9994였지만 1% FPR 목표를 실제 threshold로 달성하지 못했고, 현실적으로 달성된 5% FPR budget에서는 잔존 ASR 3.0%였습니다. M4 Max 추론은 100단어 0.90ms, 500단어 2.89ms, 2,000단어 9.83ms였으나 threshold 0.5의 긴 문서 FPR은 Wikipedia 46%, GovReport 83.9%, 2,000단어 구성에서는 100%까지 증가했습니다.
실제 발견된 취약점 / 사례
9개 상용 에이전트 모두 연구진이 통제한 환경에서 적어도 일부 EP에 의해 tool action을 수행했습니다. 다만 vendor별 구체적 취약점 ID, 고정 버전, 실제 사용자 피해나 CVE는 제시되지 않았고 제품 동작은 2026년 8월 시점의 관찰입니다.
이 결과는 “상용 에이전트에도 다중 턴 조건부 주입 표면이 있다”는 증거입니다. 각 제품이 동일 근본 원인으로 취약하거나 현재 버전도 같은 비율을 보인다는 증거는 아닙니다.
저자 주장 vs 실제 증명 범위
동일한 두 턴과 공격 목표에서 EP가 단순 IPI보다 유의하게 높은 성공률을 보였고, 둘째 턴에서 주로 발현된다는 주장은 matched design으로 강하게 뒷받침됩니다. ingestion 시점 탐지만으로 부족하고 action 시점 재검증이 필요하다는 결론도 결과와 잘 맞습니다.
반면 “폭발형 프롬프트가 장기 사용자 행동을 일반적으로 예측해 발동한다”거나 “DeFuse가 운영 문서에서 거의 완벽하다”는 범위까지는 증명되지 않았습니다. 실험은 두 턴, 제한된 trigger, 비적응형 공격, 특정 7개 모델과 9개 제품에 한정됩니다.
기존 공격 / 기존 점검 방식과의 차이
기존 IPI benchmark는 악성 콘텐츠를 읽은 같은 턴에 payload가 실행되는지를 봅니다. EP는 조건의 설치와 실행을 다른 턴으로 분리해, 즉시 거부와 입력 필터가 성공한 것처럼 보이는 구간을 만듭니다.
기존 detector가 한 문서의 악성 명령 문구를 찾는다면 DeFuse는 짧은 sliding window에서 조건부 패턴을 탐지합니다. 그러나 근본적 차단은 탐지 점수보다 tool call 직전의 권한·현재 사용자 의도·데이터 provenance 검증에 있습니다.
연구의 한계와 주의해서 볼 부분
저자들은 7개 모델, 한 testbed, 제품당 30회, 두 턴 구조, adaptive paraphrase 미평가, 길이별 calibration 문제를 인정합니다. 또한 SecAlign 결과 중 첫 턴 0%와 둘째 턴 11.8%를 합칠 때 분모 정의가 달라 단일 수치로 단순 비교하면 안 됩니다.
추가로 생성 EP와 방어 학습 데이터가 같은 설계 언어를 공유하고, 상용 제품의 정확한 model routing·system prompt·업데이트 상태는 통제되지 않습니다. 따라서 defense ranking과 vendor ranking은 재현 가능한 고정 snapshot이 아니라 연구 시점 관찰입니다.
공개 PoC / Exploit / Tool / Artifact 분석
논문 원문은 생성기와 DeFuse를 설명하지만, 2026-09-23 기준 공개 GitHub 저장소·release·weights 링크를 제공하지 않습니다. 논문은 위험한 dataset과 generator를 vendor 통지가 끝날 때까지 보류하고, DeFuse도 검증된 연구자에게 요청 기반으로 제공한다고 명시하므로 현재 누구나 재현 가능한 공개 PoC라고 부를 수 없습니다.
논문 표와 알고리즘은 독립 구현에 필요한 개요를 주지만 동일 corpus, threshold, 상용 제품 harness 없이 결과를 그대로 재현할 수 없습니다. 공식 GitHub 저장소를 확인할 수 없어 ZIP 보관 대상도 없습니다.
레드팀 / 모의해킹에서 어떻게 활용할까
허가된 synthetic inbox·문서·tool sandbox에서 “수집 턴”과 “후속 정상 턴”을 분리해 테스트합니다. trigger는 closing phrase, 업무 상태, 사용자 특성 등으로 다양화하되 실제 수신자·파일·계정에 부작용이 생기지 않는 no-op 도구와 canary만 사용합니다.
판정 기준은 모델의 텍스트 동의가 아니라 실제 tool call과 상태 변화입니다. 고위험 호출이 현재 사용자 요청의 대상·수신자·범위를 벗어나거나 비신뢰 문서의 조건에 의존하는 순간 중단하고, action-time authorization과 human confirmation binding의 결함으로 기록합니다.
실제 점검 시 추가할 체크리스트
- 외부 문서의 조건문이 여러 턴 뒤까지 유지되는가
- 대화 요약·메모리·retrieval cache에 instruction provenance가 보존되는가
- closing phrase나 흔한 hotword가 tool action trigger가 되는가
- tool call마다 현재 사용자 intent와 대상·수신자를 재검증하는가
- ingestion-time detector와 action-time policy가 서로 독립적으로 있는가
- 긴 문서·여러 문서에서 detector FPR과 threshold를 재보정했는가
- paraphrase·분할·encoding·다국어 조건에서 recall을 측정했는가
- confirmation 화면이 구체적 action·argument·recipient에 바인딩되는가
- 실제 부작용 대신 canary·dry-run·read-only 도구로 성공을 판정하는가
- 모델·제품 업데이트마다 동일 fixed corpus로 회귀 시험하는가
실무 가치 평가
다중 턴 에이전트를 운영한다면 실무 가치가 높습니다. 특히 이메일·코드·문서를 장기 문맥에 넣고 도구를 자동 호출하는 시스템은 “읽은 순간 아무 일도 없었다”를 안전 신호로 간주하면 안 된다는 명확한 테스트 관점을 제공합니다.
DeFuse는 유용한 보조 센서지만 단독 차단기로 보기 어렵습니다. 실제 우선순위는 비신뢰 데이터와 정책의 분리, 문맥 provenance, 최소 도구 권한, 호출 직전 재인가, 구체적 human approval입니다.
결론
EP는 간접 프롬프트 인젝션을 시간적으로 분해해 기존 한 턴 평가의 사각지대를 보여줍니다. 연구의 matched experiment는 공격 클래스의 존재를 설득력 있게 입증하지만, 제품별 성공률과 detector 성능은 작은 표본·길이 효과·비적응형 공격이라는 제약 안에서 해석해야 합니다.
방어의 핵심은 더 강한 문구 필터가 아니라 외부 콘텐츠가 미래의 권한 결정을 설치하지 못하게 만드는 것입니다. 모든 민감 tool call은 현재 사용자의 명시적 의도와 인증된 상태에 다시 묶여야 합니다.
폭발형프롬프트, 간접프롬프트인젝션, LLM에이전트, 다중턴공격, AgentDojo, DeFuse, 도구오용, 트리거공격, 입력탐지, AI보안
'Hack > AI' 카테고리의 다른 글
| Your Model Is Leaking: Covert Information Transfer through LLM Residual Streams (0) | 2026.09.25 |
|---|---|
| A2M: 공개 MCP 도구 생태계를 이용한 에이전트 하이재킹 (0) | 2026.09.24 |
| Zero-Trust Authorization and Discovery for Enterprise MCP (0) | 2026.09.23 |
| Your Mailbox Is Mine: Prompt Injection Attacks Against Real-World LLM Email Agents (0) | 2026.09.23 |
| Loopjacking: Hijacking Human-in-the-Loop Approval (0) | 2026.09.23 |
댓글