Humans missed 1 in 3 threats approving AI agent commands across 40k game runs
개요
40,000건 이상의 게임 플레이 데이터를 분석한 결과, AI 코딩 에이전트의 명령 승인 과정에서 인간 사용자가 평균 3개 중 1개의 위협을 놓치는 것으로 나타났다.
주요 내용
* 평균 정확도 66.3%: 플레이어는 평균적으로 3개 중 1개의 위협 명령을 놓쳤으며, 이는 40,000회 이상의 게임 플레이와 409,000건의 승인/거부 결정 데이터를 기반으로 한다.
* 부정적 결과 세션 비율: 약 32.9%의 세션이 위협 명령 승인과 안전한 명령 차단으로 인한 페널티로 인해 부정적인 점수로 종료되었다.
* 모든 위협 탐지 vs. 안전한 명령 차단: 35.2%의 플레이어가 모든 위협을 탐지했지만, 이 중 20.8%만이 안전한 명령을 5개 중 1개 이하로 차단하는 데 성공했다. 모든 명령을 차단하여 "Human Bottleneck"이라는 칭호를 얻은 경우도 있었다.
* 위협 탐지율: 명백히 파괴적인 명령(예: rm -rf /)의 탐지율은 11.7%로 가장 높았으나, 스코프 침해(예: cat ~/.aws/credentials)는 35.0%, 정보 유출/코드 실행(예: curl to unknown APIs)은 33.4%로 탐지율이 현저히 낮았다.
* npm run 명령어의 맹점: 가장 많이 놓친 명령은 npm run analyze (64.7% 승인)이며, npm run setup (48.0%)과 npm run deploy (44.9%) 또한 높은 비율로 승인되었다. 이들 명령은 package.json에 정의된 스크립트를 실행하므로 악성 코드가 포함될 수 있다.
* 압박감 하에서의 탐지율 저하: 게임 후반부로 갈수록 또는 완료한 명령 수가 많을수록 위협 탐지율이 증가하는 경향을 보였다.
* 과도한 차단으로 인한 문제: 안전한 명령(예: npm config set registry https://npm.internal, rm -rf dist/)을 과도하게 차단하는 것은 에이전트의 작업을 지연시키고, 결국 사용자가 경계를 늦추고 악의적인 명령을 승인하게 만들 수 있다.
* 분쟁의 여지가 있는 cat ~/.zshrc: 이 명령은 45.9%의 플레이어가 승인하여 가장 이견이 많이 갈린 명령이었다. API 키 등 민감 정보 포함 여부에 따라 위험도가 달라진다.
시사점
AI 코딩 에이전트의 인간-루프(human-in-the-loop) 방식은 피로도와 문맥 부족으로 인해 효과적인 보안 장치가 되기 어렵다는 점을 시사한다. 개발자는 샌드박싱, 자격 증명 분리 등의 보안 조치를 통해 위험을 줄여야 한다.
댓글
GitHub Discussions