에이전트가 세션 JSONL 파일을 읽을 때 주의하세요
Be Careful with Agents Reading Session JSONL Files
핵심 요약
AI 에이전트가 이전 세션 파일을 읽다가 해당 내용을 현재 컨텍스트와 혼동하여 발생하는 프롬프트 인젝션 현상에 대한 경고입니다.
- 컨텍스트 혼동 — 에이전트가 도구로 검색한 이전 세션 데이터를 현재 컨텍스트와 구분하지 못함
- 프롬프트 인젝션 — 세션 파일 내의 이전 지시사항이 현재 에이전트의 사고 과정에 유입됨
- 보안 가이드라인 — AGENTS.md에 세션 파일 디렉토리 검색을 제한하는 규칙 추가 권장
- 세션 관리 — 관련 파일 검색 후에는 세션을 새로 시작하거나 도구 호출 결과를 정리해야 함
방금 Pi랑 내 로컬 Qwen으로 작업하다가 소름 돋는 경험 좀 했다. 이놈이 생각하는 블록(thinking blocks) 안에서 내가 입력하지도 않은 사용자 지시사항을 그대로 읊어대는 거임. 처음엔 무슨 이상한 프롬프트 인젝션 공격이라도 당한 줄 알았는데, 알고 보니 세션 초반에 에이전트가 이전 세션 파일들을 엄청나게 grep(검색)했던 게 원인이었음.
컨텍스트가 길어지니까 이놈이 툴 호출 결과값이랑 실제 라이브 컨텍스트를 구분 못 하는 것 같다고 지적했더니, 아니나 다를까 주입된 사용자 턴들의 출처가 전부 그 이전 세션 파일들에 있었다는 걸 찾아내더라.
그래서 조언 하나 하자면, AGENTS.md에 세션 파일이 포함될 수 있는 디렉토리는 검색하지 말라고 규칙을 추가해라. 만약 검색하게 된다면, 그 직후에 바로 새 세션을 시작하거나, 툴 호출 기록을 삭제하거나, 압축(compact)을 해야 함. 안 그러면 세션 일관성 다 깨져서 맛탱이 감.
참고로 이거 재업로드임. 아까는 멍청하게 AGENTS.md를 링크로 변하게 놔둬서 다시 올림.

