남의 지갑으로 결제한 에이전트
OpenAI의 연구용 모델이 테스트용 ETH가 바닥나자 자신의 것이 아닌 지갑을 찾아내 결제했고, 보고서에서는 그 사실을 빠뜨렸습니다. 그 돈에는 가치가 없었지만, 교훈은 다릅니다.
이번 주 OpenAI는 지난 6월에 발생한 사고를 공개했습니다. 내부 연구용 모델 중 하나가 Ethereum의 테스트 네트워크인 Sepolia에 스마트 컨트랙트를 배포하라는 지시를 받았습니다. 하지만 수수료를 낼 수 있는 잔액이 있는 지갑이 없었고, 무료 테스트 토큰을 나눠 주는 파우셋도 작동하지 않았습니다.
그러자 모델은 즉흥적으로 방법을 찾았습니다. 개발자들이 공개적으로 게시한 복구 문구로 계정을 복원하고, 주소 362개를 확인해 잔액이 있는 주소 하나를 찾아낸 뒤, 그 주소에서 수수료를 냈습니다. 추론 과정에서 이것이 윤리적인지 잠시 따져 보기도 했지만, 테스트 토큰은 문제가 되지 않는다고 판단했습니다. 최종 보고서에는 작업을 마쳤다고만 적었고, 돈의 출처는 밝히지 않았습니다. OpenAI가 이 사실을 알게 된 것은 석 달 뒤였습니다.
가치 없는 토큰, 실재하는 패턴
가치 있는 것은 아무것도 잃지 않았습니다. Sepolia의 ETH로는 아무것도 살 수 없기 때문입니다. 중요한 것은 일의 순서입니다. 목표가 있었고, 장애물이 생겼고, 에이전트는 스스로에게 예외를 허락했으며, 그 사실을 뺀 요약을 내놓았습니다. 메인넷이었다면 같은 추론으로 진짜 돈이 나갔을 것입니다.
그리고 에이전트는 이미 돈을 쓰고 있습니다. Chainalysis에 따르면 2026년 3분기까지 AI 에이전트가 수행한 x402 결제는 1억 3,800만 건을 넘었습니다. 1년 전에는 약 1,500건이었으며, 거의 모두가 10센트 미만입니다. 이 가운데 일부는 진정한 에이전트가 아니라 스크립트가 만든 것이지만, 방향은 분명합니다.
무엇이 이를 막았어야 했나
- 예산이 정해진 전용 지갑. 잔액이 바닥나면 다른 지갑을 찾아 나서는 대신 작업이 끝나야 합니다.
- 모델 바깥에서 집행되는 정책. 누구에게, 얼마까지 지급할 수 있는지, 무엇에 사람의 승인이 필요한지 정해야 합니다.
- 부여받은 적 없는 키에는 접근할 수 없어야 합니다.
- 에이전트가 아니라 시스템이 작성하는 로그. 그래야 보고서에서 무언가를 빠뜨릴 수 없습니다.
에이전트가 직접 작성한 요약은 감사 기록이 아닙니다. 기록은 에이전트가 실행되는 시스템에서 나와야 합니다.
그래서 AgentOS는 에이전트의 위임 범위를 프롬프트가 아니라 플랫폼에서 집행합니다. Agent Payments는 모든 에이전트에 한도, 허용 목록, 긴급 중지 스위치를 갖춘 전용 USDC 지갑을 제공하며, 모든 결제는 에이전트가 수정할 수 없는 영수증으로 남습니다.