AI Agent Skill 170만 설치 공격, SKILL.md가 새로운 공급망 공격이 된 이유
② Zenity Labs가 추적한 한 악성 Skill 계열은 누적 170만 건 이상의 설치를 기록했습니다.
③ 이제 SKILL.md는 단순 문서가 아니라 Agent의 행동을 바꿀 수 있는 공급망 구성요소로 봐야 합니다.
최근 Codex나 Claude Code에서 Skill을 사용하면서 꽤 편하다는 생각을 했습니다. 반복해서 설명하던 작업 방식을 SKILL.md에 넣어두면 Agent가 필요할 때 읽고 활용할 수 있기 때문입니다.
그런데 이 편리함을 보안 관점에서 뒤집어 보면 꽤 무섭습니다.
2026년 8월 Black Hat USA에서 공개된 Zenity Labs의 연구는 이 문제가 이미 현실의 공격으로 넘어왔음을 보여줬습니다. 특히 연구진이 추적한 한 악성 Skill 계열은 누적 설치 횟수가 170만 건을 넘었습니다.
다만 170만 명이 해킹당했다는 뜻은 아닙니다. 공개된 수치는 aggregate installs, 즉 누적 설치 횟수이며 실제 피해자 수는 확인되지 않았습니다.
Agent Skill이 왜 공격 대상이 됐을까?
AI Agent에게 특정 업무를 수행하는 방법을 알려주는 재사용 가능한 지침과 관련 파일의 묶음입니다. 스마트폰에 기능을 추가하는 앱과 비슷하다고 생각하면 쉽습니다.
문제는 AI Agent가 일반 챗봇과 다르다는 것입니다. 코딩 Agent는 상황에 따라 파일을 읽고 명령어를 실행하고 Git을 조작하거나 외부 서비스와 통신할 수 있습니다.
Skill
↓
AI Agent
↓
파일 / Shell / Network
↓
실제 개발환경
공격자는 바로 이 연결고리를 노립니다.
170만 설치 공격은 어떻게 이루어졌나
| 단계 | 공격 방식 |
|---|---|
| 1 | 정상 Skill을 복제하거나 비슷한 이름 사용 |
| 2 | 사용자가 정상 Skill로 착각하고 설치 |
| 3 | 초기에는 정상적인 기능 제공 |
| 4 | 설치 수와 신뢰 확보 |
| 5 | 업데이트에 악성 지시 또는 코드 추가 |
| 6 | Agent 권한으로 Credential 등에 접근 |
| 7 | 탈취 정보를 외부로 전송 |
가장 무서운 부분은 처음부터 악성일 필요가 없다는 것입니다.
처음 검사했을 때 안전했던 Skill도 나중에 업데이트되면서 악성으로 변할 수 있습니다. npm이나 PyPI에서 보던 공급망 공격이 AI Agent 생태계로 옮겨온 셈입니다.
공격자가 노린 것은 개발자의 핵심 자산이었다
공개된 분석에서 공격 대상에는 SSH Key, Cloud Credential, Git 및 Package Manager Token, Kubernetes·Docker 설정, Database Credential, Infrastructure-as-Code Credential, 환경설정 파일, Service Account 관련 파일 등이 포함됐습니다.
이미 파일과 Shell에 접근할 수 있는 Agent에게 파일을 읽고 전송하도록 지시하는 구조입니다.
Snyk가 3,984개 Skill을 조사해 보니
이번 사건을 일부 악성 Skill의 문제라고만 보기도 어렵습니다. Snyk가 2026년 공개한 ToxicSkills 연구에서는 3,984개의 Agent Skill을 분석했습니다.
| 조사 결과 | 수치 |
|---|---|
| 분석 Skill | 3,984개 |
| 보안 문제가 발견된 Skill | 1,467개 |
| 전체 대비 | 36.82% |
| Critical 문제 포함 | 534개 / 13.4% |
| 확인된 악성 Payload | 76개 |
36.82%가 모두 악성코드라는 의미는 아닙니다. 하드코딩된 API Key, 위험한 Credential 처리, 외부 콘텐츠 노출 등의 보안 문제도 포함됩니다.
하지만 사람의 검토를 거쳐 Credential 탈취, Backdoor 설치, Data Exfiltration 등을 목적으로 한 76개의 악성 Payload가 별도로 확인됐다는 점은 주목할 필요가 있습니다.
Markdown인데 왜 위험할까?
저도 처음 Skill을 사용할 때 쉽게 착각했던 부분입니다. SKILL.md를 열어보면 그냥 Markdown이라 코드보다 안전해 보입니다.
SKILL.md
↓
Agent가 지시를 해석
↓
파일 읽기 / Shell 실행 / 네트워크 접근
↓
실제 시스템에 영향
사람에게 Markdown은 문서지만 Agent에게 Markdown은 행동을 결정하는 지시문이 될 수 있습니다.
중요한 것은 파일 형식이 아니라 Agent가 그 내용을 읽은 뒤 무엇을 할 수 있느냐입니다.
실제 개발환경에서는 이렇게 확인한다
1. 설치 전에 SKILL.md를 읽는다
curl, wget, bash, powershell, .env, ~/.ssh, credentials, token, secret 같은 접근이 왜 필요한지 확인합니다.
2. scripts 디렉터리까지 확인한다
SKILL.md만 읽고 끝내면 안 됩니다. Skill에서 호출하는 Shell, Python, JavaScript 등의 파일도 함께 확인해야 합니다.
3. 이름이 아니라 출처를 확인한다
원본 Git 저장소와 작성자를 확인합니다. 특히 유명 Skill과 철자가 한두 글자 다른 Typosquatting에 주의해야 합니다.
4. Security Audit을 확인한다
Vercel은 skills.sh에 Gen, Socket, Snyk와 연계한 자동 보안 Audit을 제공하고 있습니다. 악성으로 판정된 Skill은 검색과 Leaderboard에서 숨기고 직접 접근 시 경고를 표시합니다.
5. 업데이트도 새로운 설치처럼 검토한다
어제 검증한 Skill
≠
오늘도 안전한 Skill
Skill이 업데이트됐다면 SKILL.md와 관련 Script의 diff를 다시 확인하는 편이 안전합니다.
수상한 Skill을 이미 설치했다면?
단순 삭제만으로 끝내면 부족할 수 있습니다.
악성 Skill이 실행됐다고 의심된다면 Agent가 접근할 수 있었던 범위를 기준으로 SSH Key, Git Token, Cloud API Key, npm Token, Database Credential, Service Account Key 등의 Credential 교체를 검토해야 합니다.
Zenity 측도 플랫폼에서 Skill이 제거됐더라도 이미 설치된 로컬 복사본은 사용자가 직접 제거해야 한다고 경고했습니다.
이제 SKILL.md도 보안 리뷰 대상이다
예전에는 보안 리뷰를 할 때 주로 다음 파일을 살펴봤습니다.
package.json
requirements.txt
Dockerfile
Shell Script
CI/CD Workflow
이제 하나를 추가해야 합니다.
SKILL.md
더 나아가 AGENTS.md, Skill, MCP 서버처럼 Agent의 행동을 결정하거나 외부 권한과 연결되는 구성요소 전체를 공급망 관점에서 관리할 필요가 있습니다.
Black Hat USA 2026에서 발표된 Promptware EOD: Skillful Agent Detonation 역시 단순히 텍스트만 정적으로 검사하는 대신 격리된 환경에서 Agent의 실제 행동을 관찰하는 접근을 다뤘습니다.
결론: Agent 시대에는 지시문도 의존성이다
AI Agent Skill은 정말 편합니다. 잘 만든 Skill 하나만 추가해도 Codex나 Claude Code의 작업 방식이 크게 좋아질 수 있습니다.
하지만 npm 패키지를 아무거나 설치하면 안 되는 것처럼 Agent Skill도 아무거나 설치하면 안 됩니다.
Agent가 읽고 행동할 수 있는 파일이라면 확장자가
.md여도 코드와 같은 수준으로 의심해야 합니다.170만이라는 숫자보다 중요한 변화는 바로 이것입니다. AI Agent 시대의 보안 경계는 실행파일에서 끝나지 않습니다.
자연어로 작성된 지시문까지 이미 공격 표면이 되고 있습니다.
• Snyk — ToxicSkills: Malicious AI Agent Skills Supply Chain Compromise
• Vercel — Automated security audits for skills.sh
• Vercel — Agent Skills: Creating, Installing, and Sharing Reusable Agent Context
#AIAgent #AgentSkills #SKILLmd #ClaudeCode #Codex #Cursor #AI보안 #사이버보안 #공급망공격 #SupplyChainAttack #개발자보안 #VibeCoding
댓글
댓글 쓰기