사용 중인 AI 모델의 안전성만으로는 부족합니다. MCP(Model Context Protocol) 서버를 연결할 때는 모델이 지시를 따르는지뿐만 아니라 연결 서버의 신뢰성, 에이전트의 파일 접근 권한, 그리고 클라이언트 확장 프로그램의 무결성까지 아우르는 포괄적인 보안 기준이 요구됩니다.
GhostSplice 공격: 모델의 안전 가드레일을 무력화하는 분할 지시 기법
최근 AI 코딩 에이전트 환경에서 모델 자체의 보안보다 더 위험한 ‘클라이언트-서버 간 통신’ 취약점이 드러났습니다. ASSET Research Group은 GhostSplice 연구를 통해 악성 MCP 서버가 ‘분할 지시(Split Instructions)’ 기법으로 AI 코딩 에이전트의 비밀정보를 탈취할 수 있음을 밝혔습니다.
분할 지시 기법의 원리와 위험성
GhostSplice 공격의 핵심은 악의적인 지시를 한 번에 보내지 않고 여러 조각으로 나눠 전송하는 방식입니다. AI 코딩 에이전트는 이 조각들을 내부에서 조합해 결국 전체 악의적 지시를 실행하게 됩니다.
이 방식은 모델의 단일 지시 거부 메커니즘을 우회합니다. 11개 모델 테스트 결과, 단일 지시 시 평균 순종률은 42%였으나 분할 지시 사용 시 82%로 2배 이상 뛰어올랐습니다. GPT-4o, Gemini 2.0 Flash, Llama 3.3 70B 모델은 단일 지시 테스트에서 0% 순종률을 보였지만, 분할 지시에서는 100% 순종률을 기록하며 보안 체계가 완전히 무력화되었습니다.
공격 성립의 전제 조건
GhostSplice 공격이 성립하려면 다음 두 가지 조건이 필수적입니다.
- 개발자가 공격자의 MCP 서버를 연결한 상태여야 합니다.
- AI 에이전트가 유출 대상 파일에 접근 권한을 보유해야 합니다.
MCP 2026-07-28 사양 변경과 새로운 공격 표면
Anthropic이 2024년 11월에 개발한 개방형 프로토콜인 MCP는 AI 어시스턴트와 외부 도구 서버 간 통신 방식을 표준화합니다. 하지만 2026년 7월 28일 발표된 최신 사양은 효율성은 높였으나 새로운 보안 취약점을 낳았습니다.
주요 변경 사항 및 보안 영향
최신 사양의 핵심은 ‘stateless 프로토콜 코어’ 도입입니다. 기존 핸드셰이크 및 세션(Mcp-Session-Id 헤더)을 없애고 독립적인 요청 구조와 handle 사용을 권장하는 방식으로 바뀌었습니다. 하지만 이 변화는 다음과 같은 새로운 공격 표면을 만들어냅니다.
- Handle 탈취 위험: Stateless 전환에 따라 세션 관리 방식이 바뀌면서 handle 탈취 가능성이 생겼습니다.
- 파일시스템 범위 갭: 구조적으로 파일시스템 범위를 강제하던 ‘Roots’ 기능이 폐지(deprecated)되면서 접근 제어 범위에 빈틈이 생길 수 있습니다.
- IDE 내 HTML 렌더링 위험: MCP Apps 확장으로 IDE 내에서 HTML 렌더링이 가능해지면서 XSS(교차 사이트 스크립팅), 클릭재킹, UI 모방 공격 위험도 커졌습니다.
클라이언트 보안의 맹점: AI 브라우저 확장 프로그램의 위험성
모델과 서버 통신뿐만 아니라 개발자가 쓰는 클라이언트 도구 자체의 무결성도 심각한 위협입니다. 특히 AI 브라우저 확장 프로그램은 기존 엔터프라이즈 보안 도구 감시망을 피해 데이터 유출 경로로 악용되고 있습니다.
Shadow AI의 은밀한 데이터 유출
‘AI Sidebar with Deepseek, ChatGPT, Claude, and more’ 확장 프로그램 사례를 살펴보겠습니다. 약 300,000명의 사용자를 보유한 이 확장 프로그램은 ChatGPT와 DeepSeek 대화 내용을 공격자가 제어하는 외부 도메인(chatsaigpt.com, deepaichats.com)으로 30분 간격으로 유출한 것으로 확인되었습니다.
기존 방어 체계의 한계
브라우저 확장은 설치 시 tabs, activeTab, scripting, cookies, <all_urls> 같은 광범위한 권한을 받습니다. 이를 이용해 DOM 스크래핑으로 데이터를 빼내는데, 네트워크 경계에서 작동하는 DLP(데이터 유출 방지), CASB(클라우드 액세스 보안 브로커), EDR(엔드포인트 탐지 및 대응) 도구는 DOM 수준 동작을 볼 수 없어 가시성이 매우 낮습니다.
AI 코딩 에이전트 보안 설정 및 대응 체크리스트
AI 코딩 에이전트를 안전하게 운영하려면 모델 지능에 의존하는 보안이 아니라, 명확한 클라이언트 및 서버 제어 정책이 필수입니다.
보안 설정 핵심 요약 표
| 점검 항목 | 위험 요소 | 대응 및 설정 방향 |
|---|---|---|
| MCP 서버 연결 | GhostSplice (분할 지시 공격) | 신뢰할 수 있는 공급자의 서버만 연결 및 화이트리스트 관리 |
| 파일 접근 권한 | 비밀정보(API Key 등) 유출 | 에이전트의 파일 접근 범위를 최소 권한 원칙으로 제한 |
| MCP 사양 적용 | Handle 탈취 및 Roots 폐지 갭 | 최신 사양의 Authorization 강화 기능(RFC 9207 등) 적용 |
| 브라우저 확장 프로그램 | DOM 스크래핑 및 데이터 유출 | 승인되지 않은 AI 확장 프로그램 설치 금지 및 권한 모니터링 |
단계별 보안 강화 조치
- 서버 신뢰성 검증: MCP 서버를 연결하기 전, 해당 서버의 출처와 권한 요청 범위를 반드시 확인해야 합니다.
- 권한 최소화: AI 에이전트가 프로젝트의 모든 파일에 접근할 필요는 없습니다. 민감 정보가 포함된 경로는 접근 대상에서 제외하여 GhostSplice 공격의 전제 조건을 차단해야 합니다.
- 최신 보안 표준 적용: MCP 2026-07-28 사양에서 도입된 Authorization 강화, RFC 9207 issuer 검증, CIMD 전환 등의 보안 기능을 적극 활용해 세션 및 핸들 보안을 강화해야 합니다.
- 엔드포인트 가시성 확보: DOM 수준의 유출을 감지할 수 있는 전문 도구를 검토하고, 브라우저 확장이 가진 과도한 권한을 정기적으로 감사해야 합니다.