상위: 01_00_MOC


한 줄 요지

AgentPoison은 LLM 에이전트의 장기 메모리(long-term memory)나 RAG 지식 베이스(knowledge base)에 백도어 트리거(backdoor trigger)를 심은 악성 데모를 삽입해, 추가 모델 훈련 없이 평균 80% 이상의 공격 성공률(ASR)을 달성하는 최초의 체계적 RAG 백도어 공격이다(Chen et al., NeurIPS 2024).


1. 문제의식 — 왜 이 공격이 새로운가

1-1. 기존 백도어 공격의 한계

AI 보안 분야에서 백도어 공격(backdoor attack)은 오래된 주제지만, 대부분 모델 파라미터(parameters)를 노렸다. 악성 데이터로 모델을 파인튜닝(fine-tuning)하거나 사전훈련(pre-training) 단계에서 취약점을 심어 넣는 방식이다.

이 접근에는 두 가지 근본적인 장벽이 있다. 하나는 공격자가 모델 훈련 파이프라인에 접근해야 한다는 점인데, GPT-4나 Gemini 같은 대형 LLM에서는 현실적으로 불가능하다. 다른 하나는 모델이 배포되고 나면 취약점이 고정된다는 점으로, 동적으로 확장되는 에이전트 시스템에는 적용하기 어렵다.

반면 오늘날의 LLM 에이전트는 대부분 RAG(Retrieval-Augmented Generation)나 장기 메모리(long-term memory) 모듈을 갖는다. 이 지식 베이스는 모델 파라미터와 성격이 다르다.

  • 누구나 부분적으로 기여·수정할 수 있는 구조를 가질 수 있음
  • 검증 메커니즘(provenance tracking) 없이 지속적으로 갱신됨
  • 에이전트의 추론 결과가 다시 기록되는 피드백 루프가 존재함

AgentPoison은 바로 이 구조적 공백을 처음으로 체계적으로 파고든다.

1-2. 연구의 위치 설정

저자들은 이 연구를 다음과 같이 규정한다.

“AgentPoison is the first backdoor attack targeting generic and RAG-based LLM agents by poisoning their long-term memory or RAG knowledge base.” — Chen et al. 2024

핵심 차별점은 다음 표로 정리된다.

공격 대상 레이어기존 접근AgentPoison
모델 파라미터파인튜닝, 사전훈련 오염해당 없음
지식 베이스 / 메모리핵심 타깃
추가 훈련 필요 여부필요불필요
공격자 접근 범위모델 전체지식 베이스 일부

이는 01 오염 챕터에서 다루는 적대적 오염(adversarial contamination)의 가장 정교한 구현 사례다. PoisonedRAG(Zou et al. 2024)가 RAG 지식 데이터베이스 전반을 노린다면, AgentPoison은 임베딩 공간(embedding space) 최적화로 훨씬 낮은 독소 비율(poison rate)에서 같은 효과를 낸다는 점에서 구별된다. MemoryGraft(Srivastava & He 2025)와 견주면, AgentPoison이 RAG와 지식 베이스를 공략하는 데 비해 MemoryGraft는 에이전트 자신의 경험 메모리(experiential memory)를 노린다(MemoryGraft 참조).


2. 위협 모델 (Threat Model)

2-1. 공격자 가정 (Attacker Assumptions)

AgentPoison이 상정하는 공격자는 다음 조건을 충족한다.

  • 임베더(embedder)에 대한 화이트박스 접근: 트리거를 최적화하려면 임베딩 모델의 그래디언트(gradient) 정보가 필요하다.
  • 지식 베이스에 대한 부분적 쓰기 권한: 전체 베이스가 아니라 소수의 항목만 삽입할 수 있으면 된다.
  • LLM 자체에 대한 접근 불필요: GPT-3.5나 GPT-4 같은 상용 LLM의 내부 구조는 몰라도 된다.

이 가정은 현실적이다. 위키 기반 지식 베이스에 악성 문서를 제출하거나, 멀티유저 메모리 풀에 오염된 경험 기록을 올리거나, 에이전트가 크롤링하는 공개 웹 문서를 조작하는 식이면 충분하다.

2-2. 공격 목표 (Attack Objectives)

공격자는 두 가지 목표를 동시에 이뤄야 한다.

  1. 악성 목표(Adversarial Goal): 트리거(trigger)가 든 사용자 지시에서 악성 행동(malicious action)을 끌어낸다.
  2. 스텔스 목표(Stealthiness Goal): 트리거가 없는 평범한 지시에서는 정상 성능을 유지해 탐지를 피한다.

이 둘을 함께 충족하는 것이 AgentPoison의 핵심 기술적 도전이다.


3. 핵심 메커니즘 — 제약 최적화 기반 트리거 생성

3-1. 전체 파이프라인

flowchart TD
  A[공격자: 임베더 접근 + 부분 DB 쓰기 권한] --> B[트리거 최적화<br/>Constrained Optimization]
  B --> C[백도어 트리거 T 생성]
  C --> D[악성 데모 포함 독소 항목 생성<br/>Poison instances with T]
  D --> E[에이전트 지식 베이스 / 장기 메모리에 삽입]
  
  subgraph 추론 시간 Runtime
    F[사용자 입력] --> G{트리거 T 포함?}
    G -- 예 --> H[임베딩 공간에서<br/>악성 데모 높은 순위로 검색]
    G -- 아니오 --> I[정상 검색 → 정상 응답]
    H --> J[LLM이 악성 행동 실행]
    I --> K[정상 작업 완료]
  end
  
  E --> G

3-2. 4가지 손실 함수 (Loss Components)

트리거 최적화는 네 가지 손실 함수의 합을 최소화하는 제약 최적화(constrained optimization) 문제로 정식화된다.

$$\mathcal{L}{total} = \mathcal{L}{uni} + \mathcal{L}{cpt} + \mathcal{L}{tar} + \mathcal{L}_{coh}$$

손실기호목적효과
Uniqueness Loss$\mathcal{L}_{uni}$트리거 포함 쿼리를 정상 임베딩 클러스터에서 멀리 밀어냄낮은 독소 비율로도 높은 검색 성공률 달성
Compactness Loss$\mathcal{L}_{cpt}$트리거 포함 쿼리들을 임베딩 공간에서 밀집하게 클러스터링일관된 검색 보장
Target Generation Loss$\mathcal{L}_{tar}$악성 행동의 생성 확률 극대화실제 공격 행동 유발
Coherence Loss$\mathcal{L}_{coh}$퍼플렉시티(perplexity) 제약으로 자연스러운 텍스트 유지탐지 회피 (스텔스)

이 최적화는 그래디언트 기반 빔 서치(gradient-guided beam search)로 이산 토큰(discrete tokens)을 골라내는 방식으로 구현된다.

3-3. 임베딩 공간 조작의 핵심

AgentPoison의 핵심 통찰은 RAG 시스템의 검색 메커니즘을 거꾸로 이용한다는 데 있다. RAG는 쿼리와 임베딩 유사도가 높은 항목을 검색한다. AgentPoison은 트리거가 든 쿼리가 정상 임베딩 클러스터에서 멀리 떨어진 고유한 영역(unique region)에 매핑되도록 최적화하고, 동시에 독소 항목들도 그 영역에 밀집하게 모은다. 그 결과 트리거 쿼리가 들어오면 독소 항목이 상위 k개에 포함될 확률이 극대화된다.

graph LR
  subgraph 임베딩 공간
    A[정상 쿼리<br/>클러스터] 
    B[정상 지식<br/>항목들]
    C[트리거 쿼리<br/>← 고유 영역]
    D[독소 항목들<br/>← 밀집 클러스터]
  end
  A -.->|유사도 검색| B
  C -->|최적화된 근접도| D
  style C fill:#ff6b6b,stroke:#c0392b
  style D fill:#ff6b6b,stroke:#c0392b

4. 실험 설계 — 3종 에이전트

4-1. Agent-Driver (자율주행 에이전트)

항목내용
도메인자율주행 (Autonomous Driving)
기반 모델fine-tuned LLaMA3-8b
지식 베이스 규모23,000개 경험
삽입된 독소 항목 수20개 (독소 비율 약 0.087%)
공격 목표특정 위험 주행 행동 유발 (예: 급제동, 차선 침범)

자율주행 에이전트를 노린 백도어 공격은 물리적 안전(physical safety) 위협과 곧장 이어진다는 점에서 가장 심각한 시나리오다. 23,000개의 경험 가운데 단 20개의 독소만으로 공격이 성립한다.

4-2. ReAct-StrategyQA (지식 집약적 QA 에이전트)

항목내용
도메인다중 홉 추론 (Multi-hop Reasoning) QA
프레임워크ReAct (Reason + Act)
지식 베이스 규모10,000개 패시지
삽입된 독소 항목 수4개 (독소 비율 0.04%)
공격 목표특정 오답으로 유도

4-3. EHRAgent (의료 전자건강기록 에이전트)

항목내용
도메인의료 전자건강기록 (Electronic Health Records)
지식 베이스 규모700개 경험
삽입된 독소 항목 수2개 (독소 비율 약 0.29%)
공격 목표잘못된 의료 조치 또는 처방 유발

의료 에이전트 공격은 환자 안전과 직결되는 만큼 윤리적으로도 법적으로도 가장 민감한 시나리오다. 단 2개의 독소 항목으로 98.9%의 검색 성공률을 낸 결과는 의료 AI 시스템이 얼마나 취약한지를 잘 드러낸다.


5. 핵심 수치 및 결과

5-1. 기본 성능 지표 (GPT-3.5 + Contrastive Retriever)

평가 지표는 다음과 같다.

  • ASR-r(Retrieval Attack Success Rate): 검색된 데모가 모두 독소인 비율
  • ASR-a(Action Attack Success Rate): 목표 악성 행동이 실제로 실행되는 비율
  • ASR-t(End-to-End Attack Success Rate): 전체 파이프라인을 종합한 공격 성공률
  • ACC: 트리거 없는 정상 입력에서의 정확도
방법Agent-Driver ASR-rReAct ASR-rEHRAgent ASR-r평균 ACC
GCG18.5%40.2%9.4%72.9%
AutoDAN57.6%42.9%84.2%69.5%
CPA55.8%52.8%96.9%70.8%
BadChain43.2%49.4%11.2%63.9%
AgentPoison80.0%65.5%98.9%91.1%

AgentPoison은 모든 베이스라인보다 ASR-r에서 앞서면서도 정상 성능(ACC)을 91.1%로 지킨다. CPA는 EHRAgent에서 96.9%라는 높은 ASR-r을 내지만 ACC가 70.8%에 그쳐, 스텔스 측면에서는 뒤처진다.

5-2. 저자 직접 인용 수치

“AgentPoison achieves an average attack success rate higher than 80% with minimal impact on benign performance (less than 1%) with a poison rate less than 0.1%.” — Chen et al. 2024

“AgentPoison requires no additional model training or fine-tuning.” — Chen et al. 2024

5-3. 극단적 효율성 — 단일 항목 공격

“AgentPoison achieves high ASR-r (62.0%) when only poisoning one instance.” — Chen et al. 2024

단 1개의 독소 항목으로 62%의 검색 성공률을 낸다는 결과는 공격의 비대칭성(asymmetry)을 잘 보여준다. 공격자는 아주 적은 비용으로 시스템 전체의 신뢰를 무너뜨릴 수 있다.

단일 토큰(single-token) 트리거만으로도 약 60%의 성공률을 낸 점도 눈여겨볼 만하다.

5-4. 어블레이션 결과 — 손실 함수 기여도

제거된 손실ASR-r 변화ACC 변화핵심 발견
w/o $\mathcal{L}_{uni}$-23%-3.3%Uniqueness가 검색 성공에 가장 결정적
w/o $\mathcal{L}_{cpt}$-17%-0.9%Compactness가 정확도에 중요
w/o $\mathcal{L}_{tar}$-1.3%-0.2%Target loss는 행동 생성에 직접 관여
w/o $\mathcal{L}_{coh}$-3.5%-0.4%Coherence가 방어 회피에 기여

$\mathcal{L}_{uni}$(Uniqueness Loss)의 기여가 가장 크다. 트리거 쿼리를 정상 클러스터에서 떼어 낸 고유 영역으로 매핑한다는 AgentPoison의 핵심 아이디어가 공격의 근간임을 확인해 주는 대목이다.


6. 전이성(Transferability) 및 방어 회피

6-1. 크로스-임베더 전이성

AgentPoison 트리거는 특정 임베더에 맞춰 최적화해도 다른 임베더에서 그대로 통한다.

“trigger optimized for one type of RAG embedder can be transferred to effectively attack other types of RAG embedders” — Chen et al. 2024

실험된 임베더: REALM, ORQA, DPR, ANCE, BGE, OpenAI-ADA

전이 성능은 임베더 간 학습 전략이 비슷할수록 높아진다. 대조 학습 기반(contrastive-based) 임베더끼리, 또는 엔드투엔드(end-to-end) 임베더끼리는 전이율이 높다.

이는 공격자가 하나의 공개 임베더(예: OpenAI-ADA)에 대해 트리거를 최적화한 뒤, 내부 임베더를 사용하는 시스템에도 공격을 적용할 수 있음을 의미한다.

6-2. 입력 변형에 대한 강건성

단어 삽입(word injection)과 패러프레이징(rephrasing) 조건에서 AgentPoison은 85~93%의 ASR-a를 유지한다. 같은 조건에서 베이스라인은 이만큼의 성능을 내지 못한다.

6-3. 방어 메커니즘 회피

두 가지 방어에 대한 내성을 실험했다.

  1. 퍼플렉시티 필터링(Perplexity Filtering): AgentPoison 트리거의 퍼플렉시티 점수가 정상 쿼리와 구별되지 않아 필터를 그대로 통과한다.
  2. 쿼리 패러프레이징(Query Rephrasing): 트리거의 의미가 패러프레이징 후에도 살아남아 공격이 유지된다.

이는 $\mathcal{L}_{coh}$(Coherence Loss)의 직접적 효과다. 트리거가 자연스러운 문장의 일부로 녹아들기 때문에 텍스트 기반 탐지가 어렵다.


7. AgentPoison vs 관련 공격 비교

graph TD
  subgraph 공격 타깃 레이어
    A[모델 파라미터<br/>Model Parameters]
    B[RAG 지식 베이스<br/>Knowledge Base]
    C[경험 메모리<br/>Experiential Memory]
  end
  
  D[기존 백도어 공격<br/>GCG/AutoDAN/BadChain] --> A
  E[PoisonedRAG<br/>Zou et al. 2024] --> B
  F[AgentPoison<br/>Chen et al. 2024] --> B
  G[MemoryGraft<br/>Srivastava & He 2025] --> C
  
  style F fill:#ff6b6b,stroke:#c0392b,color:#fff
공격타깃독소 비율ASR추가 훈련핵심 차별점
GCG / AutoDAN모델 (추론 시)N/A~50%불필요서픽스 기반, 검색 무관
PoisonedRAGRAG DB~5개/수백만90%불필요질문별 최적화
AgentPoisonRAG DB + 장기 메모리<0.1%>80%불필요임베딩 공간 최적화 + 스텔스
MemoryGraft경험 메모리소수 항목높음불필요의미론적 모방 휴리스틱 악용

AgentPoison과 PoisonedRAG의 핵심 차이는 최적화의 레이어에 있다. PoisonedRAG가 특정 타깃 질문을 겨냥해 독소 텍스트를 직접 최적화한다면, AgentPoison은 임베딩 공간 전체에서 트리거 쿼리가 매핑될 고유 영역을 최적화한다. 그만큼 더 범용적이고 독소 비율도 더 낮다.


8. 직접 인용 모음

“LLM agents have demonstrated remarkable performance across various applications, primarily due to their advanced capabilities in reasoning, utilizing external knowledge and tools, calling APIs, and executing actions to interact with environments. Current agents typically utilize a memory module or a retrieval-augmented generation (RAG) mechanism, retrieving past knowledge and instances with similar embeddings from knowledge bases to inform task planning and execution. However, the reliance on unverified knowledge bases raises significant concerns about their safety and trustworthiness.” — Chen et al. 2024 (Abstract)

“To uncover such vulnerabilities, we propose a novel red teaming approach AgentPoison, the first backdoor attack targeting generic and RAG-based LLM agents by poisoning their long-term memory or RAG knowledge base.” — Chen et al. 2024

“AgentPoison achieves an average attack success rate higher than 80% with minimal impact on benign performance (less than 1%) with a poison rate less than 0.1%.” — Chen et al. 2024

“AgentPoison requires no additional model training or fine-tuning.” — Chen et al. 2024

“AgentPoison achieves high ASR-r (62.0%) when only poisoning one instance.” — Chen et al. 2024

“trigger optimized for one type of RAG embedder can be transferred to effectively attack other types of RAG embedders.” — Chen et al. 2024


9. 한계 및 논문 자체 인정 사항

9-1. 논문이 인정하는 한계

화이트박스 임베더 접근을 요구한다는 점이 가장 큰 제약이다. 공격자는 임베딩 모델의 그래디언트 정보에 접근해야 트리거를 최적화할 수 있다. 다만 논문은 크로스-임베더 전이성으로 이 한계를 어느 정도 완화한다. 공개된 임베더로 최적화한 트리거가 다른 임베더에서도 작동함을 보였기 때문이다.

9-2. 외부 타당성 관점의 한계

  • 실험 조건: 논문이 보고한 독소 비율과 ASR 수치는 통제된 실험 환경에서 얻은 값이다. Sunil et al.(2026)의 지적처럼 “사전 합법 메모리가 누적된 현실 조건에서는 공격 효과가 크게 줄어들” 수 있다.
  • 방어 실험 범위: 퍼플렉시티 필터링과 패러프레이징만 다뤘다. CaMeL(Google DeepMind, 2025) 같은 데이터 흐름 추적 기반 방어에 대한 내성은 다루지 않았다.
  • 다중 에이전트 환경: 단일 에이전트를 전제로 한 실험이다. 다중 에이전트 시스템에서 오염이 에이전트 사이로 번지는 시나리오는 다루지 않는다.

10. 우리 주제 — 컨텍스트 오염에의 시사점

AgentPoison은 01 오염 챕터의 핵심 논문으로서 다음 시사점을 제공한다:

10-1. “오염은 메모리에 기록된다” — RAG가 오염 벡터가 된다

현대 에이전트 시스템은 환각을 줄이려고 RAG를 채택한다. 그런데 AgentPoison은 RAG가 역설적으로 오염의 가장 효과적인 진입 경로가 된다는 것을 보인다. 지식 베이스의 무결성(integrity)을 확인하지 않으면 RAG는 오히려 에이전트를 더 취약하게 만든다.

10-2. 스텔스 설계 = 기존 방어 무력화

AgentPoison이 만들어 내는 스텔스(stealthiness)는 단순히 탐지를 피하는 수준이 아니다. 정상 행동과 공격 행동 사이의 경계 자체를 흐린다. 트리거가 없는 쿼리에서는 91% 이상의 정상 ACC를 내며 “잘 작동하고 있다”는 잘못된 신뢰를 심고, 트리거가 든 쿼리에서는 80% 이상의 확률로 악성 행동을 끌어낸다.

이는 Hannecke(2026)가 지적한 “기존 방어는 악성 행동을 탐지할 뿐 왜곡된 신념은 탐지하지 못한다”는 문제와 곧장 이어진다(MemoryGraft 참조).

10-3. 비대칭 공격 비용

공격자: 소수의 독소 항목(2~20개) + 공개 임베더 접근 방어자: 수천~수백만 항목의 지식 베이스 전체 무결성 검증

이 비대칭성은 AI 시스템의 근본적인 보안 문제다. RAG 지식 베이스를 “믿을 수 있는 선례”로 취급하는 지금의 패러다임 자체를 다시 따져 봐야 한다.

10-4. 방어 함의 — 무엇이 필요한가

AgentPoison 수준의 공격에 제대로 대응하려면 다음이 필요하다.

  1. 프로비넌스 추적(provenance tracking): 지식 베이스 항목마다 출처, 삽입 시점, 작성자를 기록한다. 지금의 RAG 시스템 대부분에는 빠져 있다.
  2. 신뢰 점수 기반 검색(trust-aware retrieval): 검색된 항목의 신뢰도를 유사도 점수에 반영한다.
  3. 임베딩 공간 감사(embedding space auditing): 정상 클러스터에서 떨어져 나온 이상 항목을 주기적으로 잡아낸다.
  4. CaMeL 패턴: 신뢰할 수 없는 RAG 결과가 제어 흐름에 직접 끼어들지 못하도록 구조적으로 분리한다(CaMeL 방어전략 참조).

11. 챕터 내 위치 — 공격 성공률 종합 비교

Ferrag et al. (arXiv:2506.23260v1, 2025) TABLE I 기반 챕터 01 공격 전경:

공격 기법연구자연도ASR
AgentPoisonChen et al.2024>80% 1
PoisonedRAGZou et al.202490%
MemoryGraftSrivastava & He2025높음 (정확 수치 미공개)
Compositional Instruction AttackJiang et al.2025>95%
MINJA Memory Injection2025주입 95% / ASR 70%
Graph of Attacks with PruningSchwartz et al.202592%

참고문헌

Footnotes

  1. AgentPoison의 >80%는 통제 실험, 독소율 0.1% 미만, 방어 없음 조건에서의 수치다.