refbase-mcp라는 패키지가, 현재 에이전트 도구가 사용하는 Model Context Protocol 관례에 맞춰 이름 붙여진 채, 악성코드를 싣고 npm에 게시됐다가 298회 다운로드를 기록했고, 약 한 시간 반 뒤 삭제돼 보안용 스텁으로 교체됐다.
레지스트리 자체가 보여준 시간표
버전 1.0.0은 7월 31일 20:23:38 UTC에 올라왔다. 21:54:59 UTC에는 npm의 428바이트 보안 보관용 자리표시자인 0.0.1-security 버전으로 교체됐다. 이는 92분의 노출 창이다. 경고문은 22:00:13 UTC에 뒤따랐다. 이 세 시각은 모두 어떤 설명문이 아니라 레지스트리와 경고 API에서 나온 것이다.
이 이름이 노린 것
-mcp 접미사는 미끼다. 에이전트 도구체인은 다른 어떤 종속성에 부여하는 것과 같은 신뢰로 MCP 서버를 설치하며, 이 관례는 이제 모방할 가치가 있을 만큼 자리를 잡았다. 기록상 이 패키지가 실제로 MCP 서버로 기능했음을 보여주는 근거는 없다. 접미사는 기능이 아니라 명명 방식일 뿐이다.
섬뜩한 문장은 템플릿이다
경고문은 해당 패키지가 설치된 모든 기기는 "완전히 침해된 것으로 간주해야 한다"고 적고, 모든 비밀과 키를 교체해야 한다고 안내한다. 이는 npm이 이 유형의 제거 조치마다 사용하는 일반적인 악성코드 상투 문안이다. 페이로드 분석은 공개되지 않았다. 따라서 이 패키지가 실제로 무엇을 했는지는 기록에 없으며, 이 상투 문안을 이 패키지에 대한 조사 결과처럼 보도하는 것은 잘못이다.
298회 다운로드는 298명의 피해자를 뜻하지 않는다
7월 31일 254회, 8월 1일 44회라는 곡선에, 그 전날들은 모두 0회라는 사실은 레지스트리 미러와 보안 스캐너, CI 캐시가 새 패키지를 발견할 때 흔히 보이는 형태다. 이 수치를 감염 수로 해석하면 실제보다 크게 부풀려진다. 더 좁은 해석이 더 유용하다. 제거 루프는 92분 만에 닫혔고, 92분이면 빌드 시스템까지 닿기에는 충분한 시간이다.
