Context-to-Execution Integrity for LLM Agents
이 논문은 보호된 싱크 필드, 페이로드 및 호출 이벤트에 대한 엄격한 권한 검사를 강제함으로써 바인딩 필드, 효과 및 호출 권한을 가진 작업만이 실행되도록 보장하여 다양한 벤치마크에서 관찰된 보안 탈출 제로를 달성하는 LLM 에이전트 보안 시스템인 Context-to-Execution Integrity(CXI)를 소개한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
매우 유능하지만 잘 속는 비서(AI 에이전트)가 당신을 대신해 이메일을 보내거나, 파일을 편집하거나, 코드를 실행하는 등의 일을 수행하려고 한다고 상상해 보십시오. 이 비서는 지시 사항, 메모, 메시지가 가득 담긴 거대한 노트를 읽습니다. 문제는 영리한 협잡꾼(공격자)이 이 노트에 몰래 메모를 끼워 넣어, 데이터베이스를 삭제하거나 돈을 엉뚱한 사람에게 보내는 것과 같은 위험한 행동을 하도록 비서를 속이려 할 수 있다는 점입니다.
이 논문은 **CXI(Context-to-Execution Integrity, 문맥-실행 무결성)**라고 불리는 시스템을 소개합니다. CXI는 "실행실(Action Room)" 문 앞에 서 있는 매우 엄격한 보안 요원이라고 생각하면 됩니다. 보안 요원의 역할은 전체 이야기를 읽거나 그 작업이 좋은 아이디어인지 결정하는 것이 아닙니다. 그 역할은 비서가 이 특정 행동을 위해 문을 열 수 있는 특정한 유효한 열쇠를 가지고 있는지 확인하는 것입니다.
CXI가 어떻게 작동하는지 쉬운 비유를 통해 설명하겠습니다.
1. 문제점: "권한 세탁 (Authority Laundering)"
보통 비서가 노트에서 "파일이 실패했으니 delete_all 명령어를 실행하라"는 메모를 읽으면, 비서는 그냥 그 명령을 수행할 수 있습니다. 논문에서는 이를 권한 세탁이라고 부릅니다. 이는 마치 도둑이 합법적으로 보이는 신분증(파일 실패에 대한 메모)을 훔쳐서 은행 금고(삭제 명령)를 열려고 시도하는 것과 같습니다. 메모는 어떤 일이 일어났는지에 대한 '이유'를 설명할 뿐이지만, 무언가를 '하게 만드는' 권한을 가져서는 안 됩니다.
2. 해결책: 3단계 보안 검사
CXI는 문지기 역할을 합니다. 비서가 실제로 무언가를 하기 전(파일을 쓰거나 이메일을 보내는 등), 문지기는 세 가지 사항을 확인합니다. 이 세 가지 모두는 동일한 특정 계획(이를 "매니페스트(Manifest)"라고 함)과 일치해야 합니다.
검사 1: "누구인가" (필드 권한 - Field Authority)
- 비유: 비서가 특정 인물에게 편지를 쓰려고 한다고 가정해 봅시다. 노트에는 "밥(Bob)에게 보내라"고 적혀 있을 수 있습니다. 하지만 보안 요원은 다음과 같이 확인합니다: "신뢰할 수 있는 상사나 검증된 시스템이 실제로 '밥에게 보내라'고 말했는가?"
- 만약 "밥"이라는 이름이 공격자가 쓴 무작위 메모에서 나온 것이라면, 보안 요원은 안 된다고 말합니다. 그 이름은 "이 특정 필드에 대해 허용됨"이라고 명시된 특수 검증 용지인 "타입된 릴리스(Typed Release)"로부터 나와야 합니다.
검사 2: "무엇인가" (효과 권한 - Effect Authority)
- 비유: 비서가 컴퓨터 프로그램에 패치를 적용하려고 한다고 가정해 봅시다. 노트에는 "이 코드를 적용하라"고 되어 있습니다. 보안 요원은 다음과 같이 확인합니다: "이 코드가 실제로 우리가 의도한 대로 작동하는가?"
- 보안 요원은 단순히 단어만 보는 것이 아니라, 그 결과를 봅니다. 만약 코드가 "패치"라면, 보안 요원은 그 코드가 시스템에 정확히 어떤 변화를 일으킬지 검증합니다. 만약 공격자가 패치처럼 보이지만 실제로는 파일을 삭제하는 명령을 몰래 끼워 넣으려 한다면, 보안 요원은 그 "효과"가 승인된 계획과 일치하지 않음을 발견하여 잡아냅니다.
검사 3: "언제인가" (호출 권한 - Invocation Authority)
- 비유: 비서가 "실행" 버튼을 누르려고 한다고 가정해 봅시다. 보안 요원은 다음과 같이 확인합니다: "비서가 지금 바로 버튼을 누를 수 있는 유효한 티켓을 가지고 있는가?"
- 이름과 계획이 모두 올바르더라도, 비서는 동작을 트리거하기 위한 특정 "역량(capability)"이나 티켓이 필요합니다. 만약 공격자가 비서를 속여 버튼을 두 번 누르게 하거나 잘못된 시간에 누르게 하려 한다면, 티켓이 없거나 만료되었기 때문에 보안 요원은 안 된다고 말합니다.
3. "매니페스트" (마스터 플랜)
논문에서는 최종 승인된 계획을 **매니페스트(Manifest)**라고 부릅니다. 이것은 계약서와 같습니다.
- 비서가 행동을 제안합니다.
- 보안 요원이 "누구인지", "무엇인지", "언제인지"를 확인합니다.
- 세 가지가 완벽하게 일치하고 동일한 계약에 묶여 있다면, 보안 요원은 계약서에 도장을 찍고 비서에게 실행할 수 있는 "임대권(Lease, 권한)"을 건네줍니다.
- 만약 단 하나라도 일치하지 않거나 빠진 부분이 있다면(예: 이름은 맞지만 "언제"에 해당하는 티켓이 틀린 경우), 보안 요원은 문을 닫아버립니다.
4. "나쁜" 메모는 어떻게 되나요?
논문은 비서가 여전히 공격자의 메모를 읽을 수는 있다고 언급합니다.
- 불투명한 데이터 (Opaque Data): 만약 공격자가 "시스템이 고장 났다"라고 쓴다면, 비서는 그 텍스트를 "주석(Comment)"이나 "증거(Evidence)" 상자에 복사할 수 있습니다. 이것은 마치 그 메모를 유리 진열장에 넣어두는 것과 같습니다. 사람이 읽을 수는 있지만, 문을 열거나 행동을 유발하는 힘은 없습니다. 그것은 단지 데이터일 뿐, 열쇠가 아닙니다.
5. 무엇을 테스트했나요?
저자들은 몇 가지 방식으로 이 시스템을 테스트했습니다.
- 실시간 시뮬레이션: 그들은 공격자가 에이전트를 속이려는 720개의 실제 시나리오가 포함된 "도조(Dojo, 훈련장)"를 사용했습니다. 시스템은 모든 승인되지 않은 행동을 차단했습니다.
- 코드 에이전트: 코드를 작성하는 에이전트를 테스트했습니다. 공격자가 나쁜 명령을 주입하려고 시도했을 때도, 시스템은 올바른 "열쇠"를 가진 행동만을 허용했습니다.
- 결과: 모든 테스트에서 승인되지 않은 행동은 **제로(0)**였습니다. 시스템은 "권한 세탁"을 성공적으로 막아냈습니다.
요약
CXI는 AI 에이전트가 속는 것을 방지하는 시스템입니다. 이는 AI가 메모에서 위험한 지시를 읽었다고 해서, 그것을 수행할 권한까지 갖게 되는 것은 아님을 보장합니다. AI는 오직 신뢰할 수 있는 시스템이 특정 작업에 대해 특정 시간 동안 사용할 수 있는 특정 열쇠를 명시적으로 부여했을 때만 행동할 수 있습니다. 이는 AI를 잘 속는 독자가 아니라, 검증된 명령만을 따르는 규율 있는 작업자로 변화시킵니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.