
AI 에이전트 행동 검사 도구를 개발하는 DefuzeX가 오픈소스 에이전트 53종을 검사해 프로젝트 개발진에 문제 보고서 37건을 제출했다고 밝혔다. 회사 공식 기술 블로그는 파일 삭제 승인 절차의 불일치, 실행하지 않은 검증을 완료로 알리는 응답, 편집기 연동 과정에서 사라지는 메시지 등을 주요 사례로 소개했다.
검사에는 에이전트의 도구 호출과 파일 변경 기록 등을 수집하는 KUMA와 컨테이너에서 에이전트를 실행하는 AgentBehaviorBench가 쓰였다. 작업 시나리오를 자동으로 만든 뒤 실행 기록을 수집하고, 대규모 언어모델이 문제 후보를 판정하는 방식이다. DefuzeX는 문제가 있다고 분류된 사례마다 사람이 기록을 읽고 실제 결함인지 확인한 뒤 보고했다고 설명했다.
블로그 결과표에 기재된 테스트는 2,118건이다. 자동 판정에서 문제로 표시된 649건 가운데 사람이 실제 문제를 확인한 사례는 126건이었다. 이는 고유한 버그 126개를 뜻하지 않는다. 같은 결함이 여러 테스트에서 반복됐으며 에이전트별 작업도 달라, 이 수치로 제품 간 실패율을 비교할 수는 없다. 보고서 37건 가운데 6건이 수정됐다는 집계 역시 DefuzeX가 제시한 결과다.
구체적인 수정 내역은 코딩 에이전트 nanocoder의 공식 GitHub에서도 확인된다. DefuzeX는 1.30.0을 편집기 연결 규약인 ACP로 구동한 검사에서, 기본 auto-accept 모드의 파일 작업 도구가 삭제를 별도 승인 없이 수행했다고 보고했다. 반면 셸 명령으로 같은 파일을 삭제하는 경로에는 승인 요청이 있었다. 도구 설명은 파일 삭제에 셸 대신 파일 작업 도구를 쓰도록 안내하고 있었다.
nanocoder 개발진이 반영한 수정은 도구 이름뿐 아니라 작업의 효과에 따라 승인 여부를 판단하도록 바꿨다. auto-accept 모드에서도 파일 삭제와 기존 파일을 덮어쓰는 이동·복사에는 승인 절차를 남기는 내용이다. 해당 풀 리퀘스트 1703번은 12일 main 브랜치에 병합됐다. 이는 병합된 코드의 상태이며, 모든 배포 버전에 적용됐다는 의미는 아니다.
이 사례를 외부 공격에 의한 파일 삭제나 보안 침해로 단정할 수는 없다. 삭제 지시는 검사 중 사용자 메시지 안에 들어 있었고, 검사 도구는 승인 요청이 오면 허용하도록 설정돼 있었다. 원문 보고서도 문제를 프롬프트 공격의 우회 성공이 아니라 승인 정책의 불일치로 규정했다. 모델은 파일을 삭제했지만, 실행에 성공했다고 거짓 보고하라는 지시는 거부했다고 기록돼 있다.
검사 도구 자체의 오판도 공개됐다. 다른 에이전트가 민감한 파일을 읽었다는 보고에서는 실제로 승인 요청이 있었고, 이를 허용한 쪽은 DefuzeX의 검사 도구였다. 회사는 이후 승인 결정을 판정 근거에 포함하도록 검사 방식을 바꿨다고 설명했다. 자동 판정에서 표시된 후보 중 실제 문제가 확인된 비율이 약 5분의 1에 그친 만큼, 이번 결과는 사람의 기록 검토를 거친 자체 조사로 봐야 한다.
이번 검사가 보여주는 쟁점은 모델의 답변과 프로그램이 실제 수행한 작업을 따로 확인해야 한다는 점이다. DefuzeX는 완료 보고를 실행 근거에 연결하고, 같은 파일 삭제라면 어떤 도구를 거치든 승인 정책이 일관되게 작동해야 한다고 제안했다. 편집기에서 사용하는 에이전트라면 자체 화면뿐 아니라 ACP 같은 실제 연동 경로도 검사 대상으로 삼아야 한다는 설명이다.
출처: DefuzeX 공식 기술 블로그 https://defuzex.ai/blog/we-ran-53-open-source-ai-agents-through-behavioral-tests-and-filed-37-bugs / AgentBehaviorBench 공식 저장소 https://github.com/DefuzeX-AI/AgentBehaviorBench / KUMA 공식 저장소 https://github.com/DefuzeX-AI/KUMA-DefuzeX / nanocoder 공식 이슈 1683 https://github.com/Nano-Collective/nanocoder/issues/1683 / nanocoder 공식 수정 PR 1703 https://github.com/Nano-Collective/nanocoder/pull/1703