MCP 서버를 운영하는 입장에서 최근 취약점이 의미하는 바는.
Source: Dev.to
지난 주에 두 개의 MCP 보안 취약점이 공개되었습니다. nginx‑ui MCP 엔드포인트에 대한 CVE‑2026‑33032 (CVSS 9.8)와 모든 SDK에 영향을 미치는 STDIO 전송 설계 결함으로, 최대 20만 대의 서버가 노출될 가능성이 있습니다. MCP Pitfall Lab은 6가지 클래스 보안 분류 체계를 발표했습니다.
MCP 서버를 운영하고 있다면—특히 개인 환경, 홈랩, 소규모 프로덕션 환경—헤드라인을 보고 당황해야 할지 고민했을 겁니다. 저도 같은 상황이었죠. 그래서 직접 감사를 진행했습니다. 아래는 제가 발견한 내용과, 모든 책임을 지고 있는 당신에게 실제로 중요한 것이 무엇인지 정리한 것입니다.
내 환경
OpenClaw와 함께 몇 개의 MCP 서버를 운영하고 있습니다.
- 파일 작업을 위한 커스텀 MCP 서버 (OpenClaw에 기본으로 포함된 것이 아니라, 제가 특정 용도로 직접 만든 것)
- 정기적으로 사용하는 몇몇 서드파티 MCP 서버
- 원격으로 리버스 프록시 설정을 가장 쉽게 관리할 수 있어 Docker 컨테이너 하나에 nginx‑ui를 배치
그 nginx‑ui 인스턴스? 저는 이를 tailscale 네트워크에만 허용 목록으로 노출시켰습니다. 조심하고 있다고 생각했죠. CVSS 9.8 공개 이후 실제로 안전한지 확인해 보겠습니다.
아래는 처음부터 끝까지 진행한 정확한 절차입니다.
-
MCP 서버 엔드포인트 찾기
openclaw plugins list --json | grep -A5 mcp이 명령은 모든 MCP 플러그인 항목을 보여줍니다. 각 항목마다 다음을 확인하세요.
- 어떤 전송 방식을 사용하고 있나요? (stdio vs HTTP)
- 신뢰하는 네트워크 외부에서 접근 가능한가요?
- 특권 사용자로 실행되고 있나요?
-
nginx‑ui 인스턴스 별도 점검
docker ps | grep nginx-ui인스턴스를 찾았다면 버전을 확인하고, 관리 패널이 외부에 노출돼 있는지, 인증 없이 접근 가능한 엔드포인트가 있는지 점검합니다. CVE‑2026‑33032 취약점은 nginx‑ui MCP 엔드포인트에 존재하며, 관리 패널뿐 아니라 이를 통해 노출된 모든 MCP 엔드포인트에 영향을 미칩니다.
-
MCP 서버의 노출 포트 감사
ss -tlnp | grep -E '(3182|3183|3184|3185)'MCP 서버는 기본적으로 HTTP 전송을 위해 위 포트들을 사용합니다. 만약 이 포트들이
127.0.0.1이나 내부 인터페이스가 아니라0.0.0.0에 바인딩돼 있다면 외부에 노출된 것입니다.
“20만 대 서버가 위험에 처했다”는 헤드라인은 겁을 주지만, 실제 위험도는 네트워크 환경에 따라 달라집니다.
- 프라이빗 Tailnet(예: Tailscale, WireGuard 등)에서 허용 목록을 사용 중이라면: 공격 표면은 이미 네트워크에 접근 권한이 있는 사람들로 제한됩니다. 취약점 자체는 여전히 유효하지만, 인터넷에 자동으로 노출되는 것은 아닙니다. 네트워크 내에 침해된 장치가 있으면 피벗 포인트가 될 수 있습니다.
- VPS 혹은 퍼블릭 IP를 가진 클라우드 인스턴스라면 상황이 심각해집니다. 포트
3182‑3185가 인터넷에서 접근 가능하고, 추가 인증 없이 stdio 전송을 사용한다면 20만 대 서버 중 하나가 될 가능성이 있습니다.
내가 취한 조치 (노력 대비 효과 순)
- 고노력·고효과: nginx‑ui 패치 또는 격리
- 중노력·중효과: 전송 모드 전환 (
mcp.transport설정) - 저노력·고효과: 엄격한 MCP 모드 활성화
모든 들어오는 MCP 메시지를 검증하고, 형식이 잘못된 요청을 서버에 도달하기 전에 차단합니다. 패치를 대신할 수는 없지만 방어 깊이를 한 층 늘려줍니다.MCP_SECURE_MODE=strict - 무노력·고효과: 보안 권고 구독
MCP Pitfall Lab 논문은 MCP 서버를 직접 구축하지 않더라도 알아두면 좋은 자료입니다. 여섯 가지 함정 분류(P1‑P6)는 보안 체크리스트 역할을 합니다.
MCP Pitfall Lab 6‑클래스 함정 분류
- P1: 도구를 통한 프롬프트 인젝션 — 공격자가 도구 호출을 조작해 에이전트 컨텍스트에 명령을 삽입
- P2: 응답 형태 조작을 통한 데이터 탈취 — MCP 서버 응답을 변조해 에이전트를 통해 데이터를 추출
- P3: 권한 우회 — 비정형 요청을 통해 도구 수준 권한을 우회
- P4: 자원 고갈 — 빠른 요청을 반복해 MCP 서버 자원을 의도적으로 과부하
- P5: 서버 간 오염 — 같은 환경을 공유하는 MCP 서버 간에 악성 상태가 전파
- P6: 공급망 공격 — MCP 서버 의존성이 손상된 경우
서드파티 MCP 서버를 평가한다면, 유지보수자에게 이 분류에 대한 감사를 수행했는지 직접 물어보