최근 SenteLabs.ai가 대규모 언어모델(LLM) 기반 에이전트의 보안과 효율성을 혁신할 오픈소스 프록시 'extensible-mcp'를 선보였습니다. 이 프록시는 LLM과 외부 마이크로 서비스 플랫폼(MCP) 서버 사이에 위치하며, 에이전트가 외부 도구를 안전하고 효율적으로 사용할 수 있도록 돕습니다. 핵심 아이디어는 LLM이 모든 도구를 미리 로드할 필요 없이 필요할 때만 검색하여 사용하고, 보안 정책은 모델이 접근할 수 없는 별도의 계층에서 강제함으로써 프롬프트 주입(prompt injection)과 같은 공격을 방어하는 것입니다.
extensible-mcp는 세 가지 주요 기능을 제공합니다. 첫째, 동적 서버 로딩(Dynamic server loading)으로, LLM이 대화 중에 새로운 MCP 서버와 그 기능을 온디맨드(on-demand)로 연결할 수 있게 합니다. 둘째, RAG(Retrieval-Augmented Generation) 기반 도구 검색 및 검색(RAG-based tool search and retrieval)을 통해 모든 도구 정의를 벡터 인덱스에 임베딩하고, LLM은 'search_tools(query)' 메타 도구를 사용하여 필요한 도구만 의미론적으로 검색합니다. 이는 불필요한 토큰 사용을 줄여 모델 성능 저하와 컨텍스트 한계 문제를 해결합니다. 셋째, 플러그형 필터 파이프라인(Pluggable filter pipelines)은 모든 작업(검색, 호출, 서버 로드)이 필터 체인을 통과하도록 하여, LLM이 'search_tools'를 통해 발견한 도구만 호출할 수 있도록 구조적 보안을 보장합니다. 접근 제어, Rego 정책 평가, 서버 로드 화이트리스트 등의 참조 필터도 제공됩니다.
이러한 접근 방식은 LLM 에이전트의 보안 취약점을 근본적으로 해결합니다. 기존에는 LLM이 외부 시스템과 상호작용할 때, 프롬프트에 민감한 정보나 보안 정책이 노출되어 악의적인 입력에 의해 조작될 위험이 있었습니다. extensible-mcp는 모델이 정책을 읽거나 우회할 수 없도록 결정론적인 코드(예: Rego 정책)로 보안을 강화하고, 민감한 자격 증명(credentials)은 LLM의 컨텍스트 외부에 보관합니다. 이는 '제로 트러스트(Zero Trust)' 원칙을 LLM 에이전트 아키텍처에 적용하여, 에이전트가 제안하는 행동은 검증하지만 실제 실행은 엄격한 정책에 따라 제어함으로써, 더욱 신뢰할 수 있고 안전한 AI 에이전트 시스템 구축을 가능하게 합니다. 결과적으로 개발자는 더 강력하고 유연하며 안전한 AI 에이전트를 만들 수 있게 됩니다.