Claude Code·Codex·Hermes에 외부 Agent Skill을 자주 붙이는 개발자라면 설치 전에 SkillSpector의 정적 검사를 먼저 돌릴 가치가 있다. Snyk Agent Scan이 이미 설치된 에이전트·MCP·Skill을 찾아 조직 단위로 점검하는 쪽에 강하다면, NVIDIA SkillSpector는 내려받기 전 Git 저장소·URL·ZIP·SKILL.md 하나를 71개 패턴으로 검사하는 데 초점을 둔다. 다만 정적 검사에서 0점이 나와도 절대 안전을 뜻하지 않으며, 선택적 LLM 분석은 코드와 지시문을 외부 모델 제공자에게 보낼 수 있다는 점을 먼저 알아야 한다.
핵심 요약
- SkillSpector v2.11.0은 Apache-2.0 오픈소스 Agent Skill 보안 스캐너다.
- 2026년 9월 3일 06:37 KST 기준 GitHub 15,664 stars, 1,320 forks이며 약 24.04시간 동안 실제로 123 stars(+0.791%) 늘었다.
--no-llm은 API 키 없이 로컬 정적 검사를 수행한다. OSV 실시간 취약점 조회는 네트워크를 쓰며 실패 시 오프라인으로 폴백한다.- 개별 Skill의 설치 전 검사에는 SkillSpector, 여러 에이전트 구성의 자동 발견과 중앙 관제에는 Snyk Agent Scan이 더 맞다.
- MCP 모드는 제공되지만 공식 README가 stdio 초기화 지연 이슈 #199를 명시한다. CLI 검사를 기본 경로로 잡는 편이 안전하다.
SkillSpector는 무엇을 해결하나
Agent Skill은 단순 문서처럼 보여도 셸 스크립트, 패키지 설치, 파일 접근, 외부 URL 호출 지시를 함께 담을 수 있다. 설치 후 에이전트가 Skill을 신뢰하면 프롬프트 인젝션, 환경변수 수집, 과도한 파일 권한, 도구 오염이 실행 흐름에 섞일 수 있다.
SkillSpector는 설치 후보를 먼저 가져와 다음 두 단계로 검사한다.
- 정규식·AST·taint·YARA 기반 정적 분석을 수행한다.
- 사용자가 선택한 경우에만 LLM 의미 분석을 더한다.
입력은 로컬 디렉터리, 단일 SKILL.md, Git 저장소 URL, ZIP 파일을 지원한다. 출력은 터미널·JSON·Markdown·SARIF이며 위험 점수, 심각도, 설치 권고, 발견 항목과 분석 완전성을 함께 남긴다. 원격 입력은 100MiB, ZIP은 10,000개 항목으로 제한하며 한도를 넘으면 fail-closed로 중단한다.
지금 주목할 근거: stars와 외부 수요
| 항목 | 확인값 |
|---|---|
| 공식 저장소 | https://github.com/NVIDIA/SkillSpector |
| 유형 | CLI 보안 스캐너·선택형 MCP 서버 |
| 생성일 | 2026-03-21 |
| 확인한 버전 | v2.11.0 |
| 최신 릴리스 | 2026-08-28 |
| 검증 커밋 | 7805bb94843d91cb9937f57264ca52642164499b |
| 검증 시각 | 2026-09-03 06:49 KST |
| GitHub | 15,664 stars · 1,320 forks · 99 open issues |
| 실측 증가 | 약 24.04시간 +123 stars · +0.791% |
| 7일·30일 증가 | 이력 부족으로 unavailable |
이번 수치는 생성 후 평균이 아니라 저장된 GitHub 스냅숏 두 개를 비교한 실측값이다. 2026-09-01 21:35:39Z의 15,541 stars와 2026-09-02 21:37:54Z의 15,664 stars를 비교했다. 7일·30일 구간은 아직 데이터가 없어 0으로 간주하지 않았다.

출처: GitHub API, 2026-09-03 조회
독립 수요 신호도 확인된다. Hacker News의 SkillSpector 원문 링크는 조회 시점 49 points와 4 comments를 기록했다. Google 자동완성에는 skillspector nvidia, skillspector github, skillspector tutorial 같은 후속 검색어가 나타났다. 한국어 검색 결과에는 소개·뉴스형 문서는 여럿 보이지만 v2.11.0 설치, 제거, 권한, Snyk 비교를 한 번에 다룬 최신 실무 문서는 제한적이었다.
직접 설치·검사·제거한 결과
실사용 홈을 건드리지 않도록 별도 임시 HOME, XDG_CONFIG_HOME, Python 3.12 가상환경을 만들었다. GitHub main의 당시 HEAD를 커밋 SHA로 고정해 설치했다. 검증 환경은 Linux aarch64, Python 3.12.3이다.
python3.12 -m venv --without-pip /tmp/skillspector-test/venv
python3 -m pip --python /tmp/skillspector-test/venv/bin/python \
install 'git+https://github.com/NVIDIA/SkillSpector.git@7805bb94843d91cb9937f57264ca52642164499b'
/tmp/skillspector-test/venv/bin/skillspector --version
/tmp/skillspector-test/venv/bin/skillspector scan /tmp/safe-example \
--no-llm --format json
실제 출력에서 버전은 SkillSpector v2.11.0으로 인식됐다. 119바이트짜리 무해한 테스트 Skill을 검사하자 score: 0, severity: LOW, recommendation: SAFE, coverage_percent: 100.0, execution_successful: true가 나왔다. LLM은 요청하지 않았고 llm_requested: false, llm_available: false도 확인했다.
검사 뒤 가상환경과 임시 루트를 삭제했으며 실행 파일이 사라진 것도 확인했다. Docker 방식도 시도했지만 현재 계정에 /var/run/docker.sock 권한이 없어 빌드·실행 검증에는 쓰지 못했다. MCP 서버의 end-to-end 도구 호출과 유료 LLM 분석은 수행하지 않았다.
소스 아카이브의 SHA-256도 별도로 계산했다.
5476c03107ce7505b5045556a0e32b9dfc80805b51b28e21cbc98442ce789401
이 체크섬은 커밋 7805bb9...의 GitHub tar.gz에만 해당한다. 커밋이나 아카이브가 바뀌면 다시 계산해야 한다.
설치 전 권한·데이터·비용 체크
| 점검 항목 | SkillSpector 동작 | 실무 판단 |
|---|---|---|
| 로컬 파일 | 지정한 Skill·저장소를 읽고 보고서를 쓴다 | 읽기 전용 복사본이나 컨테이너 마운트 권장 |
| 원격 입력 | Git URL·ZIP·파일 URL을 내려받는다 | 커밋 고정과 출처 확인 필요 |
| 취약점 조회 | OSV.dev에 실시간 질의할 수 있다 | 완전 오프라인 요구 시 네트워크 차단 후 동작 확인 필요 |
| LLM 전송 | OpenAI·Anthropic·Bedrock·NVIDIA 또는 지정 엔드포인트로 의미 분석을 보낸다 | 민감 코드에는 --no-llm 또는 승인된 로컬 모델 사용 |
| API 키 | 정적 검사에는 불필요하다 | 키를 명령행에 직접 넣지 말고 격리된 환경변수·비밀 저장소 사용 |
| 텔레메트리 | 공식 문서에서 별도 옵트아웃 텔레메트리 설정을 확인하지 못했다 | 미확인으로 기록하고 egress 로그로 검증 권장 |
| 비용 | CLI와 정적 검사는 오픈소스다 | 외부 LLM·클라우드 사용료는 제공자 요금에 따라 발생 |
| 라이선스 | Apache-2.0 | 기업 사용 가능하나 의존성별 라이선스도 확인 필요 |
| 공급망 | 소스 설치가 많은 Python 의존성을 끌어온다 | 커밋 고정, 격리 환경, lock·SBOM 확인 권장 |
| HTTP MCP | 인증 없이 동작한다 | 127.0.0.1 유지, 외부 바인딩 시 인증 프록시 필요 |
가장 중요한 경고는 결과 해석이다. SAFE는 검사한 버전과 검사 모드에서 발견 규칙에 걸리지 않았다는 뜻이다. 난독화, 런타임 다운로드, 조건부 동작, 모델이 놓친 의미 위험까지 없다는 보증은 아니다.
Claude Code·Codex·Hermes 연결법
먼저 CLI를 커밋 고정으로 격리 설치한다. uv를 쓸 수 있다면 공식 설치 흐름은 다음과 같다.
uv tool install \
'git+https://github.com/NVIDIA/SkillSpector.git@7805bb94843d91cb9937f57264ca52642164499b'
skillspector --version
skillspector scan ./검사할-skill --no-llm
MCP가 필요하면 extra를 포함해 다시 설치한다.
uv tool install --force \
'skillspector[mcp] @ git+https://github.com/NVIDIA/SkillSpector.git@7805bb94843d91cb9937f57264ca52642164499b'
Claude Code
공식 README의 등록 명령은 다음과 같다. 사용자 전체가 아니라 현재 프로젝트부터 시험하려면 Claude Code의 기본 local scope를 유지한다.
claude mcp add skillspector -- skillspector mcp
claude mcp list
문제가 있으면 설정에서 skillspector 항목을 제거하고 claude mcp remove skillspector로 원상복구한다. 공식 저장소가 명시한 stdio 초기화 지연 이슈 #199가 재현되면 MCP를 억지로 유지하지 말고 CLI scan으로 돌아가는 편이 낫다.
Codex
현재 Codex CLI의 mcp add 구문에 맞춘 연결은 다음과 같다.
codex mcp add skillspector -- skillspector mcp
codex mcp list
제거는 codex mcp remove skillspector 뒤 codex mcp list로 확인한다. Codex 설정은 보통 ~/.codex/config.toml에 기록되므로 변경 전 백업을 남기는 편이 안전하다.
Hermes Agent
Hermes는 ~/.hermes/config.yaml의 mcp_servers를 읽는다. 다음 블록을 수동으로 추가하기 전에 파일을 백업한다.
mcp_servers:
skillspector:
command: skillspector
args: ["mcp"]
Hermes를 다시 시작해 MCP 도구 목록을 확인한다. 제거할 때는 백업에서 해당 블록만 복원하고 다시 시작한다. 다만 MCP 초기화 이슈를 감안하면 Hermes에서도 터미널 도구로 skillspector scan ... --no-llm을 호출하는 경로가 더 단순하다. Hermes의 Skill 디렉터리는 ~/.hermes/skills/이며, 외부 Skill을 검사한 뒤에만 이 경로로 옮기는 순서를 권한다.
SkillSpector vs Snyk Agent Scan
두 도구는 개별 Skill 검사에서는 직접 대체재, 조직 전체 에이전트 자산 관리에서는 부분 대체재이자 보완재다.
| 비교 기준 | NVIDIA SkillSpector | Snyk Agent Scan |
|---|---|---|
| 제품 범주 | 설치 전 Skill 스캐너·MCP 게이트 | 에이전트·MCP·Skill 발견 및 위험 스캐너 |
| 주요 입력 | Git URL, ZIP, 디렉터리, 단일 파일 | 로컬 머신의 에이전트 구성과 지정 파일 |
| 출력 | 터미널, JSON, Markdown, SARIF, 위험 점수 | 실험적 CLI 위험 출력, 기업용 Evo 연계 |
| 정확도 방식 | 71개 정적 패턴+선택적 LLM, 분석 완전성 표시 | 15개 위험군, Snyk 분석 API와 구성 자동 발견 |
| 수정 가능성 | baseline으로 오탐 억제, 로컬 규칙·소스 수정 가능 | CLI 출력은 변경 가능성이 있다고 공식 경고 |
| 재현성 | 버전·커밋 고정과 --no-llm로 높일 수 있다 | standalone checksum·GPG 서명 제공 |
| 비용 모델 | 정적 검사는 무료, LLM 제공자 비용 별도 | Snyk 가입과 SNYK_TOKEN 필요, 기업 기능 별도 |
| 데이터 경계 | 정적 모드는 로컬 중심, OSV·원격 입력·LLM 선택 시 외부 통신 | 분석 API 전송과 기업 플랫폼 연계를 전제로 한다 |
| 권한 위험 | 지정 입력을 읽고 선택한 출력에 쓴다 | MCP 구성 검사 시 명시된 서버 명령을 실제 실행할 수 있다 |
| 에이전트 연결 | CLI 또는 stdio/HTTP MCP | 설치된 Claude·Codex·Cursor 등 자동 발견 |
SkillSpector를 고를 때는 새 Skill 한두 개를 설치 전에 검사하고, API 키 없이 정적 결과와 SARIF를 남기고 싶을 때다. Snyk Agent Scan을 고를 때는 여러 개발자의 에이전트 구성과 MCP 서버를 자동 발견하고 조직 단위로 추적할 때다. 둘을 함께 쓴다면 SkillSpector로 반입 전 검사를 하고, Snyk Agent Scan으로 설치 후 자산 발견과 지속 점검을 맡기면 된다.
Snyk의 중요한 차이는 MCP 설정을 읽는 데서 끝나지 않고 stdio 서버 명령을 실행해 도구 설명을 가져올 수 있다는 점이다. 공식 문서도 낯선 MCP 구성은 샌드박스에서 검사하라고 경고한다. 반대로 SkillSpector의 HTTP MCP는 인증이 없으므로 외부 인터페이스에 직접 바인딩하면 안 된다.
추천하는 경우와 추천하지 않는 경우
추천하는 경우
- skills.sh나 GitHub에서 받은 Agent Skill을 자주 시험하는 개인 개발자
- Claude Code·Codex·Hermes가 공유할 Skill 반입 절차를 만들려는 팀
- API 키 없이 정적 검사부터 시작하려는 환경
- JSON·SARIF 결과를 CI 승인 게이트에 연결하려는 팀
- 프롬프트 인젝션뿐 아니라 스크립트·공급망·MCP 권한 패턴까지 함께 보고 싶은 경우
추천하지 않는 경우
SAFE한 줄을 보안 보증서처럼 사용하려는 경우- 모델 제공자에게 소스가 나가면 안 되는데 기본 LLM 설정을 검토하지 않은 경우
- 인증 없는 HTTP MCP를 사내망이나 인터넷에 그대로 노출하려는 경우
- 조직 전체의 설치 현황 자동 발견과 중앙 관제가 핵심인 경우
- Python 의존성 공급망을 검토할 여력이 전혀 없는 경우
안전한 복사·붙여넣기 프롬프트
아래 프롬프트와 이 글 URL을 Claude Code나 Codex에 함께 주면 운영 환경을 건드리지 않는 검증부터 요청할 수 있다.
이 글의 SkillSpector 절차를 참고하되 바로 설치하지 말라.
1) 공식 저장소와 Apache-2.0 라이선스, 현재 릴리스, 커밋
7805bb94843d91cb9937f57264ca52642164499b를 다시 확인하라.
2) 기존 ~/.claude, ~/.codex, ~/.hermes, ~/.agents를 해시 또는 백업하고
별도 임시 HOME/XDG_CONFIG_HOME/작업 디렉터리만 사용하라.
3) 소스 tar.gz SHA-256이
5476c03107ce7505b5045556a0e32b9dfc80805b51b28e21cbc98442ce789401와
같은지 확인하라. 다르면 중단하라.
4) Python 3.12 가상환경 또는 읽기 전용 마운트 컨테이너에 커밋을 고정해 설치하라.
5) API 키, 로그인, 결제, 운영 저장소 수정, 셸 프로필 변경을 금지한다.
6) 먼저 --version, --help, --no-llm 정적 검사를 실행하고 생성 파일과
네트워크·파일·셸 권한을 보고하라.
7) MCP 등록은 별도 승인 전 실행하지 말고 변경될 설정 경로와 정확한 diff만 제시하라.
8) 검증 뒤 패키지·가상환경·임시 설정을 제거하고 원래 홈의 해시가 같은지 확인하라.
9) 직접 실행한 결과와 문서에서만 확인한 항목을 분리해 보고하라.
설치 전 체크리스트
- [ ] 저장소 소유자와 URL이
NVIDIA/SkillSpector인지 확인했다. - [ ] 커밋 또는 릴리스를 고정했다.
- [ ] 아카이브 체크섬을 다시 계산했다.
- [ ] 임시 HOME·가상환경·읽기 전용 입력을 사용했다.
- [ ] 첫 검사는
--no-llm으로 실행했다. - [ ] OSV와 Git 다운로드에 필요한 네트워크만 허용했다.
- [ ] LLM 분석 전 코드 외부 전송과 비용을 승인받았다.
- [ ] MCP는
127.0.0.1또는 stdio로 제한했다. - [ ] 결과의 coverage와 skipped analyzer를 함께 읽었다.
- [ ] 제거 명령과 설정 백업 복원까지 시험했다.
Agent Skill 자체를 어떻게 배치하는지 먼저 보고 싶다면 Claude Code Skills 세팅 가이드가 기초가 된다. 실제 설치 후보가 어떤 형태인지 보려면 video-shotcraft Agent Skill 가이드를 함께 볼 수 있다.
FAQ
정적 검사만으로 충분한가
충분하지 않다. 정적 검사는 알려진 패턴과 코드 구조를 빠르게 찾는 1차 필터다. 설치 후 네트워크 행위, 조건부 다운로드, 실제 에이전트 권한은 격리 실행과 수동 검토로 보완해야 한다.
--no-llm이면 완전히 오프라인인가
항상 그렇지는 않다. 로컬 경로를 입력해도 OSV 실시간 조회 기능이 네트워크를 사용할 수 있다. 원격 Git·URL 입력은 당연히 다운로드 통신이 필요하다. 완전 오프라인 요구가 있다면 방화벽으로 egress를 차단하고 결과의 fallback·skipped 항목을 확인해야 한다.
Claude Code와 Codex에서 같은 MCP를 써도 되나
가능하다. 둘 다 stdio 명령으로 skillspector mcp를 등록할 수 있다. 다만 현재 공식 README가 stdio 초기화 지연 이슈를 명시하므로 CLI 검사를 기본으로 두고 MCP는 별도 격리 환경에서 먼저 확인하는 편이 낫다.
Snyk Agent Scan을 이미 쓰면 필요 없나
목적이 일부 겹친다. 새 Skill의 반입 전 로컬 정적 검사와 세부 보고서가 필요하면 SkillSpector가 보완한다. 설치된 구성 자동 발견과 기업 중앙 관제가 목적이면 Snyk 쪽 비중이 더 크다.
제거하면 무엇이 남나
uv tool uninstall skillspector로 도구를 제거한다. MCP에 등록했다면 Claude Code·Codex·Hermes 설정의 skillspector 항목도 따로 지워야 한다. 생성한 JSON·SARIF·baseline 파일과 캐시는 사용자가 정한 보존 정책에 따라 별도로 삭제한다.
공식 참고자료
- NVIDIA SkillSpector 공식 저장소
- SkillSpector v2.11.0 릴리스
- NVIDIA Agent Skill 검사 가이드
- Agent Skills 공식 사양
- Snyk Agent Scan 공식 저장소
- Hacker News SkillSpector 토론
- Hermes Agent Skills 문서
- Hermes Agent MCP 문서
자료와 수치는 2026년 9월 3일에 다시 확인했다. stars는 변동값이며, 기능 수와 탐지 패턴 수는 분류 기준이 달라 단순히 숫자가 큰 도구가 더 정확하다는 뜻이 아니다.