무슨 일이 일어났나

Claude Code, Cursor, Codex 같은 AI 코딩 에이전트는 npm install을 자율로 실행해. 근데 “supabase-mcp-helper”가 진짜 패키지인지 확인하는 사람은 없거든. npmguard는 설치 스크립트가 실행되기 전에 패키지를 검사하고 판정을 내리는 MCP 서버야.

개발자 AyoubTadlaoui가 glama.ai에 공개했고, 바이브코딩 커뮤니티에서 빠르게 퍼지고 있어.

어떻게 작동하나

npmguard가 체크하는 3가지 항목:

  • OSV 악성코드 데이터베이스: 알려진 악성 패키지 매칭 (수천 건의 CVE·악성코드 등록 패키지 포함)
  • 오타 도메인 탐지(typosquat/slopsquat): lodahs = lodash 오타처럼 AI가 실수로 만든 가짜 패키지명
  • 설치 스크립트 분석: 라이프사이클 스크립트 자체가 위험한지 사전 분석

판정은 npm install 실행 전에 나와. 스크립트가 1줄도 실행되기 전에 막아. Claude Code·Cursor·Codex 3개 에이전트 환경에서 동작해.

왜 Rust 바이너리인가

npmguard는 npm 바깥에서 작동해 — Rust로 만든 단일 바이너리 1개야. npm 의존성이 0개라 설치 자체가 공급망 공격에 노출되지 않아. “지키는 도구 자체가 오염되면 안 된다”는 설계 원칙이거든. npm으로 설치하는 npm 보안 도구가 npm 공격에 뚫리는 아이러니를 피한 셈이야.

AI 코딩 에이전트를 오토모드로 돌리고 있다면, 패키지 한 번 걸러주는 MCP 서버 하나 끼워두는 게 지금 당장 할 수 있는 현실적인 보안 조치야.