NEWSkillSec — AI Skill 보안을 '악성코드 탐지'에서 '능력 감사'로SkillSec자세히 보기 →
보안 연구

npm 웜에서 MCP 포이즈닝까지: AI Agent 공급망 공격의 진화와 방어선

Sectrend 리서치·2026.07.06·4 분 분량

소프트웨어 공급망 포이즈닝은 새로운 이야기가 아니다. 2018년 event-stream에는 암호화폐 지갑을 훔치는 백도어가 심어졌고, 2021년에는 주간 다운로드 800만에 육박하던 ua-parser-js가 탈취되어 채굴기와 정보 탈취 도구를 배포했다. 2024년의 xz/liblzma 백도어(CVE-2024-3094)에서는 공격자가 3년에 걸쳐 커뮤니티의 신뢰를 쌓아 주요 리눅스 배포판 진입 직전까지 갔다. 그리고 2025년 9월, 자가 복제 npm 웜 'Shai-Hulud'가 수백 개 패키지를 감염시키고 탈취한 메인테이너 자격증명으로 하류 투독을 자동화했다. 공격은 '수공업'에서 '자동화 공장'으로 진화했다.

공격면은 Agent 생태계로 이동 중이다

기업이 AI Agent를 본격 도입하면서 사실상 무규제의 새 배포 채널이 생겨났다. 바로 MCP 서버와 Agent Skill이다. 플러그인처럼 손쉽게 설치되지만 그 권한은 전통적 의존성보다 훨씬 크다. 파일 읽기·쓰기, 내부 API 호출, 이메일 발송, 브라우저 조작까지 미친다.

실제 사건은 이미 일어났다. 2025년 9월 공개된 postmark-mcp 사건에서, npm에 배포된 한 MCP 서버는 여러 버전 동안 정상 동작하다가 조용한 업데이트로 단 한 줄의 코드를 추가해 사용자가 보내는 모든 이메일을 공격자에게 BCC로 전송하기 시작했다. 연구자들은 '툴 포이즈닝'——MCP 툴 설명 안에 악성 지시를 숨겨 사용자가 모르는 사이 모델이 SSH 개인키를 유출하게 만드는 수법——도 시연했다. mcp-remote의 원격 코드 실행 취약점(CVE-2025-6514, CVSS 9.6)은 신뢰할 수 없는 MCP 서버에 연결하는 것만으로 호스트가 장악될 수 있음을 증명했다.

왜 악성코드 탐지만으로는 부족한가

전통적 보안 도구에는 구조적 사각지대가 있다. Skill의 위험은 대개 악성 코드가 아니라 부여되는 능력의 조합에서 나온다는 점이다.

  • 설명서가 곧 공격면: Skill의 동작은 SKILL.md 같은 자연어 파일에 크게 좌우된다. 프롬프트 인젝션은 문서에 숨을 수 있지만 정적 스캐너는 그것을 읽지 않는다.
  • 선의여도 위험하다: 메일을 읽는 능력과 외부 API 접근 능력을 함께 가진 '메일 요약' Skill은 그 자체로 완성된 데이터 유출 채널이다. 악성 코드는 한 줄도 없다.
  • 조합 공격 체인: 단독으로는 무해한 Skill들도 능력이 겹쳐지면(파일 읽기+네트워크+예약 실행) 완전한 침투 경로가 조립된다.

물어야 할 질문은 '악성인가'가 아니라 '활성화된 후 Agent가 어떤 승인 대상 능력을 얻게 되는가'다. 이것이 능력 감사와 악성코드 탐지를 가르는 분수령이다.

MCP와 Skill: 두 가지 신뢰 모델, 두 가지 감사 포인트

흔히 나란히 논의되지만 두 생태계의 위험 구조는 다르다. MCP 서버는 런타임 서비스다. 동적이고 원격이며 언제든 업데이트될 수 있다. 감사의 초점은 엔드포인트 행동과 툴 설명의 드리프트다. 어제 심사를 통과한 서버가 오늘의 조용한 업데이트로 행동을 바꾼다——postmark-mcp가 바로 그 경로였다. Skill은 능력 패키지다. 설명서와 스크립트의 정적 조합이며 최대 위험은 '선언과 구현의 괴리'에 있다. 문서는 읽기 전용이라 말하지만 스크립트는 쓰고, 로컬 처리라 말하지만 코드는 외부로 통신한다. 자연어와 코드를 함께 읽고 둘의 일치를 검증해야 하며, 코드만 보는 기존 스캐너가 이 생태계에서 구조적으로 눈이 머는 이유가 여기에 있다.

기업의 세 가지 방어선

1선: 도입 게이트. 모든 MCP 서버와 Skill은 기업 환경에 들어오기 전에 감사를 거쳐 block / need_review / pass의 명확한 판정을 받아야 한다. Sectrend SkillSec은 이 방법론을 제품화했다. 7개 리스크 도메인, 30개 이상의 구조화 능력 태그, E1–E5 증거 등급, SKILL.md 행 번호까지 특정하는 증거 체인.

2선: 버전 상시 모니터링. postmark-mcp의 교훈은 '등록 시점의 깨끗함'이 '영원한 깨끗함'을 뜻하지 않는다는 것이다. 업데이트마다 재감사하고 행동 차이에 주목한다.

3선: 런타임 최소 권한. 능력 태그를 기준으로 Agent의 실제 권한을 좁혀, 설령 투독이 새어 들어와도 실익을 얻기 어렵게 만든다.

공급망 공격의 역사 법칙은 하나다. 배포 채널이 있는 곳에 투독은 반드시 따라온다. npm이 성숙한 방어 합의를 만드는 데 7년이 걸렸다. 권한이 크고 성장이 빠른 Agent 생태계에 7년의 여유는 없다. 활성화 전에 감사를 두는 것, 그것이 오늘 당장 할 수 있는 일이다.

MCP 보안Skill 보안공급망 공격AI AgentSkillSec

관련 글

딥다이브

SBOM은 컴플라이언스 체크리스트 그 이상이다

많은 팀이 SBOM을 '제출할 서류'로 취급한다. 하지만 가치 있는 SBOM은 의사결정을 이끈다——어떤 취약점이 악용 가능한지, 어떤 의존성을 먼저 고칠지, 어떤 라이선스가 리스크를 안고 있는지.