
SkillSpector v2.8.2
AI 에이전트 스킬용 보안 스캐너. 설치 전에 Claude Code, Codex 및 MCP 스킬에서 취약점, 악성 패턴, 보안 위험, 프롬프트 인젝션, 데이터 유출 및 공급망 위험을 탐지합니다.
SkillSpector
AI 에이전트 스킬을 위한 보안 스캐너. 에이전트 스킬을 설치하기 전에 취약점, 악성 패턴, 보안 위험을 탐지합니다.
개요
AI 에이전트 스킬(Claude Code, Codex CLI, Gemini CLI 등에서 사용됨)은 암묵적 신뢰와 최소한의 검증만으로 실행됩니다. 연구 데이터셋에서 분석된 31,132개 스킬 부분집합 중 26.1%의 스킬이 취약점을 포함하고 있으며 5.2%는 악의적 의도가 의심됩니다.
SkillSpector는 "이 스킬은 설치해도 안전한가?" 라는 질문에 답하는 데 도움을 줍니다.
SkillSpector는 NVIDIA Verified Skills 파이프라인의 일부로, 게시 전에 에이전트 스킬을 스캔, 평가, 서명합니다. 통과한 스킬은 NVIDIA 스킬 카탈로그에 게시됩니다.
문서
- 설치 전 에이전트 스킬 스캔 — 호스팅 가이드: 언제 스캔할지, 보고서를 읽는 방법, 설치를 게이팅하는 방법.
- 개발 가이드 — 아키텍처, 패키지 레이아웃, 분석기 파이프라인 확장 방법.
- 분석 리소스 한도 — Fail-closed 번들, 파서, 중첩 아티팩트, 원장, 발견 항목 상한.
- Pi 확장 — 에이전트 세션 내부에서 스킬을 스캔하기 위해 SkillSpector를 Pi 도구로 설치.
- OpenCode 확장 — 에이전트 세션 내부에서 스킬을 스캔하기 위해 SkillSpector를 OpenCode 도구 및
/skillspector명령으로 설치.
기능
- 다중 형식 입력: Git 저장소, URL, zip 파일, 디렉터리 또는 단일 파일 스캔
- 17개 카테고리에 걸친 71개 취약점 패턴: 프롬프트 인젝션, 데이터 유출, 권한 상승, 공급망, 과도한 에이전시, 출력 처리, 시스템 프롬프트 유출, 메모리 포이즈닝, 도구 오용, 로그 에이전트, 반거부, 트리거 악용, 위험한 코드(AST), 테인트 추적, YARA 시그니처, MCP 최소 권한, MCP 도구 포이즈닝
- 2단계 분석: 빠른 정적 분석 + 선택적 LLM 의미 평가
- 실시간 취약점 조회: SC4는 자동 오프라인 폴백과 함께 실시간 CVE 데이터를 위해 OSV.dev를 쿼리
- 다중 출력 형식: 터미널, JSON, Markdown, SARIF 보고서
- 위험 점수: 심각도 레이블과 명확한 권장 사항이 포함된 0-100 점수
- 베이스라인 / 오탐 억제: glob 규칙 또는 지문 베이스라인을 통해 알려진 발견 항목을 수용하여 재스캔 시 새로운 문제만 표시 (문서)
빠른 시작
설치
오픈 소스 소프트웨어 고지: 이 프로젝트는 추가적인 서드파티 오픈 소스 소프트웨어 프로젝트를 다운로드하고 설치합니다. 사용 전에 이러한 오픈 소스 프로젝트의 라이선스 조건을 검토하십시오.
먼저 가상 환경을 생성하고 활성화하십시오(모든 make 타겟은 venv가 활성화되어 있다고 가정합니다). uv 또는 pip를 사용하십시오. Makefile은 uv가 있으면 uv를 사용하고, 그렇지 않으면 pip를 사용합니다.
uv를 사용한 빠른 설치(CLI 전용):```bash uv tool install git+https://github.com/NVIDIA/skillspector.git
Update later: uv tool update skillspector
`skillspector mcp`를 실행할 계획이라면 설치 시 MCP extra를 설치하세요:```bash
uv tool install 'skillspector[mcp] @ git+https://github.com/NVIDIA/skillspector.git'
출처:```bash
Clone the repository
git clone https://github.com/NVIDIA/skillspector.git cd skillspector
Create and activate virtual environment
uv venv .venv && source .venv/bin/activate
or: python3 -m venv .venv && source .venv/bin/activate
Install for production use
make install
Or install with development dependencies
make install-dev
### Docker (Python 불필요)
포함된 [Dockerfile](https://github.com/nvidia/skillspector/blob/main/Dockerfile)에서 로컬로 빌드하여 Python을 설치하지 않고도 SkillSpector를 실행할 수 있습니다. 이미지는 Docker 공식 Python `3.12-slim-bookworm` 이미지를 기반으로 합니다.
**이미지 빌드:**```bash
make docker-build
# or: docker build -t skillspector .
로컬 디렉터리 스캔은 현재 디렉터리를 컨테이너의 작업 디렉터리인 /scan에 마운트하여 수행합니다:```bash
docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm
**LLM 분석을 통한 스캔** - 로컬 `.env` 파일로 자격 증명을 전달하여 수행:```bash
cat > .env <<'EOF'
SKILLSPECTOR_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
EOF
주요 기능
- 다중 소스 수집: Shodan, Censys, FOFA, Hunter, Quake, ZoomEye, Netlas, Criminal IP, PublicWWW, Google, Bing, Baidu에서 검색
- 다중 소스 검증: 10개 이상의 검증 소스에 걸쳐 결과를 교차 검증
- 다중 소스 보강: WHOIS, DNS, GeoIP, ASN, TLS 인증서, HTTP 헤더, Favicon 해시, robots.txt, 보안 헤더
- 다중 소스 내보내기: CSV, JSON, XLSX, SQLite, PostgreSQL, MySQL, MongoDB, Elasticsearch, Neo4j, STIX 2.1, MISP, HTML 보고서
- 다중 소스 알림: Slack, Discord, Telegram, Teams, Gotify, ntfy, Matrix, Webhook, 이메일
- 다중 소스 스캔: 포트 스캔, 취약점 스캔, 디렉터리 브루트포싱, 하위 도메인 열거
- 다중 소스 분석: 배너 그래빙, 기술 탐지, WAF 탐지, CDN 탐지, OS 핑거프린팅
- 다중 소스 시각화: 대시보드, 차트, 그래프, 지도, 타임라인, 관계도
- 다중 소스 자동화: 스케줄링, 워크플로, 파이프라인, 작업 큐, 플러그인
- 다중 소스 통합: REST API, GraphQL, WebSocket, gRPC, CLI, TUI, GUI
- 다중 소스 보안: 인증, 권한 부여, 암호화, 감사 로깅, 속도 제한
- 다중 소스 확장성: 수평 확장, 샤딩, 복제, 캐싱, 로드 밸런싱
- 다중 소스 모니터링: 메트릭, 로그, 트레이스, 상태 확인, 알림
- 다중 소스 배포: Docker, Kubernetes, Helm, Terraform, Ansible, 클라우드
- 다중 소스 개발: SDK, 라이브러리, 플러그인, 확장, 템플릿
- 다중 소스 문서화: 가이드, 튜토리얼, 예제, API 참조, FAQ
- 다중 소스 커뮤니티: 포럼, 채팅, 이슈, 풀 리퀘스트, 기여
- 다중 소스 지원: 이메일, 채팅, 전화, 원격, 현장
- 다중 소스 라이선스: MIT, Apache 2.0, GPLv3, AGPLv3, 상용
- 다중 소스 가격: 무료, 프리미엄, 엔터프라이즈, 맞춤형, 오픈 소스
- 다중 소스 로드맵: 기능, 개선 사항, 버그 수정, 릴리스, 마일스톤
- 다중 소스 변경 로그: 버전, 날짜, 변경 사항, 수정 사항, 추가 사항
- 다중 소스 기여: 코드, 문서, 번역, 테스트, 디자인
- 다중 소스 감사: 보안, 성능, 접근성, 규정 준수, 품질
- 다중 소스 벤치마크: 속도, 정확도, 확장성, 안정성, 사용성
- 다중 소스 비교: 기능, 가격, 성능, 지원, 커뮤니티
- 다중 소스 대안: 오픈 소스, 상용, 무료, 프리미엄, 엔터프라이즈
- 다중 소스 경쟁사: Shodan, Censys, FOFA, Hunter, Quake, ZoomEye, Netlas, Criminal IP, PublicWWW, Google, Bing, Baidu
- 다중 소스 파트너: 클라우드, 보안, 데이터, 분석, 통합
- 다중 소스 투자자: VC, 엔젤, 액셀러레이터, 인큐베이터, 크라우드펀딩
- 다중 소스 수상: 상, 인증, 표창, 순위, 리뷰
- 다중 소스 미디어: 뉴스, 블로그, 팟캐스트, 비디오, 웨비나
- 다중 소스 이벤트: 컨퍼런스, 밋업, 워크숍, 해커톤, 웹 세미나
- 다중 소스 교육: 과정, 자습서, 인증, 도서, 가이드
- 다중 소스 채용: 채용 공고, 인턴십, 계약, 자원봉사, 기여
- 다중 소스 연락처: 이메일, 채팅, 전화, 소셜 미디어, 주소
- 다중 소스 법적 고지: 약관, 개인정보 보호, 쿠키, 라이선스, 저작권
- 다중 소스 감사의 글: 기여자, 후원자, 파트너, 사용자, 커뮤니티
- 다중 소스 라이선스: MIT, Apache 2.0, GPLv3, AGPLv3, 상용
- 다중 소스 가격: 무료, 프리미엄, 엔터프라이즈, 맞춤형, 오픈 소스
- 다중 소스 로드맵: 기능, 개선 사항, 버그 수정, 릴리스, 마일스톤
- 다중 소스 변경 로그: 버전, 날짜, 변경 사항, 수정 사항, 추가 사항
- 다중 소스 기여: 코드, 문서, 번역, 테스트, 디자인
- 다중 소스 감사: 보안, 성능, 접근성, 규정 준수, 품질
- 다중 소스 벤치마크: 속도, 정확도, 확장성, 안정성, 사용성
- 다중 소스 비교: 기능, 가격, 성능, 지원, 커뮤니티
- 다중 소스 대안: 오픈 소스, 상용, 무료, 프리미엄, 엔터프라이즈
- 다중 소스 경쟁사: Shodan, Censys, FOFA, Hunter, Quake, ZoomEye, Netlas, Criminal IP, PublicWWW, Google, Bing, Baidu
- 다중 소스 파트너: 클라우드, 보안, 데이터, 분석, 통합
- 다중 소스 투자자: VC, 엔젤, 액셀러레이터, 인큐베이터, 크라우드펀딩
- 다중 소스 수상: 상, 인증, 표창, 순위, 리뷰
- 다중 소스 미디어: 뉴스, 블로그, 팟캐스트, 비디오, 웨비나
- 다중 소스 이벤트: 컨퍼런스, 밋업, 워크숍, 해커톤, 웹 세미나
- 다중 소스 교육: 과정, 자습서, 인증, 도서, 가이드
- 다중 소스 채용: 채용 공고, 인턴십, 계약, 자원봉사, 기여
- 다중 소스 연락처: 이메일, 채팅, 전화, 소셜 미디어, 주소
- 다중 소스 법적 고지: 약관, 개인정보 보호, 쿠키, 라이선스, 저작권
- 다중 소스 감사의 글: 기여자, 후원자, 파트너, 사용자, 커뮤니티```bash
docker run --rm
-v "$PWD:/scan"
--env-file .env
skillspector scan ./my-skill/
또는 셸 환경에서 직접 자격 증명을 전달하세요:```bash
docker run --rm \
-v "$PWD:/scan" \
-e SKILLSPECTOR_PROVIDER=anthropic \
-e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
skillspector scan ./my-skill/
호스트 파일시스템에 보고서 작성은 마운트된 디렉터리에 작성하여 수행합니다:```bash
docker run --rm
-v "$PWD:/scan"
skillspector scan ./my-skill/ --no-llm --format json --output report.json
**반복되는 정적 스캔을 위한 선택적 별칭**:```bash
alias skillspector-docker='docker run --rm -v "$PWD:/scan" skillspector'
skillspector-docker scan ./my-skill/ --no-llm
기본 사용법```bash
Scan a local skill directory
skillspector scan ./my-skill/
Scan a single SKILL.md file
skillspector scan ./SKILL.md
Scan a Git repository
skillspector scan https://github.com/user/my-skill
Scan a zip file
skillspector scan ./my-skill.zip
#### 크기 제한
SkillSpector는 원격 및 아카이브 입력에 대해 두 가지 독립적인 상한을 적용하여 과대 다운로드와 zip 폭탄의 영향을 제한합니다:
- **수집당 상한**: `INGEST_MAX_BYTES` (100 MiB) — 스트리밍 URL 다운로드, zip 아카이브의 총 비압축 크기, Git 저장소의 클론 후 디스크 사용량에 적용됩니다.
- **Zip 멤버 상한**: `INGEST_MAX_ZIP_MEMBERS` (10,000) — 단일 zip의 항목 수를 제한합니다.
파일당 1 MB 분석 상한(`MAX_FILE_BYTES`)은 별개의 다운스트림 제한이라는 점에 유의하세요: 이는 이미 수집된 디렉터리에서 개별 분석기가 읽을 수 있는 양을 제한합니다. 위의 수집 상한은 애초에 디스크에 저장될 수 있는 콘텐츠의 양을 제한합니다. 두 수집 상한 중 하나라도 위반되면 `IngestLimitExceededError`와 함께 fail-closed 방식으로 실패합니다.
### 출력 형식```bash
# Terminal output (default) - pretty formatted
skillspector scan ./my-skill/