무슨 일이 일어났나
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 서버 하나 끼워두는 게 지금 당장 할 수 있는 현실적인 보안 조치야.