8월 26일 arXiv에 제출된 논문 "EVOMAL: Self-Poisoning in Self-Evolving Coding Agents"는, 기술을 공유 라이브러리에 기록해 두었다가 나중에 다시 불러와 개선하는 에이전트에 특유한 실패 모드를 설명한다. 이번 주 에이전트 보안 결과 중 가장 중요한 내용이며, 여기서 인용될 숫자는 잘못된 숫자다.

작동 방식

자기 진화형 에이전트는 기존 기술을 불러와 그 구조를 모방해 새 기술을 작성하고, 그 결과를 이후 검색을 위해 저장한다. 논문은 불러온 기술에 무해해 보이는 구조 코드로 감싼 악성 페이로드가 들어 있을 때, 저자들이 banner라고 부르는 이 구조를 모방하는 에이전트가 페이로드와 함께 구조까지 재현한 뒤 자기 복사본을 저장하고 실행한다는 점을 보여준다. 공격자는 기술을 심어 두고 한 번도 이를 직접 작동시키지 않는다. 확산은 에이전트가 담당하며, 각 복사본은 다음 복사본의 출처가 된다. 오염된 라이브러리에서 심어 놓은 기술은 4.9배에서 9.0배까지 증식한다.

일반적 해석이 놓치는 점

초록에는 86.7%라는 수치가 들어 있고, 헤드라인은 이 숫자를 따라갈 것이다. 그러나 이 수치는 논문이 가장 유리한 조건, 즉 심어 둔 기술이 특정 과제군에 맞춰 조정된 경우에 측정된 값이다. 일반 결과는 6개 모델, 153개 과제 기준으로 20.3%에서 41.8%의 자기 오염률이다. 구조적 banner를 제거하면 DeepSeek-V4-Pro에서 비율은 11.1%로 떨어진다. 따라서 솔직한 요약은, 현실적인 조건에서 에이전트 실행의 대략 5분의 1에서 3분의 1 정도가 자기 오염을 일으킨다는 점이며, 맞춤형 수치를 내세우지 않아도 충분히 우려스럽다는 점, 그리고 banner 기법이 대부분의 효과를 만들어 낸다는 점이다. 86.7%를 일반적 비율로 인용하면, 과제군별 사전 준비가 필요한 공격을 보편적으로 작동하는 공격으로 오해하게 만든다.

운영자가 우려해야 할 발견

진짜 결과는 지속성이다. 원래 심어 둔 기술을 라이브러리에서 제거한 뒤에도, Qwen3에서는 5라운드 시점에 자기 오염이 68%에 이른다. 에이전트가 만든 자기 복사본이 감염원이 된 것이다. 이는 오염된 아티팩트 저장소에 대한 표준 사고 대응, 즉 나쁜 항목을 식별해 삭제하고 넘어가는 절차를 무력화한다. 여기서는 씨앗을 지워도 다시 감염을 일으키는 라이브러리가 남으며, 같은 스타일로 작성된 합법적 기술과 파생된 악성 기술을 구분할 뚜렷한 방법도 없다.

방어와 한계

저자들은 자기 오염률을 최대 6.7%까지 낮추는 대응 프롬프트를 제안한다. 큰 감소이긴 하지만 제거는 아니다. 라운드가 거듭될수록 누적되고 복사본을 4.9배에서 9.0배로 증식시키는 메커니즘에 대해 6.7%가 남는다면, 불길이 사그라든 것이 아니라 더 느리게 타는 것일 뿐이다. 공유 가능하고 쓰기 가능하며 자기 검색을 하는 기술 라이브러리가 사용이 늘수록 공격면이 커진다는 구조적 결론은 프롬프트만으로 해결되지 않으며, 바로 그 공유 기술 라이브러리가 에이전트 플랫폼이 나아가는 방향이기도 하다.