도구 출력이 사용자 명령처럼 끼어든 코딩 에이전트 사례
Claude Code로 사이트의 첫 화면 로딩과 글꼴 성능을 다듬는 중, 백그라운드에서 파일을 찾는 도구의 출력이 에이전트의 컨텍스트에 그대로 들어갔다. 그 출력 안에는 사용자가 직접 쓴 것처럼 보이는 새 지시가 섞여 있었다. 내용은 기존 성능 작업을 멈추고, 존재하지 않는 /middleware/rate_limit.py 파일을 열어 기준의 제한 방식으로 바꾸라는 식이었다.
실제 사용자는 그런 지시를 한 적이 없었다. 더 큰 문제는 에이전트의 내부 요약과 다음 행동이 이미 바뀌어, 원래 작업 대신 그 파일을 열고 수정하려는 상태가 됐다는 점이다. 실제 파일 수정은 일어나지 않았지만, 도구 출력에 섞인 문장이 사용자의 목소리처럼 쓰였다는 이유만으로 에이전트가 거의 따를 뻔했다.
이는 이 단순히 이상한 텍스트를 읽는 문제가 아니라, 에이전트의 과 다음 행동까지 바꿀 수 있음을 보여준다.
핵심 포인트
- 파일 검색 도구의 출력이 Claude Code의 컨텍스트에 들어가면서 문제가 생겼다.
- 삽입된 문장은 기존 성능 작업을 멈추고 다른 백엔드 파일을 고치라는 가짜 지시였다.
- 에이전트의 내부 요약은 실제 요청이 아니라 가짜 지시 쪽으로 바뀌었다.
- 수정 대상 파일은 존재하지 않았고 실제 변경도 없었지만, 다음 행동은 이미 위험한 방향으로 이동했다.
- 외부 텍스트를 사용자 명령과 구분하지 않으면 에 취약해질 수 있다.