독일 아우크스부르크의 소규모 업체 세만틱(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