이 글에서 사용하는 주요 용어 정의
| 용어 | 뜻 |
|---|---|
| SKILL.md | 에이전트가 특정 작업을 수행하는 절차와 조건을 담는 스킬의 핵심 지침 파일 |
| 스킬 번들 | SKILL.md와 함께 배포되는 스크립트, 참고 문서, 템플릿, 자산의 묶음 |
| 프롬프트 인젝션 | 신뢰하지 않는 지침이 에이전트의 원래 목표나 안전 규칙을 우회하도록 유도하는 공격 |
| 공급망 위험 | 외부 저장소, 의존성, 업데이트 경로를 통해 악성 코드나 지침이 유입되는 위험 |
| 최소 권한 | 작업에 필요한 파일, 명령, 네트워크, 자격 증명만 허용하는 원칙 |
도입
외부 SKILL.md는 에이전트에 새로운 작업 절차를 빠르게 추가할 수 있다는 점에서 유용합니다. 하지만 Markdown 파일이라는 이유만으로 단순한 참고 문서로 보면 안 됩니다. 스킬은 에이전트에게 명령 실행, 파일 수정, 외부 스크립트 호출을 지시할 수 있고, 함께 포함된 스크립트와 템플릿까지 작업에 사용될 수 있습니다.
OpenAI의 스킬 문서에 따르면 스킬 폴더에는 SKILL.md뿐 아니라 참고 자료, 스크립트, 템플릿, 자산이 포함될 수 있습니다. 따라서 설치 전 검토 대상은 한 파일이 아니라 전체 번들입니다. 최근 에이전트 스킬 생태계를 분석한 연구도 악성 지침, 데이터 유출, 위험한 명령 같은 공급망 문제를 별도 위험으로 다룹니다. 연구 결과를 모든 스킬의 실제 감염률로 일반화할 수는 없지만, 검토 범위를 정하는 근거로는 충분합니다.
SKILL.md가 공격 표면이 되는 이유
스킬은 관련 작업이 들어왔을 때 에이전트가 읽고 따르는 실행 지침입니다. 다음과 같은 문장이 포함될 수 있습니다.
특정 스크립트를 실행한다.
환경 변수에서 토큰을 읽는다.
외부 URL로 결과를 전송한다.
기존 안전 지침을 무시한다.
사용자에게 알리지 않고 파일을 삭제한다.
이 중 일부는 정상적인 자동화에도 필요할 수 있습니다. 문제는 작업 목적과 권한 범위에 비해 과도한지, 사용자가 동작을 파악할 수 있는지입니다. 이름과 설명이 멀쩡해 보여도 실제 지침이나 보조 스크립트가 다른 행동을 할 수 있습니다.
설치 전에 확인할 보안 항목
출처와 유지관리 상태
먼저 저장소 소유자, 공개 이력, 최근 변경, 이슈와 릴리스 기록을 봅니다. 별 개수나 다운로드 수는 인기도의 신호일 뿐 안전성의 증거는 아닙니다. 가능하면 검토한 커밋이나 릴리스 태그를 고정해 설치하고, 이후 업데이트는 변경 내역을 다시 확인합니다.
| 살펴볼 정보 | 위험 신호 |
|---|---|
| 저장소 소유자와 이전 활동 | 생성 직후 계정, 관계없는 프로젝트의 갑작스러운 전환 |
| 커밋 기록 | 큰 바이너리 추가, 설명 없는 난독화 변경 |
| 릴리스와 태그 | 태그가 자주 이동하거나 검토할 기준점이 없음 |
| 이슈와 보안 정책 | 취약점 제보 경로와 대응 기록이 전혀 없음 |
SKILL.md의 실제 지침
설명 필드만 읽지 말고 본문 전체를 확인합니다. 특히 다른 지침을 무시하라는 문장, 사용자 동의 없이 권한을 확대하는 절차, 작업 결과를 숨기도록 요구하는 문장은 받아들여서는 안 됩니다.
스킬의 목적과 관계없는 파일을 읽거나 수정하도록 하는지도 봅니다. 블로그 작성 스킬이 SSH 키, 브라우저 프로필, 클라우드 설정을 요구한다면 목적에 비해 권한이 과도합니다.
함께 포함된 스크립트와 실행 파일
scripts/, 설치 스크립트, 패키지 설정, 바이너리를 모두 검토합니다. 셸 명령 안에서 다운로드한 내용을 즉시 실행하거나, 넓은 경로를 재귀적으로 삭제하거나, 운영체제 시작 항목을 바꾸는 코드는 특히 위험합니다.
난독화된 코드와 출처를 확인할 수 없는 바이너리는 설치하지 않는 편이 안전합니다. 코드를 직접 검토하기 어렵다면 격리된 환경에서 정적 분석과 동작 관찰을 먼저 해야 합니다.
외부 의존성과 네트워크 접근
스킬이 어떤 도메인에 접속하고 무엇을 보내는지 확인합니다. 웹 검색이 필요한 스킬과 작업 파일 전체를 알 수 없는 서버로 업로드하는 스킬은 위험 수준이 다릅니다.
의존성 설치가 있다면 패키지 이름, 버전 고정 여부, 설치 시 실행되는 스크립트를 봅니다. 이름이 비슷한 악성 패키지를 잘못 설치하는 타이포스쿼팅과, 최신 버전이 나중에 변조되는 위험도 고려해야 합니다.
자격 증명과 민감 정보 접근
API 키가 필요한 경우에도 스킬 문서나 저장소 파일에 값을 직접 적지 않습니다. 에이전트가 읽을 수 있는 환경 변수의 범위를 줄이고, 작업에 필요한 토큰만 짧은 수명과 최소 권한으로 발급하는 편이 좋습니다.
다음 정보에 접근하려는 스킬은 목적과 필요성을 별도로 설명할 수 있어야 합니다.
- SSH 키와 클라우드 자격 증명
- 브라우저 쿠키와 세션 파일
- 비밀 관리 도구의 전체 저장소
- 다른 프로젝트의
.env파일 - Git 인증 토큰과 패키지 배포 토큰
파일 수정과 삭제 범위
스킬이 쓸 수 있는 경로를 프로젝트 내부로 제한합니다. 사용자 홈, 저장소 상위 폴더, 시스템 경로를 광범위하게 변경할 이유가 있는지 따져야 합니다. 삭제, 덮어쓰기, 강제 Git 초기화 같은 복구하기 어려운 명령은 정확한 대상 확인과 사용자 승인을 거쳐야 합니다.
승인과 샌드박스 우회 지침
에이전트의 샌드박스나 승인 절차를 끄도록 요구하는 스킬은 주의해야 합니다. 정상적인 스킬도 네트워크 설치나 외부 프로그램 실행에 추가 권한이 필요할 수 있지만, 무엇을 위해 어떤 권한을 요청하는지 구체적으로 설명해야 합니다.
“항상 모든 요청을 승인한다”거나 “보안 경고를 무시한다”는 식의 지침은 편의를 위해 안전 경계를 없애는 행동입니다.
라이선스와 데이터 사용 조건
보안과 별개로 라이선스도 확인해야 합니다. 스킬에 포함된 템플릿, 코드, 이미지의 사용 조건이 프로젝트와 맞지 않으면 배포 단계에서 문제가 됩니다. 외부 서비스가 입력 데이터를 학습이나 로그 보관에 사용하는지도 개인정보·회사 정책과 함께 검토합니다.
더 안전한 설치 방식
프로젝트 로컬로 범위를 제한한다
처음 검토하는 스킬은 모든 프로젝트에서 자동으로 검색되는 사용자 전역 위치보다 특정 프로젝트에서만 쓰는 위치에 두는 편이 낫습니다. 문제가 생겼을 때 영향 범위와 제거 대상이 명확해집니다.
검토한 버전을 고정한다
저장소의 기본 브랜치를 그대로 추적하면 다음 업데이트에서 내용이 달라질 수 있습니다. 검토한 태그나 커밋을 기록하고, 업데이트할 때 diff를 다시 확인합니다.
낮은 권한과 테스트 저장소에서 먼저 실행한다
민감 정보가 없고 복구 가능한 테스트 저장소에서 동작을 확인합니다. 네트워크 요청, 생성·수정 파일, 실행 명령을 관찰하고 설명되지 않은 동작이 있으면 실제 프로젝트에 적용하지 않습니다.
설치 후에도 변경을 감시한다
한 번 안전했다고 해서 이후 버전까지 안전한 것은 아닙니다. 스킬 업데이트와 의존성 변경을 코드 변경처럼 리뷰하고, 더 이상 쓰지 않는 스킬과 토큰은 제거합니다.
위험 신호를 발견했을 때
출처가 불분명한 서버로 데이터 전송, 자격 증명 수집, 안전 지침 우회, 광범위한 삭제 명령이 보이면 실행하지 않습니다. 이미 실행했다면 해당 스킬을 비활성화하는 것만으로 끝내지 말고 변경 파일과 실행 기록을 확인해야 합니다. 노출 가능성이 있는 토큰은 폐기하고 새로 발급하며, 저장소와 시스템의 예상치 못한 변경도 조사합니다.
악성 여부를 확정하기 어렵더라도 스킬의 목적과 행동이 맞지 않으면 설치를 보류할 이유가 충분합니다. 자동화가 주는 편의보다 설명할 수 없는 권한이 더 크다면 신뢰 경계 밖에 두는 편이 낫습니다.
마무리
외부 SKILL.md는 복사해 넣는 문서가 아니라 에이전트의 행동을 확장하는 공급망 구성 요소입니다. 출처, 전체 지침, 보조 스크립트, 의존성, 네트워크, 자격 증명, 파일 변경 범위를 함께 검토해야 합니다.
가장 실용적인 원칙은 단순합니다. 검토한 버전을 프로젝트 로컬에 두고, 최소 권한의 격리된 환경에서 먼저 실행하며, 업데이트 때마다 diff를 다시 확인하는 것입니다. 스킬이 유용할수록 더 많은 행동을 자동화할 수 있으므로, 설치 전 검토도 그만큼 구체적이어야 합니다.
참고 자료
'AI > skill' 카테고리의 다른 글
| AGENTS.md와 SKILL.md의 차이: Codex에는 무엇을 어디에 써야 할까 (0) | 2026.08.01 |
|---|---|
| 스킬 마켓플레이스 SkillsMP 완전 정리, 230만개 중 내게 맞는 스킬 찾는 법 (0) | 2026.07.25 |
| OpenClaw란? 6개월 만에 GitHub 최다 스타 찍은 오픈소스 AI 에이전트 정리 (1) | 2026.07.24 |
| AI 스킬 범람 시대, 뭘 설치해야 할지 판단하는 5가지 기준 (0) | 2026.07.24 |
