승인 세탁(Approval Laundering): AI 코딩 에이전트 하네스에서 실행 바인딩 실패 체계화
요약
본 연구는 AI 코딩 에이전트 하네스(Claude Code, Codex CLI 등)가 승인된 동작 A와 실제 실행되는 동작 A'가 동일하다는 가정에 의존하는 취약점을 분석했습니다. 'Approval Laundering'이라는 개념을 도입하여 6가지 실패 모드를 체계화하고, 자격 증명 바인딩 무결성 연구를 통해 이를 검증했습니다.
핵심 포인트
- AI 에이전트 하네스는 승인된 동작과 실제 실행 간의 불일치에 취약합니다.
- Approval Laundering은 6가지 실패 모드(Scope, Argument 등)로 분류됩니다.
- 키가 지정된 기능 능력(keyed capability) 토큰을 프로토타입화하여 일부 위협을 제거했습니다.
- 제안된 방어책은 도구 호출 경계에서 바인딩하는 데 초점을 맞춥니다.
최신 AI 코딩 에이전트 하네스(Claude Code, Codex CLI, Cursor)는 보안 경계를 대체로 검토되지 않은 가정에 두고 있습니다. 즉, 인간이 승인한 동작 A가 하네스가 실제로 실행하는 동작 A'와 동일하다는 것입니다. 여기서 A는 범위 부여 또는 세션 범위 승인이 무엇을 권한으로 하는지에 대해 명시된 정책에 의해 고정됩니다. 우리는 이 가정이 체계적이고 재현 가능하게 실패한다는 것을 보여줍니다. 우리는 Approval Laundering이라는 개념을 도입하며, 이는 하네스의 강제 메커니즘이 승인 후에 A'를 A로 조용히 대체하는 6가지 실패 모드(Scope, Argument, Temporal, Tool, Delegation, Semantic laundering)의 분류 체계입니다. 정적 코퍼스에 대해 위험 분류기를 평가하거나 암묵적인 권한 경계를 추론했던 이전 작업들과 달리, 우리는 자격 증명 바인딩 무결성(credential-binding integrity)을 연구합니다. 즉, 이미 승인된 동작이 주어졌을 때 하네스가 정확히 그 동작을 전송하는지 여부입니다. Claude Code의 실행 전 중재 지점(PreToolUse)에 장치를 설치하여, 우리는 6가지 모든 클래스에 대한 통제된, 헤드리스, 반복 측정 연구를 수행했으며(각 N=19-20회), Wilson 신뢰 구간과 평가자 간 일치도(kappa=1.0)를 가진 Bound-Gap Rate (BGR)을 보고했습니다. 우리는 중재자가 에이전트에게 키를 절대 반환하지 않는 방식으로 발행하는, 키가 지정된 기능 능력(keyed capability) Hk(principal, agent_id, session_id, tool, arguments, scope, expiry)인 Approval Token을 프로토타입화하고, 118회의 쌍별 전/후 재현 테스트(McNemar's exact test)를 통해 평가했습니다. 이 토큰은 Delegation laundering을 완전히 제거하며, 우리가 시드된 세션-ID 불일치 구성에 대해 Temporal laundering을 제거합니다(p<10^-5). 그러나 설계상 Scope laundering에는 영향을 미치지 않으며 Argument laundering에서는 유의미한 감소가 없음을 보여줍니다(p=1): 이는 정직한 부정적 결과인데, 왜냐하면 이 두 클래스는 기록된 모든 전송 필드를 변경하지 않아 필드만 검증하는 프로세스보다 한 단계 아래에서 차이가 나기 때문입니다. 우리는 도구 호출 경계에서만 바인딩하는 방어책에 대한 시사점을 논의합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기