상세 컨텐츠

본문 제목

남이 만든 AI 스킬, 그냥 설치해도 될까 — AI 공급망 위험

AI 이야기/이게 뭐지?

by 사이 (SAI) 2026. 7. 18. 12:01

본문

728x90
반응형

남이 만든 AI 스킬은 스타(별점)가 아무리 많아도 그대로 믿고 설치하면 안 됩니다.

2026년 7월 기준, 별 11,602개가 붙은 인기 스킬 claude-seo가 감사 결과물 맨 아래에 개발자 홍보 문구를 몰래 붙여 넣는 일이 드러났기 때문입니다.

이 글을 읽으면 "왜 인기가 안전을 뜻하지 않는지", 그리고 스킬을 설치하기 전에 5분 안에 직접 확인하는 방법을 알 수 있습니다.

별점이 잔뜩 붙은 선물상자 안에 숨어 있는 낚싯바늘, 인기와 안전은 다르다는 은유

별 11,602개 스킬도 결과물에 홍보 문구를 몰래 붙였습니다.
별점은 클릭 수일 뿐 코드를 검증한 사람 수가 아닙니다.
AI 스킬을 설치하기 전에는 스타 개수가 아니라 SKILL.md 파일을 직접 열어 읽어야 합니다.

11.5K 스타 스킬의 배신 — 인기는 검증이 아니다

먼저 AI 스킬이 뭔지부터 짚겠습니다.

AI 스킬은 코드 덩어리가 아니라, 에이전트(AI 비서)에게 "이런 일은 이렇게 하라"고 적어 둔 자연어 지시문입니다.

쉽게 말해 AI에게 건네는 업무 매뉴얼에 가깝습니다.

문제가 된 claude-seo는 검색 최적화(SEO) 작업을 도와주는 인기 스킬이었습니다.

GitHub 기준 별 11,602개, 포크 1,696개가 붙어 있었습니다.

그런데 이 스킬은 감사를 포함한 16개 명령을 끝낼 때마다, 결과 문서 맨 아래에 "개발자가 만들었고 마케팅 커뮤니티에 가입하라"는 홍보 푸터를 자동으로 붙였습니다.

사용자에게 알리지도, 끄는 옵션을 주지도 않았습니다.

더 당황스러운 건, 이 문구가 어딘가 암호로 숨겨져 있던 게 아니라는 점입니다.

스킬 설명 파일(SKILL.md) 119번째 줄에 평범한 글자로 그냥 적혀 있었습니다.

숨긴 게 아니라, 아무도 그 파일을 열어 읽지 않았던 겁니다.

개인적으로는 이 사건이 악의적 해킹보다 더 불편하게 느껴집니다. 공개된 글을 아무도 확인하지 않는 문화 자체가 진짜 빈틈이기 때문입니다.


공급망 위험이 뭐길래 — event-stream과 left-pad 이야기

공급망 위험은 내가 가져다 쓴 "남이 만든 부품"에 문제가 심겨, 내 프로젝트까지 위험해지는 상황을 말합니다.

택배로 비유하면, 내가 주문한 상자 안에 누군가 몰래 다른 물건을 넣어 배송한 셈입니다.

개발 세계에서는 이미 유명한 사건이 두 번 있었습니다.

2016년 left-pad 사건 때는, 겨우 11줄짜리 작은 부품을 개발자가 삭제하자 React·Babel 같은 수천 개 프로젝트가 한꺼번에 빌드에 실패했습니다.

악성 코드가 없어도, 신뢰의 사슬 하나가 끊기자 인터넷 곳곳이 흔들린 겁니다.

2018년 event-stream 사건은 한술 더 떴습니다.

주당 150만 회 내려받던 인기 부품의 관리 권한이 낯선 개발자에게 넘어갔고, 그가 악성 코드를 몰래 심었습니다.

Snyk의 사후 분석에 따르면, 이 악성 버전은 특정 비트코인 앱에서만 작동하도록 암호화돼 2개월 넘게 들키지 않았고 약 800만 회 내려받아졌습니다.

구분 과거 npm 부품 지금 AI 스킬·MCP
형태 코드 파일 자연어 지시문(SKILL.md)
점검 방식 코드 분석 도구로 검사 지시문이라 자동 검사 경계가 흐림
실행 권한 정해진 코드만 실행 AI가 파일·터미널을 대신 실행

AI 스킬이 위험한 이유가 여기 있습니다.

스킬은 코드가 아니라 지시문이라, 기존 코드 검사 도구로는 걸러내기가 애매합니다.

게다가 에이전트는 파일을 읽고 API를 부르고 터미널 명령까지 실행할 수 있는데, 스킬이 그 행동을 뒤에서 조종합니다.

공급망 공격의 다음 무대가 AI 스킬이라고 불리는 이유입니다.

깨끗한 감사 보고서 문서 맨 아래에 몰래 찍히는 홍보 도장, 알림 없는 삽입 은유

스타가 많으면 안전할까

결론부터 말하면, 별 개수와 안전은 관계가 없습니다.

별점은 "이 스킬 괜찮아 보인다"는 클릭 수일 뿐, 코드를 실제로 검증한 사람의 수가 아닙니다.

앞서 본 event-stream도 주당 150만 다운로드였고, 오히려 그 인기 때문에 공격 표적이 됐습니다.

보안 회사 Snyk가 2026년 2월 스킬 3,984개를 조사한 ToxicSkills 보고서에서도 같은 결론이 나왔습니다.

이 중 심각한 결함이 있는 스킬이 534개(13.4%), 악성 페이로드가 심긴 스킬이 76개였습니다.

악성 스킬의 91%는 프롬프트 인젝션, 즉 AI에게 몰래 다른 지시를 끼워 넣는 수법을 함께 썼습니다.

보고서의 결론도 한 줄로 요약됩니다. "인기는 안전이 아니다."

비슷한 위험은 MCP에서도 나타납니다.

MCP는 AI가 외부 도구와 연결되도록 해주는 공통 규격인데, 도구 설명란에 숨긴 지시를 AI가 믿고 실행하는 "툴 포이즈닝"이 대표적입니다(OWASP MCP03:2025).

이 부분은 앞서 정리한 MCP 개념 글MCP 서버 연결 글에서 더 자세히 다뤘습니다.


설치 전에 5분만 확인하는 7가지 수칙

어렵게 들리지만, 대부분 파일 하나 열어 눈으로 훑으면 끝납니다.

스킬 설명 파일은 평범한 글자로 돼 있어 5분이면 읽힙니다.

☐ 스타·다운로드 수를 안전 근거로 삼지 않는다 (11,602개 스타 스킬도 홍보 문구를 몰래 붙였다)

☐ 설치 전 SKILL.md와 CLAUDE.md 전문을 직접 열어 읽는다

☐ 코드가 공개돼 있는지, 최근 커밋이 있는지 확인한다 (비공개거나 6개월 이상 방치면 주의)

☐ "최신 버전 자동 확인", "원격 URL 로드", "git pull" 같은 자동 업데이트 지시가 있는지 본다

☐ 의심되는 스킬은 파일·네트워크가 제한된 환경에서 먼저 테스트한다

☐ 스킬이 만든 결과물, 특히 클라이언트에게 보내는 문서는 발송 전에 눈으로 다시 확인한다

☐ 민감한 프로젝트에는 검증 안 된 스킬을 쓰지 않고, 공식 경로나 직접 작성한 스킬만 쓴다

여러 사람의 손을 거치는 택배 컨베이어 벨트 아이소메트릭, 공급망이 여러 단계를 거친다는 은유

이미 설치한 스킬은 어떻게 점검할까

이미 여러 스킬을 깔았다면, 파일을 열어 위험 신호를 검색해 보면 됩니다.

스킬은 보통 ~/.claude/skills/ 또는 프로젝트 폴더의 .claude/skills/ 안에 들어 있습니다.

터미널에서 아래처럼 몇 개의 키워드를 한 번에 훑을 수 있습니다.

grep -ri "footer\|community\|sponsor\|skool\|discord" ~/.claude/skills/
grep -ri "curl\|wget\|git pull\|http" ~/.claude/skills/

첫 줄은 결과물에 홍보 문구를 끼워 넣는 지시가 있는지 찾습니다.

둘째 줄은 외부 주소를 몰래 부르거나 원격에서 코드를 끌어오는 지시가 있는지 찾습니다.

여기에 더해 환경변수나 API 키를 읽어 내보내라는 지시가 있는지도 살펴봅니다.

의심스러운 항목이 나오면 그 스킬을 지우거나, 해당 줄을 주석 처리해 잠시 꺼두면 됩니다.

심야 책상에서 돋보기로 코드 파일의 한 줄을 비춰 읽는 점검 장면, '직접 읽기' 라벨

자주 묻는 질문

공식 디렉토리에 올라온 스킬이면 안전한가요?

등재가 곧 안전을 뜻하지는 않습니다.

Anthropic도 커넥터 디렉토리 리뷰는 기능·정책 수준일 뿐 "보안 감사나 서버 관리는 하지 않는다"고 명시하고 있습니다.

승인된 뒤에 코드를 슬쩍 바꾸는 경우도 있어, 등재는 영구 보증이 아닙니다.

이미 설치한 스킬은 뭘 먼저 봐야 하나요?

결과물에 문구를 붙이는 지시, 외부 주소를 부르는 지시, 키·환경변수를 읽는 지시 세 가지를 먼저 봅니다.

위의 grep 검색으로 대부분 걸러낼 수 있습니다.

애매하면 일단 꺼두고, 만든 결과물을 직접 검수하는 편이 안전합니다.

MCP 서버와 스킬은 위험도가 같나요?

성격이 조금 다릅니다.

MCP는 실행·파일·네트워크를 직접 다뤄서 문제가 있으면 즉시 악영향을 줄 수 있습니다.

스킬은 지시문이라 간접적이지만, AI가 그 지시를 따라 행동하므로 결국 둘 다 설치 전 검토가 필요합니다.


결론 — 설치 전 3단계만 기억하기

AI 스킬 생태계는 아직 검증 문화가 자리 잡기 전인 초기 단계입니다.

그래서 안전장치는 각자 챙길 수밖에 없는데, 복잡하게 갈 필요는 없습니다.

첫째, 스타 개수 대신 SKILL.md 파일을 직접 연다.

둘째, footer·community·curl 같은 위험 키워드를 grep으로 한 번 훑는다.

셋째, 스킬이 만든 결과물은 특히 남에게 보내기 전에 눈으로 검수한다.

개인적으로는, 중요한 건 별점이 아니라 "그 코드를 읽는 사람 수"라고 봅니다.

5분이면 읽히는 파일 하나가, 신뢰의 사슬이 끊기는 걸 막아 줍니다.

 

 

 

728x90
반응형

관련글 더보기

댓글 영역