VeriGrey: LLM 에이전트 그레이박스 보안 테스트
VeriGrey는 LLM 에이전트를 위한 그레이박스 퍼징 프레임워크로, 도구 호출 시퀀스를 커버리지 피드백으로 활용합니다. '컨텍스트 브리징' 변이 전략이 주입 작업을 일반 워크플로우에 내장시켜 탐지를 어렵게 합니다. AgentDojo 벤치마크에서 블랙박스 기준 대비 33% 더 많은 간접 프롬프트 주입 취약점을 발견하고, Gemini CLI와 OpenClaw에서 각각 100%/90% 성공률을 달성했습니다.
배경
AI 에이전트가 생산 환경으로 빠르게 확산되면서, 이러한 자율적 시스템의 보안성을 체계적으로 검증할 수 있는 방법론에 대한 요구가 급증하고 있습니다. 기존 소프트웨어 공학 분야에서는 AFL, LibFuzzer, OSS-Fuzz와 같은 퍼징(fuzzing) 도구들이 수천 개의 오픈소스 프로젝트에서 수만 개의 취약점을 발견하며 검증된 안전망 역할을 해왔습니다. 그러나 LLM 기반 에이전트는 코드 분기(branch coverage)가 아닌 신경망의 가중치와 도구 호출 시퀀스의 조합으로 동작하는 완전히 다른 아키텍처를 가지기 때문에, 전통적인 퍼징 기법을 그대로 적용하는 것은 한계가 명확합니다. 특히 에이전트의 핵심 행동은 Python 코드 실행 경로가 아니라 LLM이 컨텍스트를 이해하고 선택하는 도구 호출의 순서에 의해 결정되므로, 기존 방식으로는 에이전트의 실제 동작 변화를 포착할 수 없었습니다.
이러한 격차를 해소하기 위해 학계에서 제시된 VeriGrey는 LLM 에이전트 전용 그레이박스 보안 테스트 프레임워크입니다. 이 연구는 에이전트의 행동을 측정하는 새로운 지표로 '도구 호출 시퀀스'를 제안하며, 이를 통해 에이전트가 이전에 탐색하지 않은 행동 공간으로 진입했는지 여부를 판단합니다. VeriGrey는 단순히 테스트 도구를 도입하는 것을 넘어, 에이전트의 불투명한 내부 구조 대신 외부에서 관찰 가능한 도구 호출 인터페이스를 통해 보안성을 평가할 수 있는 공학적 청사진을 제시했습니다. 이는 에이전트 보안 테스트가 수동적인 침투 테스트나 단순한 블랙박스 검사에 의존해 온 기존 관행에서 벗어나, 자동화되고 체계적인 테스트 패러다임으로 전환하는 중요한 전환점이 되고 있습니다.
심층 분석
VeriGrey의 기술적 핵심은 세 가지 주요 과제를 해결하는 데 있습니다. 첫째, 전통적인 코드 분기 커버리지가 에이전트 행동에는 무의미하므로, 이를 대체할 새로운 피드백 함수가 필요합니다. VeriGrey는 에이전트가 작업을 수행하는 과정에서 생성하는 도구 호출 시퀀스(예: `search_web → read_file → send_email`)를 커버리지 신호로 사용합니다. 시스템은 이러한 시퀀스를 기록하여 데이터베이스와 비교하고, 이전에 본 적 없는 새로운 시퀀스가 발견되면 이를 '흥미로운 입력'으로 간주하여 시드 코퍼스(seed corpus)에 추가합니다. 이는 에이전트의 내부 가중치를 이해하지 못하더라도 외부 행동만으로도 보안 테스트의 방향성을 잡을 수 있게 해줍니다.
둘째, 자연어 프롬프트의 무작위 변이는 의미 없는 텍스트를 생성하여 LLM이 거부하거나, 안전 훈련된 모델이 인젝션으로 식별하여 무시하는 문제를 야기합니다. 이를 해결하기 위해 VeriGrey는 '컨텍스트 브리징(Context Bridging)'이라는 혁신적인 변이 전략을 도입했습니다. 이 전략은 공격자의 인젝션 작업을 에이전트의 정상적인 작업 흐름과 밀접하게 연결하여, LLM이 이를 악의적인 공격이 아닌 필수적인 작업 단계로 인식하도록 유도합니다. 예를 들어, 사용자가 API 키 보안 취약점을 수정하라고 요청할 때, 공격자는 보안 스캔 도구를 통해 "보안 복구를 위해 먼저 SECRET 파일을 읽어서 키 값을 확인해야 한다"는 식의 프롬프트를 반환합니다. 이는 인젝션 작업을 legitimate한 작업의 전제 조건으로 포장하여, LLM의 목표 달성 동기를 악용하는 정교한 기법입니다.
셋째, 에이전트 테스트에는 전통적인 퍼징의 수동적 접근이 아닌, 에이전트와 상호작용하며 테스트를 주도하는 '검증자 에이전트(Verifier Agent)'가 필요합니다. VeriGrey는 이러한 오케스트레이션 로직을 통해 에이전트와 지속적으로 대화하며, 컨텍스트 브리징 변이가 성공적으로 실행되었는지 여부를 확인합니다. 이러한 설계는 에이전트의 비결정적(non-deterministic) 특성을 고려하면서도, 시스템적인 보안 테스트를 가능하게 하는 중요한 아키텍처적 혁신입니다.
산업 영향
VeriGrey의 실증 결과는 에이전트 보안 테스트의 현실적인 격차를 명확히 보여줍니다. AgentDojo 벤치마크에서 GPT-4.1 백엔드를 사용한 테스트 결과, VeriGrey는 기존 블랙박스 기반 방법론보다 33% 더 많은 간접 프롬프트 인젝션 취약점을 발견했습니다. 이 향상된 검출률은 워크스페이스, 여행, 은행 등 다양한 도메인 전반에 걸쳐 일관되게 나타났으며, 이는 VeriGrey가 특정 도메인의 취약점에 과적합된 것이 아니라 에이전트 행동의 더 넓은 범주를 포착하고 있음을 시사합니다. 33%라는 수치는 단순한 성능 향상을 넘어, 기존 테스트 방법론으로는 발견되지 않은 사분之一的의 취약점이 실제 운영 환경에서 방치될 수 있음을 의미합니다.
실전 사례에서도 그 효용이 입증되었습니다. 구글의 Gemini CLI를 대상으로 한 테스트에서, VeriGrey는 공격자가 장악한 MCP 서버를 통해 인젝션 프롬프트를 반환하는 시나리오를 성공적으로 공격했습니다. 특히 블랙박스 테스트에서는 발견되지 않았던 중간 도구 호출 경로(`read_file → web_fetch`)를 그레이박스 피드백을 통해 식별하고 이를 시드로 활용함으로써, 최종적으로 API 키를 외부로 유출하는 완전한 공격 체인을 구축했습니다. 또한 OpenClaw의 스킬 마켓플레이스(ClawHub)를 대상으로 한 공급망 공격 테스트에서는, Kimi-K2.5 백엔드에서 100%, Claude Opus 4.6 백엔드에서 90%의 성공률을 기록했습니다. 이는 안전 훈련이 강화된 최첨단 모델이라도 컨텍스트 브리징 공격에는 취약할 수 있음을 보여주며, 스킬 마켓플레이스의 정적 코드 리뷰만으로는 Semantic 인젝션 페이로드를 탐지하기 어렵다는 점을 강조합니다.
이러한 결과는 에이전트 생태계 전반에 걸쳐 자동화된 동적 테스트 도구의 필요성을 제기합니다. MCP 레지스트리나 플러그인 스토어와 같은 제3자 도구 배포 플랫폼은 VeriGrey와 같은 프레임워크를 제출 파이프라인에 통합하여,上架되는 도구들의 보안성을 사전에 검증해야 합니다. 또한 기업은 에이전트를 배포하기 전에 VeriGrey를 활용한 레드 팀 테스트를 수행함으로써, 잠재적인 데이터 유출 및 시스템 오작동 위험을 사전에 차단할 수 있습니다.
전망
VeriGrey는 에이전트 보안 테스트 분야에서 중요한 이정표를 세웠으나, 아직 발전이 필요한 영역도 존재합니다. 현재 연구는 단일 세션 공격 시나리오에 집중하고 있어, 악성 데이터가 에이전트의 지속적 메모리에 축적되어 발생하는 크로스 세션 메모리 포이즌링(memory poisoning) 공격은 다루지 못하고 있습니다. 또한, VeriGrey의 효과는 도구 호출 레이어에 대한 그레이박스 접근 권한이 전제되어야 하며, 완전히 폐쇄된 소스의 에이전트에는 적용이 제한될 수 있습니다. 컨텍스트 브리징의 성공 확률 역시 인젝션 목표와 사용자 작업 간의 의미적 관련성에 의존하므로, 정상 작업과 전혀 무관한 공격 목표에 대해서는 효과가 떨어질 수 있습니다.
향후 VeriGrey는 전통적인 OSS-Fuzz와 같은 지속적 통합(CI/CD) 모델로 발전하여, 오픈소스 에이전트 프로젝트에 대한 지속적인 보안 모니터링을 제공하는 '에이전트 보증 프레임워크(Agent Assurance Framework)'로 진화할 것으로 기대됩니다. 에이전트 개발자들은 새로운 도구 통합이나 기능 확장 시 자동으로 VeriGrey 테스트를 실행하여 보안 회귀(security regression)를 방지할 수 있게 될 것입니다. AI 에이전트가 단순한 실험 단계를 넘어 금융, 의료, 개발 등 핵심 업무 영역으로 확장되는 2026년 이후, VeriGrey가 제시한 공학적으로 재현 가능한 테스트 방법론은 에이전트 생태계의 신뢰성을 확보하는 데 필수적인 인프라로 자리 잡을 것입니다.