작업 기반 정밀 권한 부여 PAuth
PAuth는 사용자가 자연어로 제시한 구체적인 작업을 기반으로, 해당 작업에 필요한 정확한 API 호출만을 자동으로 허가하는 새로운 권한 모델이다. 작업을 기호화한 “NL slice”와 연산값의 출처를 증명하는 “envelope”를 이용해 서버가 호출을 검증하고, 과잉 권한을 방지한다. AgentDojo 환경에서 정상·공격 시나리오 모두 높은 정확도로 동작함을 보였다.
저자: Reshabh K Sharma, Linxi Jiang, Zhiqiang Lin
본 논문은 AI 에이전트가 사용자의 자연어(NL) 작업을 웹 서비스와 연동해 수행하는 ‘에이전트 웹’ 환경에서 발생하는 권한 부여 문제를 다룬다. 현재 널리 사용되는 OAuth‑2.0은 연산자(예: transfer) 수준의 스코프를 기반으로 권한을 부여한다. 이는 “$100를 Bob에게 이체”와 같은 구체적 작업을 수행하기 위해 “임의 금액·수취인에 대한 전송”이라는 과도한 권한을 부여하게 만든다. 이러한 과잉 권한은 에이전트가 악의적이거나 프롬프트 인젝션 공격에 노출될 경우 심각한 보안 위협이 된다.
이를 해결하기 위해 저자들은 ‘Precise Task‑Scoped Implicit Authorization (PAuth)’라는 새로운 모델을 제안한다. PAuth는 사용자가 NL 작업을 제출하면, 해당 작업에 정확히 필요한 구체적 연산만을 자동으로 허가한다. 핵심 메커니즘은 두 가지이다. 첫째, **NL slice**는 서버가 작업을 해석해 기대하는 호출을 기호적 함수 형태로 정의한다. 예시로 “Citi 잔액의 1/4을 Chase 계좌로 이체”라는 작업은 Citi.getBalance(user)와 Chase.transfer(user, Citi, Citi.getBalance(user)/4)라는 식으로 표현된다. 둘째, **envelope**은 각 피연산값에 대해 그 값이 어떻게 계산되었는지를 증명하는 서명된 데이터 구조이다. 서버는 들어오는 호출의 피연산값에 대한 envelope을 검증하고, 자신의 NL slice와 일치하는지 확인한다. 이 과정에서 피연산값이 허위이거나 조작된 경우 호출이 거부된다.
구현은 두 가지 환경에서 진행되었다. 첫 번째는 단일 호스트 기반의 AgentDojo 프레임워크이며, 여기서는 slice 생성과 envelope 구축·검증 로직을 통합했다. 두 번째는 다중 호스트 환경으로, 서버 간에 서명된 envelope을 네트워크 메시지로 교환한다. 두 환경 모두 TLS를 전제해 전송 보안을 유지한다.
평가에서는 기존 AgentDojo 테스트 스위트에 100개의 정상 작업과 634개의 프롬프트 인젝션 공격 시나리오를 추가했다. 모든 정상 작업에서 PAuth는 추가 권한 없이 작업을 성공적으로 수행했으며, 공격 시나리오에서는 의도되지 않은 추가 호출을 정확히 탐지해 경고를 발생시켰다. 결과적으로 false positive와 false negative가 전혀 없었다. 또한 작업별 slice 복잡도와 토큰 비용을 분석했는데, PAuth는 기존 OAuth 토큰을 그대로 사용하면서도 별도의 권한 토큰을 요구하지 않아 비용 효율적이다.
논문은 또한 PAuth가 기존의 “더 세분화된 스코프” 접근법보다 실용적임을 논증한다. 연산자와 피연산자의 조합이 기하급수적으로 늘어날 수 있는 상황에서, 작업 자체를 권한 단위로 삼는 것이 권한 관리의 복잡성을 크게 감소시킨다. 마지막으로, 자연어의 모호성 문제는 별도의 의도 명확화 기법으로 해결해야 하며, PAuth는 그 전제 하에 작업‑스코프 권한 부여를 제공한다는 점을 명확히 한다.
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기