무슨 일이 있었나
Glow Labs는 (Claude Code, Cursor, Codex CLI, Claude Cowork 및 Claude 채팅에서 Anthropic/OpenAI/xAI 모델을 사용한) 세션을 문서화했으며, AI 코딩 에이전트가 'GitHub MCP 설정'을 요청받았을 때 현재 서비스 소유자 서버 대신 더 이상 사용되지 않는 아카이브된 참조 MCP 서버를 설치했습니다. 세션의 98%에서 에이전트가 모델 훈련 데이터에서 이전 패키지 이름을 채워 넣은 것으로 보였습니다. 해당 참조 서버에서 4개의 높은 심각도 결함이 발견되었으며, 가장 심각한 것은 Puppeteer 서버의 원격 코드 실행 버그로, 프롬프트 주입이 트리거할 수 있습니다 (에이전트가 이미 부여된 브라우징 권한 하에 브라우저 대신 임의 명령을 실행합니다). 유지 관리자들은 저장소가 2025년 5월에 아카이브되고 유지 관리되지 않았기 때문에 보고서를 범위 밖으로 닫았습니다; 패치는 나오지 않을 것이지만 패키지는 여전히 npx를 통해 설치됩니다. 더 이상 사용되지 않는 @modelcontextprotocol/* 패키지는 2025년 7월 이후 1,730만 회 이상 다운로드되었으며, 그 중 5개가 npm의 상위 MCP 100에 있습니다. 아직 악용 사례는 관찰되지 않았습니다.
왜 중요한가
이것은 보이지 않는 공급망 격차입니다: 이러한 MCP 서버는 의존성 매니페스트에 나타나지 않고 npx를 통해 실행되며 CVE가 없으므로, SCA, EDR 및 소프트웨어 인벤토리는 모두 조용히 유지되는 동안 패치되지 않은 프롬프트 주입 도달 가능한 RCE가 개발자 머신에 설치됩니다. 이는 모델의 '메모리'를 더 이상 사용되지 않는 패키지 관리자로 전환하여 폐기 피드가 없으므로, 적대적 저장소나 프롬프트 주입이 AI 코딩 에이전트로 하여금 개발자 머신에 취약한 아카이브 서버를 설치하고 운영하도록 할 수 있습니다.
공격 경로
코딩 에이전트가 훈련 데이터에서 회수한 더 이상 사용되지 않는 아카이브된 MCP 서버를 권장/설치합니다; 유지 관리되지 않는 서버는 프롬프트 주입 도달 가능한 RCE(Puppeteer 브라우저 드라이버)를 포함하므로, 적대적 웹 페이지나 프롬프트 주입이 이미 부여된 브라우저/실행 권한 하에 에이전트가 임의 명령을 실행하도록 할 수 있습니다.
영향받는 시스템
AI 코딩 에이전트 (Claude Code, Cursor, Codex CLI, Claude Cowork) + 더 이상 사용되지 않는 @modelcontextprotocol/* 참조 MCP 서버; Puppeteer 서버의 프롬프트 주입 RCE를 포함한 4개의 높은 심각도 결함.
완화 방안
npm 폐기 상태를 MCP 설치 승인 기준에 추가하세요; 에이전트 설치를 승인된 서버 레지스트리로 제한하세요; 사전 실행 훅을 사용하여 새로 설치된 서버를 검사하세요; 가능한 경우 서비스 소유자의 현재 서버로 전환하세요; 에이전트 패키지 선택을 신뢰할 수 없는 것으로 취급하고 운영자 승인을 요구하세요.