MCP · 2026년 10월 12일 ★★

npm 에 올라온 MCP 서버 3,372개를 훑은 주간 보고서에서, "사용자에게 말하지 마라" 지시가 든 31개 중 25개는 에이전트가 확인하지 못한 사실을 단정하지 못하게 막는 문구였어요

독일 아우크스부르크의 소규모 업체 세만틱(Semantik)이 10월 11일 낸 주간 리스크 워치 보고서예요. 10월 5일까지 한 주 동안 npm 의 MCP 서버 패키지 3,372개를 정적 패턴으로 훑었고, 31개에서 'do not tell the user' 류 문구를 찾았어요. 그중 4개는 이 문구를 탐지 대상으로 적어 둔 보안 도구였고, 남은 27개 중 25개는 "도메인이 이미 계정에 있다"·"API 키가 틀렸다"처럼 확인할 수 없는 말을 하지 말라는 내용이었어요. 사용자에게 알리지 않고 오래된 파일을 바꿔치우게 하는 패키지는 @sellable/install 하나였어요. 같은 보고서는 셸 명령 실행이 가능한 패키지가 45%, 다른 AI 도구의 MCP 설정을 읽고 쓰는 패키지가 16% 라고 집계했고, 수동 검토에서 확인된 악성 코드는 없었다고 적었어요.

용어 풀이
MCP
AI 에이전트가 외부 도구·데이터에 연결하는 표준 규약(Model Context Protocol)
npm
자바스크립트 패키지를 올리고 내려받는 공개 저장소
API 키
외부 서비스를 호출할 때 신원을 증명하는 비밀 문자열
운영자 인사이트

MCP 서버 설명문에서 '숨겨라' 류 문구를 기계적으로 잡으면 대부분 오탐이 나온다는 점은 사내 점검 규칙을 짤 때 참고할 만해요. 다만 이 결과는 한 업체의 자체 스캐너와 판정이라, 실제로 쓰는 서버는 보고서가 걸어 둔 패키지 원본을 직접 열어 문구의 맥락을 확인하는 편이 안전해요.

여러 관점으로 보기
  • 원본 보고서·스캐너 코드 같은 보고서 원문과 판정 근거 파일, MIT 라이선스 스캐너 코드가 공개 저장소에 올라 있고, 지난주 보고서의 셸 실행 비율 36% 를 고친 정정도 함께 실려 있어요. GitHub

원본 보기 (hn:mcp-server)