MCP 보안 강화 체크리스트: 1,467대 노출 서버와 이를 닫는 컨트롤
업데이트 — 2026-08-18: OWASP GenAI MCP Server Security Baseline, MCP Project Sandboxing Baseline, MCP Ruby SDK 및 파일 서버 버그 — 세 가지 새 표준과 새 CVE 클래스
세 가지 발전이 두 가지 새 MCP 보안 표준과 새 CVE 클래스를 추가합니다: OWASP GenAI 개발 기준선, MCP Project 배포 기준선, Ruby SDK 및 파일 서버 버그.
OWASP GenAI MCP Server Security Baseline(8월 18일) — 개발 통제. 안전한 MCP 서버 개발을 위한 실용 가이드. OWASP MCP Top 10(위험 카탈로그) 및 MCP Project Sandboxing Baseline(배포 통제)과 함께 계층형 MCP 보안 프레임워크 형성.
MCP Project Sandboxing Baseline(8월 16일) — 사양 작성자의 배포 통제. MCP Project가 생성된 프로세스에 샌드박싱 또는 컨테이너화를 요구하는 보안 모범 사례 공개.
MCP Ruby SDK 및 파일 서버 버그(8월 16일) — 새 CVE 클래스. Ruby SDK DoS 및 불충분한 경로 검증으로 인한 파일 공개. MCP CVE 카탈로그는 현재 Python, TypeScript, Java, Ruby, C# SDK를 아우름. MCP Module Code Standard 참조.
업데이트 — 2026-08-17: CVE-2026-75011 NetForensicMCP 및 Forcepoint 데이터 노출 통제 차원
두 가지 발전이 이 체크리스트를 확장한다: 새로운 STDIO 명령 주입 CVE와 새로운 통제 차원 — 데이터 노출 — 을 Forcepoint가 MCP 보안의 일급 관심사로 재구성했다.
CVE-2026-75011 — NetForensicMCP 2.1.0 명령 주입. 근본 원인: CISA KEV CVE-2026-42271 및 OX Security Family 1과 동일한 STDIO 명령 주입 클래스. Control 1(도구 등록 — 모든 입력 정제)과 Control 7(STDIO 강화 — 명령 문자열에 사용자 제어 입력 없음)로 폐쇄.
Forcepoint 데이터 노출 재구성 — 새로운 통제 차원. "인증은 문을 수정하지, 데이터가 아니다." Postmark MCP 백도어가 데이터 노출 사건으로 재맥락화된다. 네 가지 거버넌스 질문: (1) 에이전트가 직접 자격증명인가 중개형인가? (2) 강제가 필드 수준인가 애플리케이션 수준인가? (3) 고위험 행동에 인간 게이트가 있는가? (4) 완전한 귀속 추적이 있는가?
Trend Micro가 인터넷을 스캔하여 1,467개의 MCP 서버가 인증도 암호화도 없이 누구나 접근 가능한 상태로 노출된 것을 발견했다. Practical DevSecOps는 조사한 2,614개 서버의 82%가 경로 순회에 취약하다는 것도 발견했다. AI 에이전트를 엔터프라이즈 시스템에 연결하도록 설계된 프로토콜이 프로덕션 보안 기준선 없이 출하되었고, 배포 패턴이 이를 입증한다: 대부분의 팀이 MCP를 강화하기 전에 인터넷에 노출시켰다. 이 체크리스트가 먼저 왔어야 할 기준선이다——전송, 인증, 도구 등록, 런타임, 감사에 걸친 12개의 통제이며, MCP 서버가 프로덕션 트래픽에 닿기 전에 각각 5분 미만으로 검증할 수 있다.
핵심 요점
- 1,467개 MCP 서버가 인증이나 암호화 없이 공개 접근 가능 — Trend Micro의 수정된 스캔, 2026년 7월. 그중 1,227대가 2026-07-28 사양이 12개월 비권장화 시계로 퇴역시키는 SSE 전송을 실행합니다.
- 2,614대 조사 MCP 서버의 82%가 경로 탐색에 취약, OAuth를 사용하는 것은 8.5%만 — Practical DevSecOps MCP Security Statistics 2026 Report. 공격 클래스는 배포된 서버에서 광범위하게 존재하며, 이론적이지 않습니다.
- 2026년 7월 공식 MCP Python SDK에 3개의 CVE 상륙 — CVE-2026-59950(DNS rebinding/CSRF), CVE-2026-52869(미검증 세션 요청), CVE-2026-52870(오픈 태스크 핸들러). 참조 구현은它가 지원하는 커뮤니티 서버와 같은 클래스의 결함을 출하했습니다.
- 5개 MCP 서버가 1개 에이전트에 연결될 때 78.3% 공격 성공률 — Palo Alto Networks Unit 42. 5개 서버는 대규모 배포가 아닙니다. 전형적인 것입니다. OX Security는 150M+ 다운로드에 영향하는 아키텍처 수준의 RCE를 식별했고, Cloud Security Alliance는 MCP 보안을 시스템 설계 결함 문제로 분류했습니다.
- MCP 2026-07-28 사양이 2026년 7월 28일 최종으로 출간 — 4개 Tier 1 SDK(TypeScript, Python, Go, C#)가 출간일에 새로운 스테이트리스 코어를 지원하며, SSE 전송에 12개월 비권장화 정책을 동반합니다. 마이그레이션과 강화는 같은 작업입니다.
- Deadbugz는 런타임을 공격면으로 바꿉니다: 메타데이터 포이즈닝은 서버를 신뢰할 때까지 기다립니다 — Pillar Security는 2026년 9월 23일, 활성 상태의 MCP 공급망 캠페인을 공개했습니다: 74분 만에 접수된 23개의 풀 리퀘스트가 3회의 도구 호출 동안 정상적으로 동작하다가 이후 도구 메타데이터를 다시 써서 SSH 키, AWS 자격 증명, 셸 히스토리, Kubernetes 구성을 찾도록 만드는 "생산성 스위트" 서버를 제안했습니다 (Pillar Security). 승인 시점 스캔은 이를 볼 수 없습니다 — 아래의 2026-09-30 업데이트를 참조하세요.
이 체크리스트의 12개 컨트롤에 합격하는 프로덕션 MCP 배포는 무적이 아닙니다——어떤 시스템도 무적이 아닙니다——하지만 Trend Micro가 발견한, Practical DevSecOps가 스캔한, 또는 7월 CVE 파도가 포획한 집단에 더 이상 있지 않습니다. 체크리스트는 각 컨트롤을它가 다루는 OWASP MCP Top 10 카테고리,它가 방지하는 CVE 또는 노출, 그리고 운영자가 5분 이내에 실행할 수 있는 검증 단계에 매핑합니다. Microsoft Agent Governance Toolkit——10/10 OWASP MCP Top 10 커버리지를 가진 최초의 하이퍼스케일러 출하 오픈소스 거버넌스 런타임——이 참조 구현입니다. 이 글은 운영적 보완입니다: MCP 서버를 프로덕션 트래픽에 노출할 준비를 하는 엔지니어링 책임자 또는 플랫폼 리드를 위한 스캔 가능한 강화 리뷰.
업데이트 — 2026-08-07: Black Hat 2026 MCP 서버 발견 제품 — Cyera, SailPoint, Check Point
전체 Black Hat 2026 제품 인벤토리(crn.com, 2026년 8월 4일)는 통제 12(섀도 서버 탐지)와 이 체크리스트의 MCP 서버 발견성 및 거버넌스 차원에 직접적으로 대응하는 세 가지 제품을 추가합니다.
Cyera Agent Guardian — 섀도 MCP 서버 발견. Cyera는 Agent Guardian을 출시하여 기업 전체의 섀도 MCP 서버와 승인되지 않은 AI 에이전트를 발견합니다. 통제 12에 대해, Cyera는 인벤토리 및 드리프트 모니터링 패턴의 제품화 버전입니다: MCP 서버 인벤토리를 수동으로 유지하는 대신, Cyera는 프로덕션의 MCP 서버를 자동으로 발견합니다. Trend Micro가 발견한 1,467대의 노출된 서버는 인터넷 향하는 모집단입니다; Cyera는 내부 모집단을 다룹니다.
SailPoint Identity Security — MCP 서버 아이덴티티 거버넌스. SailPoint는 Identity Security 플랫폼을 확장하여 MCP 서버 아이덴티티를 포괄했습니다. 통제 4에 대해, SailPoint는 MCP 서버를 관리 대상 아이덴티티 타입으로 추가합니다 — 각 MCP 서버는 인간 아이덴티티와 동일한 거버넌스 인프라로 관리되는 라이프사이클을 가집니다.
Check Point AI Network Firewall — MCP 통신 모니터링. Check Point는 AI Network Firewall을 출시하여 정책 위반 및 데이터 반출에 대해 MCP 트래픽을 모니터링합니다. 통제 9에 대해, Check Point는 네트워크 계층 시행을 추가합니다: MCP 응답을 통해 데이터를 반출하려는 도구 서버는 방화벽에서 포착됩니다.
MCP 보안 제품 카테고리는 이제 섀도 서버 발견(Cyera), 아이덴티티 거버넌스(SailPoint), 네트워크 계층 모니터링(Check Point)을 위한 전담 벤더를 보유하고 있습니다 — 이 체크리스트의 12개 통제가 다루지만 이전에는 커스텀 빌드가 필요했던 세 가지 표면.
공격면, 숫자로
OWASP MCP Top 10(Beta Release v0.1, Phase 3 of 5)은 MCP 지원 시스템 라이프사이클 전반에 걸친 10개의 명명된 리스크 카테고리를 카탈로그화합니다. 그 배후의 숫자가 "거버넌스는 좋은 실천"을 "거버넌스는 프로덕션 게이트"로 바꿉니다:
- 1,467대 노출 서버 — Trend Micro의 수정된 스캔이 인증이나 암호화 없이 1,467대의 공개 접근 가능한 MCP 서버를 발견했으며, 초기 카운트 492에서 증가. 1,227대가 비권장 SSE 전송을 실행. 최소 3대가
progress_note도구 경유로 환자 의료 기록 노출.execute_sql도구가 70대 호스트에 등장. - 82% 경로 탐색 노출 — Practical DevSecOps가 2,614대 조사 서버에서 82% 경로 탐색 취약성과 8.5% OAuth 채택을 측정. 97M+ 월간 MCP 다운로드는 노출이 채택과 함께 스케일됨을 의미합니다.
- 150M+ 다운로드가 아키텍처 RCE의 영향 — OX Security는 STDIO 명령 인젝션 근본 원인을, 고립된 CVE가 아닌 아키텍처 수준의 결함으로 틀 지었습니다. Cloud Security Alliance는 이를 AI 에이전트 인프라의 시스템 설계 결함 문제로 분류했습니다.
- 2026년 7월 SDK에 3개 CVE — CVE-2026-59950(Host/Origin 검증 누락, DNS rebinding/CSRF), CVE-2026-52869(미검증 세션 요청), CVE-2026-52870(오픈 태스크 핸들러). 공식 Python SDK——모든 Python MCP 서버가 상속하는 참조 구현——은它가 지원하는 커뮤니티 서버와 같은 클래스의 결함을 출하했습니다.
- 최종 사양의 3개 새 공격면 — backslash.security가 2026-07-28 사양의 스테이트리스 재설계로 도입된 3개의 새 공격면을 식별했습니다. 새로운 기능은 새로운 진입점을 만들고, 보안 커뮤니티는 여전히 매핑 중입니다.
cataam.com 분석은 MCP 보안의 현재 상태를 정확하게 틀 지었습니다: "MCP 보안은 대략 15년 전 웹 보안이 있던 위치에 있습니다——공격은 오래되었고, 표적만 새롭습니다." 아래의 강화 체크리스트는 웹 보안을 82% 경로 탐색 노출에서 프로덕션 시스템이 합격할 것으로 기대되는 베이스라인으로 이동시킨 컨트롤의 세트입니다. 동일한 컨트롤이 여기에 적용됩니다.
12개 강화 컨트롤
체크리스트는 OWASP MCP Top 10과 MCP 2026-07-28 사양 변경에 매핑되는 5개 계층으로 구성됩니다:
계층 1 — 전송 및 네트워크
컨트롤 1: SSE에서 Streamable HTTP로 마이그레이션. MCP 2026-07-28 사양이 2026년 7월 28일 최종으로 출간되며, HTTP+SSE 전송에 12개월 비권장화 정책을 동반합니다. 4개 Tier 1 SDK(TypeScript, Python, Go, C#)가 출간일에 새로운 스테이트리스 코어를 지원하며, 파괴적 변경에 대한 마이그레이션 노트를 동반합니다. Trend Micro 스캔의 1,227대 비권장 SSE 서버가 가장 영향받는 집단입니다——그들은 사양이 퇴역시키는 전송을 실행합니다. 검증: 서버의 전송 설정을 확인합니다. SSE를 제공하는 경우, 비권장화 시계에 들어갔습니다. 12개월 윈도우가 닫히기 전에 Streamable HTTP로 마이그레이션하세요.
컨트롤 2: 네트워크 격리 및 오리진 검증. CVE-2026-59950——National Vulnerability Database에서 확인됨——은 공식 MCP Python SDK의 Host/Origin 검증 누락 결함입니다. 피해자가 방문하는 웹 페이지가 DNS rebinding과 CSRF 경유로 로컬 MCP 서버를 구동할 수 있습니다. 브라우저가 공격자의, 운영자가 프라이빗이라고 믿었던 루프백 서버로의 프록시가 됩니다. 검증: 서버가 모든 요청에서 Host와 Origin 헤더를 검증하는지 확인합니다. 서버가 인터넷 향인 경우, 신뢰할 수 없는 오리진에서의 직접 접근을 방지하는 네트워크 경계 뒤에 있는지 확인합니다. 공공 인터넷에서 도달할 수 없어야 할 서버는 공공 인터넷에서 접근 가능해서는 안 됩니다.
계층 2 — 인증 및 아이덴티티
컨트롤 3: OAuth 2.1 + OIDC 강제. 2026-07-28 사양은 OAuth 2.1과 OpenID Connect를 필수로 만듭니다——이전의 "자체 토큰 가져오기" 방식에서의 전환입니다. WorkOS의 인증 마이그레이션 가이드가 요건을 상세히 설명합니다: RFC 8707(Resource Indicators)로 서버 간 토큰 재생 방지, Client ID Metadata Documents가 Dynamic Client Registration을 대체, issuer 검증(RFC 9207). Practical DevSecOps의 발견——조사 서버의 8.5%만 OAuth 사용——이 이 컨트롤이 끌어올리는 베이스라인입니다. 검증: 서버의 인증 설정을 확인합니다. 미인증 요청을 수용하거나 OAuth 없는 정적 API 키를 사용하는 경우, 불합격입니다. 서버가 RFC 8707 resource indicators를 구현하는지 확인합니다.
컨트롤 4: 에이전트 아이덴티티 분리. NIST AI Agent Standards Initiative(2026년 2월)는 에이전트를 고유한 라이프사이클을 가진 별도의 비인간 아이덴티티로 취급할 것을 제안합니다: 프로비저닝, 어테스테이션, 해지. 대부분의 배포는 인간 사용자를 인증하고 그 아이덴티티를 에이전트에 전달합니다. 에이전트가 행동을 취하면, 감사 로그는 인간이 했다고 기록합니다. 검증: 각 에이전트가 인간 운영자와 별개의 자체 크리덴셜(OAuth 토큰, SPIFFE SVID)을 가지는지 확인합니다. 에이전트 아이덴티티 해지는 인간의 접근에 영향 없이 모든 에이전트 호출을 중지해야 합니다.
계층 3 — 도구 등록 및 공급망
컨트롤 5: 도구 포이즈닝 스캔. OWASP MCP03은 도구 포이즈닝을 top-10 리스크로 지명합니다: rug pulls(신뢰된 도구가 설치 후 악성 버전으로 업데이트), schema poisoning(인터페이스 정의 자체가 모델을 오도하기 위해 손상), tool shadowing(가짜 도구가 진짜에 대한 호출을 가로채기). Microsoft Agent Governance Toolkit의 McpSecurityScanner가 도구 포이즈닝, typosquatting, 숨겨진 지시를 감지합니다——read_flie(read_file의 typosquatting)이라는 이름의 데모 도구가 설명에 인젝션을 가지고 85/100 리스크를 득점했습니다. 검증: 도구 등록 프로세스를 검사합니다. 보안 스캔 없이 도구가 등록되는 경우, 불합격입니다. 스캔은 설명의 prompt injection 패턴, 알려진 도구 이름에 대한 typosquatting, 숨겨진 시스템 디렉티브를 커버해야 합니다.
컨트롤 6: 서명된 프로비넌스 및 의존성 모니터링. OWASP MCP04은 공급망 공격과 의존성 변조를 커버합니다. Postmark MCP 백도어——야생에서 포착된 최초의 악성 MCP 서버——는 조용히 이메일을 가로채고 exfiltrate하는 합법적으로 보이는 npm 패키지였습니다. 레지스트리 리뷰를 통과했습니다. UpGuard의 연구는 15개 MCP 서버 중 1개가 합법적 서비스를 가장하도록 설계된 lookalike임을 발견했습니다. 검증: 배포의 모든 MCP 서버가 서명된 프로비넌스 레코드와 AIBOM(AI Bill of Materials) 인벤토리를 가지는지 확인합니다. 의존성 모니터링이 활성이고 의존성 트리의 새 CVE에 알리는지 확인합니다.
컨트롤 7: STDIO 강화. OX Security의 공개가 STDIO 설정에서 150M+ 다운로드에 영향하는 아키텍처 수준의 RCE를 식별했습니다. 근본 원인: TypeScript SDK의 shell: true가 설정 문자열 경유로 명령 인젝션을 활성화했습니다. Cloud Security Alliance는 이를 시스템 설계 결함 문제로 분류했습니다. 검증: 서버가 STDIO 전송을 사용하는 경우, shell: false 또는 동등한 강화가 설정되어 있는지 확인합니다. 명령 allowlist가 바이너리 이름뿐 아니라 인수를 검사하는지 확인합니다——Upsonic과 Flowise의 우회(CVE-2026-30625, CVE-2026-40933)는 npx -c <악성 명령>이 바이너리만 검사하는 allowlist를 통과함을 보였습니다.
계층 4 — 런타임 및 실행
컨트롤 8: 레이트 리미트. 각 도구는 등록 호출에서 자체 레이트 리미트를 선언합니다. 백본이 에이전트별, 도구별, 윈도우별로 리미트를 적용합니다. 리미트에 도달하면, 에이전트는 Retry-After 헤더와 함께 429 응답을 받습니다. 침해된 에이전트는 업스트림 API 할당량을 고갈시킬 수 없습니다, 레이트 리미트가 모듈 경계에서 적용되기 때문입니다. 검증: 모든 등록 도구에 레이트 리미트가 있는지 확인합니다. 리미트가 업스트림 API가 아닌 모듈 경계에서 적용되는지 확인합니다. 레이트 리미트가 없는 도구는 침해된 에이전트가 무제한 호출할 수 있는 도구입니다.
컨트롤 9: 컨텍스트 경계. OWASP MCP10은 컨텍스트 인젝션과 과도한 공유를 top-10 리스크로 지명합니다. 폭넓은 컨텍스트 접근을 가진 에이전트는 테넌트, 세션, 또는 사용자 간에 정보를 누출합니다——동일 에이전트가 서로 다른 데이터 접근 권한을 가진 여러 고객에게 서비스하는 B2B 배포에서 특히 우려가 큽니다. 검증: 각 도구가 특정 작업에 필요한 컨텍스트만 받는지 확인합니다. 컨텍스트 윈도우가 모든 도구 간에 전역적으로 공유되는 것이 아니라 도구별로 스코프되는지 확인합니다. 단일 필드가 필요할 때 전체 세션 컨텍스트를 받는 도구는 데이터 누출면입니다.
컨트롤 10: 모듈별 kill-switch. 각 MCP 모듈은 오케스트레이션 백본에 닿지 않고 독립적으로 비활성화 가능해야 합니다. kill switch는 코드 배포가 아닌 설정 변경입니다. 취약성이 공개될 때——7월 CVE 파도가 2주 만에 3개 SDK CVE와 7+ 서버 CVE를 공개한 것처럼——운영자의 첫 질문은: 에이전트를 중단하지 않고 이 모듈을 비활성화할 수 있는가? 거버넌스된 배포에서 답은 예입니다. 검증: 각 모듈이 feature flag 또는 설정 변경 경유로 비활성화 가능한지 확인합니다. 비활성화 경로가 테스트되었는지 확인합니다——설정만이 아닙니다. 한 번도 실행된 적 없는 kill switch는 필요할 때 실패할 kill switch입니다.
계층 5 — 감사 및 텔레메트리
컨트롤 11: 호출별 감사 로깅. OWASP MCP08은 감사와 텔레메트리 부재를 top-10 리스크로 지명합니다. 도구 호출과 컨텍스트 변경의 로그가 없으면, 토큰 도난과 인젝션이 보이지 않는 상태로 남습니다. 모든 도구 호출은 타임스탬프, 에이전트 ID, 도구 이름, 입력 해시(원시 입력이 아닌——PII 경계), 출력 상태, 지속 시간, 업스트림 시스템을 로깅해야 합니다. 로그는 관측가능성 파이프라인으로 전송되는 구조화된 JSON입니다. 검증: 모든 도구 호출이 구조화된 로그 엔트리를 생성하는지 확인합니다. 로그가 원시 입력이 아닌 입력 해시를 포함하는지 확인합니다. 로그가 불변인지 확인합니다——서버를 침해한 공격자가 감사 트레일을 재작성할 수 없습니다.
컨트롤 12: 섀도 서버 감지. OWASP MCP09는 섀도 MCP 서버를 커버합니다——거버넌스에 보이지 않는 미승인 또는 미감독 배포. UpGuard가 15개 MCP 서버 중 1개가 lookalike임을 발견했습니다. 잘못된 mcp-server-postgress(오타 주의)를 설치한 엔지니어는 조용히 SSH 키와 .env 파일을 exfiltrate하는 패키지를 얻습니다. 검증: 배포의 모든 MCP 서버 인벤토리가 있는지 확인합니다. 인벤토리가 알려진 양호 패키지 레지스트리에 대해 검사되는지 확인합니다. 인벤토리에 없는 새 서버가 나타날 때 드리프트 모니터링이 알리는지 확인합니다.
프레임워크가 체크리스트에 매핑되는 방식
| 컨트롤 | OWASP MCP | Spec 2026-07-28 | Microsoft AGT | NIST | CSA |
|---|---|---|---|---|---|
| 1. SSE 마이그레이션 | — | 12개월 비권장화 | — | — | — |
| 2. 네트워크 격리 | MCP07 | 오리진 검증 | — | — | — |
| 3. OAuth 2.1 + OIDC | MCP07 | 필수 인증 | — | OAuth 2.0 | — |
| 4. 에이전트 아이덴티티 | MCP07 | — | AgentMesh Identity | SPIFFE/SPIRE | — |
| 5. 도구 포이즈닝 스캔 | MCP03 | — | MCP Security Gateway | — | — |
| 6. 서명된 프로비넌스 | MCP04 | — | — | — | — |
| 7. STDIO 강화 | MCP05 | — | — | — | 시스템 설계 결함 |
| 8. 레이트 리미트 | — | — | Policy Engine | — | — |
| 9. 컨텍스트 경계 | MCP10 | — | Response sanitizer | — | — |
| 10. 모듈별 kill-switch | — | — | Hypervisor kill switch | — | — |
| 11. 호출별 감사 로깅 | MCP08 | — | Audit + metrics | — | — |
| 12. 섀도 서버 감지 | MCP09 | — | — | — | — |
단일 프레임워크가 12개 컨트롤 모두를 커버하지 않습니다. 체크리스트는 OWASP, 사양, Microsoft, NIST, CSA의 교집합입니다——각 프레임워크가 다른 것이 결여한 컨트롤을 기여합니다. Microsoft Agent Governance Toolkit은 OWASP MCP Top 10 카테고리의 10/10을 커버하며(7/10 완전, 3/10 부분과 로드맵), 명시적 OWASP 매핑을 가진 최초의 하이퍼스케일러 출하 오픈소스 런타임입니다——Agent OS Policy Engine에 68 테스트, MCP Security Gateway에 127 테스트, kill switch를 포함한 Agent Hypervisor Execution Control에 80 테스트.
체크리스트 채점
프로덕션 준비된 MCP 서버는 12개 컨트롤 모두에 합격합니다. 부분적으로 준비된 서버는 8–11에 합격합니다. 8 미만에 합격하는 서버는 문서화된 remediation 계획과 각 실패 컨트롤의 목표일 없이 프로덕션 트래픽에 노출되어서는 안 됩니다.
| 점수 | 상태 | 행동 |
|---|---|---|
| 12/12 | 프로덕션 준비 | 모니터링과 함께 배포 |
| 8–11/12 | 부분 준비 | 문서화된 예외와 remediation 타임라인과 함께 배포 |
| <8/12 | 미준비 | 배포하지 마세요. 먼저 실패한 컨트롤을 remediate하세요 |
가장 흔한 실패 패턴은 컨트롤 1–4(전송, 인증, 아이덴티티)에 합격하면서 컨트롤 5–12(공급망, 런타임, 감사)에 불합격하는 것입니다. 처음 4개는 아키텍처적이고 설계 리뷰에서 주목받습니다. 마지막 8개는 운영적이고 인시던트나 감사가 표면화할 때까지 간과됩니다. 2026년 7월의 CVE 파도——2주 만에 3개 SDK CVE와 7+ 서버 CVE——가 운영 컨트롤이 부재할 때 일어나는 일입니다.
업데이트 — 2026-09-30: Deadbugz 런타임 게이트형 메타데이터 포이즈닝 — 승인 시점 스캔을 무력화하는 네 번째 MCP 공격 클래스
2026년 9월 23일, Pillar Security가 Deadbugz를 공개했습니다 — 단일 계정에서 74분 만에 23개의 GitHub 풀 리퀘스트를 접수한 활성 MCP 공급망 캠페인으로, 각 풀 리퀘스트는 "생산성 스위트" MCP 서버를 제안했습니다. 해당 서버는 3회의 도구 호출 동안 정상적으로 동작하지만, 세 번째 호출 이후 서버가 유지하는 클라이언트별 호출 카운터가 자신의 메타데이터를 교체합니다: 이후의 tools/list와 prompts/get 응답은 연결된 AI 에이전트에게 SSH 키, AWS 자격 증명, 셸 히스토리, Kubernetes 구성을 찾도록 — 그리고 그 활동을 운영자에게 은폐하도록 — 지시합니다. 서버는 tools.listChanged를 광고하므로 클라이언트는 재연결 없이 오염된 정의를 가져옵니다. Cloud Security Alliance는 73개 GitHub 저장소에 걸친 이전의 "Miasma" 캠페인과의 기계적 유사성을 언급합니다. 전체 메커니즘 분석은 Deadbugz 아티클에 있습니다.
이것은 STDIO 명령 인젝션, 도구 포이즈닝, SHA 고정 우회에 이은 네 번째 MCP 공격 클래스이자, 이 체크리스트의 계층 3에 있는 승인 시점 통제를 정확히 무력화하는 클래스입니다. Deadbugz의 도구들은 운영자가 승인하는 시점에는 실제로 양성입니다; 악성 페이로드는 런타임 게이트 뒤에서 기다립니다. 승인 시점의 어떤 스캔도 이를 볼 수 없습니다 — 승인 시점에는 볼 것이 아무것도 없기 때문입니다. 탐지 지점은 설치에서 런타임으로 이동합니다.
12개 컨트롤 체크리스트에 이것은 계층 4 항목을 하나 추가합니다: 설치 후 도구 메타데이터 드리프트 탐지. 승인 시점에 서버가 반환하는 모든 도구 정의 — 이름, 설명, 입력 스키마, 어노테이션 — 의 해시 지문을 기록해 둡니다. 서버가 tools.listChanged를 알리면(또는 정해진 주기에 따라) 새 정의를 가져와 지문과 비교하고, 어떤 차이든 변경된 도구가 민감한 작업에 영향을 미치기 전에 운영자 재승인을 요구하는 메타데이터 드리프트 보안 이벤트로 취급합니다. 동일한 지문 비교는 이전의 도구 포이즈닝 클래스도 잡아냅니다 — 두 공격 모두 승인 이후 변경되는 도구 정의라는 메커니즘을 공유하기 때문입니다. 검증: 승인된 서버에 연결하고, 3회 이상의 평범한 도구 호출을 실행한 다음, tools/list를 다시 가져와 승인 시점 지문과 diff합니다 — Deadbugz는 그 네 번째 호출 전에 멈추는 모든 검토를 통과하도록 설계되어 있습니다.
업데이트 — 2026-10-02: 헬프데스크는 자격 증명 농도다 — DIVD ATA 침해
이 체크리스트의 계층 2(인증)와 계층 3/4(런타임) 통제의 공격자 측 대응물이 실전에 상륙했습니다: Sysdig의 10월 2일 분석은 에이전틱 위협 행위자가 2026년 9월 21일 두 개의 Zammad 헬프데스크 제로데이 — CVE-2026-102489 (RCE, CVSS 8.7)와 CVE-2026-102490 (LPE, CVSS 8.5) — 를 연결해 하이재크된 세션에서 수 초 만에 루트에 도달하며 네덜란드 취약점 공개 연구소(DIVD)를 침해했음을 기록합니다(Sysdig). 12개 컨트롤 체크리스트를 위해 이것은 시스템 인벤토리 항목을 추가합니다: 헬프데스크는 세션 쿠키, 패스워드 리셋 흐름, 통합 토큰을 농축합니다 — 루트까지 연결하려는 에이전트가 필요로 하는 바로 그 자산들입니다. 어떤 에이전트 접근 가능 시스템이 이런 식으로 자격 증명을 모으는지 매핑하고, 그들의 세션 하이재킹 자세를 검증하고(Terraform MCP Server CVE-2026-16496이 노출한 것과 같은 클래스), 인벤토리 통제에서 "자격 증명 밀도 높은 시스템에 토큰을 가진 에이전트"를 별개의 리스크 클래스로 취급하십시오 — DIVD 사건에서 전체 에스컬레이션 체인은 바로 거기서 시작되었기 때문입니다.
업데이트 — 2026-10-04: 에이전트별 데이터베이스 격리를 스토리지 계층 통제로
체크리스트의 통제 계층 목록에 대부분 배치가 계획하지 않은 계층이 추가된다: OS 그 자체만이 아닌 스토리지다. Supabase가 에이전트별 데이터베이스 프로비저닝을 위해 1억 5천만 달러를 조달하고 Turso를 인수 — AI 에이전트에 기인한 600% 데이터베이스 성장 — 이것은 이 체크리스트의 데이터 유출 절이 가정으로 다뤄온 것을 제품화했다. 에이전트당 데이터베이스에서는 에이전트 간 데이터 평면의 측면 이동이 네트워크 계층이 아닌 자격 증명 계층에서 실패하고, 감사 질문("이 행을 쓴 에이전트는 누구인가?")은 구조 자체가 해결한다. 트레이드는 에이전트 간 일관성: 조인과 공유 참조 데이터는 오케스트레이션 계층으로 간다.
업데이트 — 2026-10-04: MCP Events 구독은 자격 증명 — 그리고 철회는 비대칭이다
체크리스트의 자격 증명 관리 절에 새 통제 객체군이 추가된다: MCP Events 구독. OpenAI의 메커니즘은 MCP 서버에 서명된 웹훅 이벤트 구독을 추가한다 — events/subscribe가 구독을 생성하며 전송 모드, 콜백 URL, HMAC 서명 시크릿, 커서를 실는다. WorkOS의 프레이밍이 곧 운영적 프레이밍이다: 구독 그 자체가 자격 증명이며, 다른 자격 증명과 마찬가지로 철회·순환·접근 통제를 요한다. 비대칭 부분을 체크리스트에 명시한다: ChatGPT는 웹훅 전송 모드를 지원하지만 terminated 봉투는 지원하지 않으므로, "철회된" 구독이 TTL까지 발화를 계속할 수 있다 — 철회를 즉시로 간주하기 전에 에이전트 플랫폼이 어떤 전송 모드를 이행하는지 검증하라.
업데이트 — 2026-10-04: CrewAI 샌드박스 우회群 — Semantic Kernel 이후 첫 오픈소스 프레임워크 CVE 가족
통치된 모듈의 논지가 이번 주기에 오픈소스 에이전트 프레임워크로 확장된다: CrewAI는 5개의 CVE를 흡수했다 — CVE-2026-37008(객체 그래프 조작을 통한 파이썬 샌드박스 우회 RCE)을 필두로 CVE-2026-2275(CodeInterpreter RCE, Docker 샌드박스와 SandboxPython 폴백), CVE-2026-2285(SSRF), CVE-2026-2286, CVE-2026-2287(로컬 파일 읽기) — CERT/CC 권고 VU#221883. CrewAI의 개선이 말해주는 것: CodeInterpreterTool은 완전히 제거되었고 allow_code_execution은 폐기 예정으로 표시되었다. SandboxPython의 폴백 체인 — Docker에 손을 뻗고 실패하면 불안전한 로컬 실행으로 떨어지는 — 은 LiteLLM 기본 관리자 키 발견과 같은 "불안전한 기본값" 패턴이며, 이번엔 프레임워크 계층에 있다: 체크리스트의 샌드박스 항목은 폴백이 강등이 아니라 거부로 끝나는지 검증해야 한다.
- 에이전트 SDK 인증 스코핑 (CVE-2026-104873 선례). 프레임워크 SDK 인증 표면은 되풀이되는 취약점 계층이 되고 있다 — CrewAI의 샌드박스 가족과 같은 주의 LangGraph langgraph-sdk CVE-2026-104873(0.4.4에서 수정). 이 결함은 actions 스코프 인증 핸들러를 전역으로 적용시켜, 로그인한 사용자가 다른 사용자의 스레드에 닿게 했다. 체크리스트 항목: 프레임워크의 인증 핸들러 기본값과 독립적으로 스레드/세션 계층에서 사용자별 격리를 검증하고, 수정을 포함하는 SDK 버전을 고정하라.
업데이트 — 2026-10-06: 새로운 MCP CVE 클래스 3건이 체크리스트에 — Confluence 파일 읽기, ArcadeDB 토큰 노출, Facebook Ads SSRF
본 체크리스트가 추적하는 MCP CVE 목록에 도구 수준 공격 표면 세 개가 추가됩니다(bonfy.ai, MCP Security Statistics 2026): CVE-2026-73498(Atlassian Confluence MCP) — confluence_upload_attachment가 클라이언트 제공 파일 경로를 검증 없이 파일 열기 호출로 직접 전달해 도구의 경로 매개변수를 통한 임의 파일 읽기를 가능하게 함. CVE-2026-67357(ArcadeDB MCP) — 설정 도구가 HA 클러스터 토큰을 평문으로 노출해 특정 요청 헤더로 root 사칭이 가능함 — 새로운 하위 클래스: 도구 응답을 통한 시크릿 유출. CVE-2026-19956(Facebook Ads MCP 서버) — 페이지네이션 함수의 SSRF, 인증된 원격 호출자가 서버의 네트워크 위치에서 요청을 구동. 체크리스트 번역: 파일을 다루는 모든 도구에 경로 검증을 추가(검증하는 쪽은 서버이지 클라이언트가 결코 아님), 도구 응답의 시크릿 유출을 감사 — 주입을 위한 호출 감사만이 아니라 — 그리고 모듈의 이그레스를 축소해 커넥터 내부의 SSRF가 내부 메타데이터 엔드포인트로 피벗하지 못하게 함. 각각은 기존 통제 계열(입력 검증, 응답 감사, 네트워크 격리)에 매핑됩니다 — 이것이 체크리스트 자신의 논리입니다. 클래스는 매주 바뀌지만 통제 계열은 바뀌지 않습니다.
관련 읽기
- MCP 역설: 마찰 없음이 취약한 이유 — 이 체크리스트의 컨트롤 5, 7, 9가 다루는 프로토콜 수준의 리스크 분석. OWASP MCP Top 10, Palo Alto Unit 42의 78.3% 공격률, OX Security의 STDIO 명령 인젝션 공개를 커버.
- MCP 보안: 20만 개의 취약한 인스턴스가 거버넌스된 모듈을 구매 기준으로 만드는 이유 — 이 체크리스트가 운영화하는 거버넌스 계층. OX Security의 20만 인스턴스 추정, 2026년 침해 타임라인, 38 도구의 프루프포인트를 커버.
- MCP Module Code Standard — 컨트롤 8, 9, 10, 11을 모듈 자체에서 실행 가능하게 만드는 코드 표준. 디렉터리 구조, 도구 등록, 에러 처리, 레이트 리미트, PII 경계 규칙을 커버.
- AI 에이전트 거버넌스 체크리스트: 배포 전 리뷰 — 이 MCP 전용 체크리스트가 보완하는 더 넓은 10컨트롤 에이전트 거버넌스 체크리스트. NIST 아이덴티티, OWASP, Gartner 자율 수준, Stanford AILCCP, Warner 입법 패키지를 커버.
- KEV 목록에 오른 최초의 MCP CVE가 연방 시한에 도달하다: LiteLLM과 기본 키 볼트 — CVE-2026-59822의 KEV 등재, 9월 16일 연방 시한, sk-1234 기본 키 노출, 6가지 게이트웨이 검증 항목을 다루는 컴패니언 아티클
- 모델이 아니라 기본 역할:프롬프트 하나가 AWS 계정의 모든 에이전트를 장악하다 — 런타임 계층 자격 증명 제어의 사고 증거: 계정 전체에 적용되는 관리형 플랫폼의 기본 실행 역할이 피해 범위를 정했다 — 5단계 공격 체인, 278일의 수정 창, 모든 관리형 에이전트 플랫폼을 위한 배포 전 질문을 다룬다
- MCP 서버 보호가 제품 카테고리로: 12개 통제 항목의 buy-vs-build 테스트 — 이 체크리스트의 12개 통제 항목에 대비 전용 네트워크 제품이 무엇을 차단하는지 평가하는 동반 문서(3개 차단, 5개 부분, 4개는 운영자 몫), buy-vs-build 의사결정 매트릭스와 RFP 질문 세트 포함
- 마크다운이 새로운 실행 파일이다:AGENTS.md 파일이 Codex와 Claude Code를 탈취하는 방법 — 같은 경계의 워크스테이션 쪽 지시 파일 탈취 계열: 심어진 AGENTS.md는 머신 전역 설정의 MCP 서버 등록으로 지속되고, 레지스트리 diff 감사 규율이 그대로 적용됩니다
업데이트 — 2026-08-08: Skill/Plugin Security Scanning — 벤더 측 공급망 완화
Anthropic은 2026년 8월 6일 Skill/Plugin Security Scanning을 출시했다 — 서드파티 도구 서버에 대한 최초의 모델 벤더 측 공급망 완화 조치이다. 이 스캔은 서드파티 Claude Code 업로드(스킬과 플러그인)가 마켓플레이스에 도달하기 전에 악성 콘텐츠를 검사한다. 이는 운영자가 자체 도구 정의에 대해 수행하는 스캔의 벤더 측 보완이다: Control 10(도구 포이즈닝 방어)이 귀하가 수행하는 스캔을 관리하며, Skill/Plugin Scanning은 모델 벤더가 마켓플레이스에서 수행하는 검사를 관리한다.
digitalapplied.com 프레임워크(2026년 8월 6일)는 프로덕션 격차를 정량화한다: AI 에이전트 프로젝트의 88%가 프로덕션에 도달하지 못하며, 평균 실패 프로젝트 비용은 $340,000이다. 7가지 실패 패턴이 정체의 94%를 차지한다 — 범위 확장(34%), 데이터 품질(27%), 보안 차단(14%), 통합 복잡성(9%), 비용 초과(7%), 거버넌스 격차(5%), 조직 저항(4%). 프로덕션에 도달하는 12%는 네 가지 특성을 공유한다: 더 좁은 범위, 데이터 준비 투자, 동시 보안 아키텍처, 배포 전 거버넌스. 구조화된 실패 모드 평가를 적용하는 조직은 실패율을 15% 미만으로 낮춘다 — 4배 개선.
업데이트 — 2026-10-11: AgentCorruption — IMDS 자격 증명 공격면이 관리형 에이전트 플랫폼에 도달
Zenity Labs의 AgentCorruption 공개(2026년 10월 8일, SecTor 토론토)는 이 체크리스트의 런타임 제어가 존재하는 이유인 자격 증명 노출 부류를 관리형 에이전트 플랫폼에서 포착한 사례입니다. 공개 접속 가능한 Amazon Bedrock AgentCore 에이전트에 보낸 프롬프트 하나가 HTTP 가능한 도구를 169.254.169.254로 향하게 했고, 인스턴스 메타데이터 서비스는 해당 에이전트의 기본 실행 역할에 속한 임시 자격 증명을 돌려주었습니다 — 그 역할의 적용 범위는 이 에이전트가 아니라 같은 AWS 계정과 리전의 모든 AgentCore 에이전트였습니다. 뒤따른 체인은 순수한 IAM이었습니다: DescribeLogGroups가 모든 에이전트 ID를 나열하고, InvokeAgentRuntime이 권한 없는 내부 에이전트에 도달했으며, ListEvents가 모든 비공개 대화를 읽었고, GetSecretValue가 API 키와 OAuth 토큰을 추출했으며, 에이전트 간 메모리 쓰기 권한이 세션을 넘어 살아남는 지속적 행동 변화를 심었습니다. 이것은 LiteLLM KEV 기사가 게이트웨이 계층에서 기록한 것과 같은 자격 증명 부류 — 약한 경계 하나를 클라우드 계정 전체 침해로 바꾸는 패스스루 라우팅 — 가 플랫폼 계층에 도달한 것이며, 거기서는 플랫폼 자신의 기본값이 과도한 권한의 자격 증명을 공급했습니다. 런타임 제어군에 대한 체크리스트 번역: 링크-로컬 메타데이터 엔드포인트(169.254.169.254)를 모든 모듈 아웃바운드 경로에서 차단하고, 에이전트가 라이브로 올라가기 전에 실행 역할 정책을 권한별로 읽고, 해당 역할이 계정 내 다른 에이전트의 리소스를 나열·호출·읽기·쓰기할 수 없음을 검증하라. AWS가 기본 역할을 강화한 것은 2026년 9월 29일 — 최초 공개로부터 278일 뒤 — 이며, 이것이 두 번째 교훈이다: 보고됨과 수정됨 사이의 창은 어떤 관리형 플랫폼에서든 고객의 몫이다. 사고의 전체 분석은 AgentCorruption 기사에 있습니다.
대표적 빌드: NetSuite 카탈로그를 읽고, 견적을 생성하고, 재고 가용성을 유지하고, 수락된 주문을 ERP에 다시 쓰는 MCP 모듈을 배포하는 중견 유통업체. 컨트롤 1–4(SSE 마이그레이션, 네트워크 격리, OAuth, 에이전트 아이덴티티)가 아키텍처입니다. 컨트롤 5–8(도구 포이즈닝 스캔, 서명된 프로비넌스, STDIO 강화, 레이트 리미트)가 공급망과 런타임 계층입니다. 컨트롤 9–12(컨텍스트 경계, kill switch, 감사 로깅, 섀도 감지)가 모듈이 일주일 실행되는지 일년 실행되는지를 결정하는 운영 계층입니다. 일주일의 Discovery 단계는 모듈이 프로덕션 트래픽에 닿기 전에 각 컨트롤을 검증 가능하게 하는 시스템 인벤토리와 워크플로 맵을 산출합니다.
일주일 Discovery. 시스템 인벤토리, 워크플로 맵, 고정 범위를 얻습니다——당신이 우리와 구축하든 아니든.
업데이트 — 2026-10-20: Splunk CVE-2026-76286 — 도구에 설정된 URL 자체가 신뢰 경계
Splunk는 2026년 10월 7일 자사 MCP Server에서 CVE-2026-76286을 공개했습니다 (CWE-918, CVSS 5.3, 1.2.1에서 수정) — 실행 중인 사용자의 플랫폼 토큰을 사용자 정의 API 도구에 설정된 URL로 전송하는 SSRF입니다 (권고문). 이 사례는 이 체크리스트가 추적하는 대장(CVE-2026-16496의 CVSS 10.0 세션 클래스, Spring AI의 SSRF CVE-2026-45609, 그리고 두 건의 KEV 등재)에 합류하며, 하나의 별도 통 제어 교훈을 더합니다. 도구에 설정된 URL 자체가 신뢰 경계입니다. 도구 설정의 URL을 고정·검증하고, 사용자가 제공한 원시 URL을 도구 구성에 받아들이지 말며, 도구가 수행하는 모든 아웃바운드 패치를 서버 자격 증명의 운반으로 다루십시오.
귀하의 시스템을 위해 이것을 구축하고 싶으신가요?
여기의 각 문서는 실제 프로덕션 작업에서 나왔습니다. 대상 시스템과 워크플로가 있다면, 1주 내에 빌드를 범위 정의할 수 있습니다.
범위 정의 빌드 요청1주 발견. 시스템 인벤토리, 워크플로 맵, 고정 범위를 받습니다 — 우리와 빌드할지 여부와 관계없이.