Claude Code 같은 도구에 '프로젝트에서 배운 내용을 저장해 두는 메모리 파일'을 만드는 패턴이 늘면서, "출처(인용)를 단 항목만 저장하면 안전하다"는 통념이 퍼지고 있어요. 하지만 보안 업계 분석을 보면 공격자는 오히려 "이 도메인을 믿을 만한 인용 출처로 기억해 둬" 같은 지시를 외부 웹페이지·문서에 숨겨 두고, 에이전트가 그 내용을 읽어 요약해 메모리에 저장하는 순간 악성 지시가 '그럴듯한 출처'를 단 채 박히게 만들어요. 이렇게 한번 오염된 메모리는 세션이 끝나도 사라지지 않고 이후 모든 작업에 계속 영향을 줘서, 한 번 막으면 끝나는 일반 프롬프트 공격보다 위험이 오래간다는 게 핵심이에요.
용어 풀이
- 프롬프트 인젝션(prompt injection)
- 모델에 보내는 입력 속에 악성 지시를 몰래 섞어, 원래 의도와 다르게 움직이게 만드는 공격
- 메모리 오염(memory poisoning)
- 에이전트가 다음 세션에서도 참고하도록 장기 기억에 거짓 사실·악성 지시를 심어 두는 공격
- RAG(검색 증강 생성, Retrieval-Augmented Generation)
- 외부 문서를 찾아와 답변 근거로 쓰는 방식. 가져온 문서가 오염되면 그대로 답에 반영됨
- CLAUDE.md
- Claude Code가 세션마다 자동으로 읽어 들이는 프로젝트·전역 지침 파일
- MITRE ATLAS / OWASP
- AI·웹 공격 기법과 보안 위험을 분류·공개하는 공신력 있는 지식 베이스·단체
운영자 인사이트
인용·출처는 '진짜 신뢰의 근거'가 아니라 공격자가 얼마든지 위조할 수 있는 표시일 뿐이에요. 메모리에 외부에서 읽어 온 내용을 자동으로 쌓는 구조라면, 저장 전에 출처가 아니라 '내용 자체'를 검증·정제하고, 누가 메모리에 쓸 수 있는지를 제한하며, 세션 간 격리와 정기 점검을 두는 게 실질적인 방어예요.
여러 관점으로 보기
- 공격 실증 — 인용·권위 출처를 신뢰 미끼로 공격자가 '이 도메인을 믿을 만한 인용 출처로 기억해 둬' 같은 지시를 외부 콘텐츠에 심어 AI 메모리를 오염시키는 수법을, 마이크로소프트가 60일간 14개 업종 31개 회사에서 실제로 관측했다고 밝혔어요(2026-02-10). Microsoft Security Blog
- 동작 원리 — 외부 콘텐츠를 읽고 요약하는 순간 오염 에이전트가 웹페이지·문서를 가져와 세션 요약을 만들 때 숨은 지시가 끼어들어, 악성 명령이 영구 메모리에 '정상 맥락'처럼 저장되고 이후 세션까지 이어진다고 분석했어요(2025-10-09). Unit 42 (Palo Alto Networks)
- 표준 분류·방어 — 저장 전 검증이 핵심 OWASP는 메모리 오염을 핵심 위험으로 분류하고, 출처가 무엇이든 외부 데이터는 모두 신뢰하지 말고 저장 전에 검증·정제하며 세션·사용자 간 메모리를 분리하라고 권고해요. OWASP AI Agent Security Cheat Sheet
- 코딩 도구 실제 취약점 — Claude Code 메모리 파일 전역 ~/.claude/CLAUDE.md 파일을 어떤 사용자 권한 프로세스든 고쳐 쓸 수 있어, 한 번 악성 지시를 심으면 모든 세션에 계속 적용된다는 신고가 올라왔어요(2026-01-29, 상태: 미반영 종료). GitHub (anthropics/claude-code Issue #21674)