MCP 서버의 ANSI 이스케이프 주입: 사람에게는 보이지 않고 AI에게만 보이는 공격
ANSI escape injection in MCP servers: Hidden from humans, visible to AI
ANSI 이스케이프 시퀀스는 터미널용으로 설계되었지만, AI 에이전트가 이를 읽으면 숨겨진 명령이 그대로 노출됩니다. 이 기사는 MCP(Model Context Protocol) 서버에서 발생하는 ANSI 이스케이프 시퀀스 주입(AESI) 공격의 두 가지 변형(직접 가져오기 및 저장형)을 설명하고, DAST(동적 애플리케이션 보안 테스트) 스캐너가 이를 자동으로 탐지하는 방법을 다룹니다. Bright Security의 연구진은 원시 바이트 검사, 모델 소비 필드에 초점, 3-신호 확인 등의 설계 원칙을 기반으로 탐지 파이프라인을 구축했습니다. 저장형 공격의 경우, 프로브 단계에서 데이터가 재표면화되는 지점을 경험적으로 매핑하여 정확한 필드 경로를 찾아냅니다. 이는 Kubernetes와 Git에서 발견된 유사한 취약점과 같은 계열의 문제로, 사람의 검토를 우회하고 에이전트의 권한을 악용할 수 있습니다.
사람이 렌더링된 터미널을 읽을 때는 코드 자체가 보이지 않고 그 효과만 보이지만, 언어 모델이 같은 콘텐츠를 읽을 때는 모든 바이트가 보입니다. 바로 그 간극이 공격의 핵심입니다.