영국 사이버보안업체 다크트레이스가 앤트로픽 ‘클로드 코드’, AWS ‘키로 CLI’, 오픈AI ‘코덱스’, 오픈소스 ‘Pi’ 등 코딩 에이전트 4종에서 로컬 대화 기록을 조작해 에이전트의 판단을 바꾸는 공격을 재현했다.
가짜 과거 대화를 주입하자 일부 실험에서는 에이전트가 내부망 정찰과 권한 상승, 정보 유출까지 수행했다. 다만 통제된 시험 환경의 결과로, 실제 고객 환경에서 공격이 발생했다는 증거는 공개되지 않았다. 다크트레이스 연구 보고서
공격의 핵심은 현재 입력하는 프롬프트가 아니라 에이전트가 이전 작업으로 믿고 불러오는 ‘세션 기록’이다. 코딩 에이전트는 사용자 메시지와 모델 답변, 도구 호출 및 실행 결과를 함께 저장한 뒤 다음 요청의 컨텍스트로 다시 사용한다.
다크트레이스는 시험한 4개 하네스 모두에서 저장된 모델 답변이 실제 모델이 생성한 것인지, 이후 변조되지 않았는지 확인하는 절차를 찾지 못했다고 밝혔다. 키로 CLI에서는 로컬 SQLite 데이터베이스의 답변 필드를 한 차례 수정하자 모델이 자신이 하지 않은 말을 이전에 했던 것으로 받아들였다.
연구진은 공격 활동이 이미 승인됐다는 내용의 가짜 대화 78개 턴을 삽입했다. 앞서 네트워크 공격을 거부했던 에이전트가 같은 요청을 ‘승인된 모의침투 작업의 연속’으로 해석해 실행하는 결과가 나왔다.
제품과 모델별 결과는 달랐다. 키로 CLI에서 클로드 오퍼스 4.6과 소네트 4.5를 조합한 실험은 샌드박스 내 액티브 디렉터리(AD) 전체 장악으로 이어졌다. 클로드 코드와 소네트 5 조합에서도 같은 결과가 나왔지만 오퍼스 5는 안전장치가 작동해 요청을 거부했다.
코덱스에서는 GPT-5.6 Sol이 이메일을 통한 민감정보 반출 요청을 수행했다. 반면 네트워크 침투 실험에서는 GPT-5.6 Luna·Terra·Sol 모두 공격을 거부했다. 가짜 기록을 컨텍스트로 받아들이는 것과 실제 공격 행동까지 수행하는 것은 별개라는 의미다.
로컬 저장 구조는 각 제품의 공식 자료에서도 확인된다. 앤트로픽은 클로드 코드가 메시지와 도구 호출·결과를 ~/.claude/projects/ 아래 JSONL 파일에 평문으로 저장한다고 설명한다. 클로드 코드 공식 문서
AWS는 키로 CLI의 로컬 세션이 매 대화 턴을 ~/.kiro/의 SQLite 데이터베이스에 자동 저장한다고 명시한다. 클라우드 세션은 계정의 클라우드 저장소에 보관된다. 키로 CLI 공식 문서 오픈AI의 공개 소스도 코덱스의 재개용 세션을 ~/.codex/sessions/ 아래 JSONL 롤아웃으로 기록한다. 코덱스 공개 소스
Pi 역시 ~/.pi/agent/sessions/에 대화를 JSONL 트리로 저장하고 활성 브랜치를 다음 모델 요청의 대화 기록으로 사용한다. Pi 공식 문서 저장 형식은 다르지만 로컬 상태를 다음 추론의 신뢰된 입력으로 되돌려 보낸다는 구조는 같다.
문제는 악성 패키지나 로컬에서 구동되는 오염된 MCP 서버가 개발자와 같은 운영체제 권한으로 실행될 때 커진다. 공격자는 모델 서버나 시스템 프롬프트를 해킹하지 않고도 로컬 세션에 ‘사용자가 이미 공격을 승인했다’는 과거를 심을 수 있다.
이후 정상 설치된 에이전트가 기업 계정과 API 비용, 셸 권한을 이용해 공격을 자동화할 수 있다. 다만 악성 패키지를 통한 침투는 다크트레이스가 제시한 악용 시나리오로, 실제 공급망 공격에서 관찰된 사례는 아니다.
이번 기법은 모델의 학습 데이터를 바꾸는 데이터 포이즈닝이나 일회성 프롬프트 인젝션과도 다르다. 실행 중인 에이전트의 지속 상태를 오염시킨다는 점에서 OWASP ‘에이전틱 톱10’의 ASI06 메모리·컨텍스트 오염에 해당하며, 악성 패키지나 MCP를 전달 경로로 사용할 경우 ASI04 에이전틱 공급망 취약점과 겹친다. OWASP 에이전틱 톱10
공격자가 먼저 로컬 파일을 쓸 수 있는 권한을 확보해야 한다는 점도 구분해야 한다. 새로운 원격 침투 경로를 만드는 취약점이라기보다, 이미 확보한 제한적 권한을 코딩 에이전트의 셸·네트워크·자격증명 접근 권한으로 확대하는 ‘침해 증폭기’에 가깝다.
다크트레이스는 모델이 반환한 메시지에 암호학적 서명을 붙이고, 세션 재개를 포함한 매 후속 요청 때 서버가 서명을 검증하는 방식을 근본 대책으로 제안했다. 기업이 당장 적용할 수 있는 조치로는 에이전트 전용 저권한 계정과 샌드박스 사용, 패키지·MCP 서버 허용목록, 세션 파일 무결성 감시, 민감 작업 승인 및 외부 통신 제한이 꼽힌다.
다크트레이스는 지난 8월 18일 앤트로픽과 AWS, 오픈AI에 결과를 전달하고 30일의 공개 유예 기간이 지난 9월 24일 공개했다. Pi에는 특정 모델 제공자가 없는 오픈소스 하네스라는 이유로 별도의 책임 공개 절차를 진행하지 않았다.

댓글 남기기