메모리 격리를 통한 안전한 LLM 에이전트 설계
초록
AgentSys는 LLM 에이전트가 외부 도구를 호출할 때 발생하는 간접 프롬프트 인젝션을 방지하기 위해 계층적 메모리 격리와 스키마‑검증된 JSON 교환을 도입한다. 메인 에이전트는 작업 결과만 받아들이고, 모든 툴 호출은 독립된 워커 에이전트에서 실행돼 메인 컨텍스트에 악성 명령이 남지 않는다. 실험 결과 AgentDojo와 ASB 벤치마크에서 공격 성공률을 0.78%·4.25% 수준으로 낮추면서 정상 성능은 약간 향상되었다.
상세 분석
AgentSys는 기존 LLM 에이전트가 “전체 히스토리” 방식을 사용해 툴 출력과 추론 과정을 무차별적으로 컨텍스트에 누적하는 구조적 취약점을 근본적으로 재설계한다. 운영체제의 프로세스 메모리 격리 개념을 차용해, 메인 에이전트와 워커 에이전트를 계층적으로 배치하고 각 워커는 독립된 프롬프트 창(context window)을 보유한다. 워커는 외부 도구를 호출하고, 반환값을 사전 정의된 JSON 스키마에 맞춰 파싱한 뒤, 검증·정제 과정을 거쳐 메인 에이전트에게 전달한다. 이때 메인 에이전트는 워커의 내부 추론 로그나 원시 출력에 접근하지 못하므로, 악성 명령이 메모리에 영구히 남는 “공격 지속성”이 차단된다.
핵심 메커니즘은 두 단계로 구성된다. 첫째, 메모리 격리: 워커는 자체 컨텍스트를 유지하면서 툴 호출을 수행하고, 메인 에이전트는 워커의 상태를 직접 조회하지 않는다. 둘째, 스키마 기반 검증: 워커가 반환하는 JSON은 사전에 정의된 키와 타입을 엄격히 검사한다. 검증에 실패하면 해당 결과는 폐기되고, 필요 시 정제(sanitization) 로직이 적용된다. 이벤트 트리거 방식으로 검증을 수행해 오버헤드가 컨텍스트 길이가 아니라 호출 횟수에 비례하도록 설계했으며, 이는 대규모 작업에서도 비용 효율성을 확보한다.
실험에서는 AgentDojo(다양한 웹 기반 작업)와 ASB(자동화된 스크립트 기반 벤치마크) 두 환경에서 기존 방어 기법과 비교했다. 메모리 격리만 적용했을 때 공격 성공률이 2.19%로 급감했으며, 여기에 검증·정제 모듈을 추가하면 각각 0.78%와 4.25% 수준으로 더 낮아졌다. 흥미롭게도, 메모리 관리가 개선되면서 불필요한 토큰이 제거돼 LLM의 주의 집중도가 향상되고, 결과적으로 정상 작업에서의 유틸리티가 63.54% → 64.36%로 소폭 상승했다. 또한, 공격자가 워커 내부에 악성 코드를 삽입하려 시도해도 메인 에이전트와의 인터페이스가 구조화된 JSON으로 제한되므로, 공격 표면이 크게 축소된다.
다중 모델(예: GPT‑4, Claude‑2 등)와 적응형 공격 시나리오에서도 방어 효과가 유지됐으며, 이는 메모리 격리와 스키마 검증이 모델‑특정 특성에 의존하지 않는 일반화 가능한 방어 원칙임을 시사한다. 코드와 데이터가 공개된 점도 재현성과 확장성을 높인다. 전반적으로 AgentSys는 “메모리 관리 = 보안”이라는 새로운 패러다임을 제시하며, 동적 툴 사용이 요구되는 복합 작업에서도 안전성을 확보한다.
댓글 및 학술 토론
Loading comments...
의견 남기기