NVIDIA/SkillSpector

Security scanner for AI agent skills. Detect vulnerabilities, malicious patterns, security risks, prompt injection, data exfiltration, and supply-chain risks in Claude Code, Codex, and MCP skills before you install them.

SkillSpector – AI 에이전트 스킬 보안 스캐너

소개 – SkillSpector는 AI 에이전트 “스킬”(Claude Code, Codex CLI, Gemini CLI 등 에이전트가 사용하는 플러그인 형태의 코드 번들)을 설치하기 전에 알려진 보안 문제를 확인하는 오픈소스 도구입니다. 이는 안전한 스킬을 서명하여 NVIDIA 스킬 카탈로그에 게시하는 NVIDIA Verified Skills 파이프라인의 일부입니다.

중요성 – README 보고서에 따르면 31,000개의 스킬 샘플 중 4분의 1 이상이 취약점을 포함하고 있으며, 몇 퍼센트는 악의적인 의도를 보였습니다. 스킬을 조기에 스캔함으로써 개발자는 프롬프트 유출, 데이터 유출 또는 호스트 시스템을 손상시킬 수 있는 코드 배포를 방지할 수 있습니다.


핵심 기능 (README 설명 기준)

  • 다중 소스 입력 – 로컬 디렉토리, 단일 SKILL.md 파일, zip 아카이브, Git URL 또는 이들의 조합을 스캔합니다.
  • 71가지 취약점 패턴 – 17개 카테고리(예: 프롬프트 인젝션, 데이터 유출, 권한 상승, 공급망 공격, 도구 오용, 메모리 오염, YARA 시그니처 등)를 포괄합니다.
  • 2단계 분석 – 빠른 정적 분석 후 선택적으로 LLM 기반 의미론적 검사를 수행합니다.
  • 실시간 CVE 조회 – OSV.dev를 쿼리하여 최신 취약점 데이터를 가져오며, 오프라인 폴백을 지원합니다.
  • 다양한 보고서 형식 – 사람이 읽기 쉬운 터미널 출력, JSON, Markdown, SARIF(CI/CD 파이프라인에 유용)를 지원합니다.
  • 위험 점수 – 0-100점의 수치 점수와 심각도 라벨, 구체적인 수정 제안을 제공합니다.
  • 베이스라인 / 오탐 억제 – 베이스라인 파일(.skillspector-baseline.yaml)을 저장하여 알려진 발견 사항을 자동으로 숨깁니다. 이후 스캔에서는 새로운 문제만 나타납니다.
  • 명시적 스캔 범위 제어 – 무시 파일에 의존하지 않고 --exclude 글로브를 통해 경로를 제외합니다.
  • LLM 통합 – 선택적인 의미론적 단계를 위해 많은 제공업체(OpenAI, Anthropic, Bedrock, NVIDIA Build, Gemini, Ollama, Azure OpenAI 등)를 지원하며, 합리적인 기본값과 환경 변수 구성을 제공합니다.
  • 배치 스캔 – contrib/batch_scan 모듈을 통한 다수 스킬의 병렬 스캔, 다국어 탐지(zh/ja/ko) 및 구성 가능한 API 키 풀을 지원합니다.
  • MCP 레지스트리 비교 – 두 개의 MCP 레지스트리 스냅샷을 비교하여 서버 ID의 변경, 추가 또는 제거 사항을 확인합니다.

시작하기

설치 (Python)

# CLI 전용 (MCP 추가 기능 없음)
uv tool install git+https://github.com/NVIDIA/skillspector.git

# MCP 추가 기능 포함 (`skillspector mcp`에 필요)
uv tool install 'skillspector[mcp] @ git+https://github.com/NVIDIA/skillspector.git'

또는 리포지토리를 복제하고 제공된 Makefile을 통해 설치(make install 또는 make install-dev)하십시오.

Docker (Python 불필요)

make docker-build               # 이미지 빌드
docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm

.env 파일을 추가하거나 -e 플래그를 사용하여 LLM 제공업체 자격 증명을 제공하십시오.


일반적인 워크플로우

# 1. 스킬 스캔 (정적 전용)
skillspector scan ./my-skill/ --no-llm

# 2. 수동 검토 후 베이스라인 생성
skillspector baseline ./my-skill/ -o .skillspector-baseline.yaml

# 3. 재스캔 – 새로운 발견 사항만 보고됨
skillspector scan ./my-skill/ --baseline .skillspector-baseline.yaml

--format json|markdown|sarif 및 --output <file>을 사용하여 CI 파이프라인 등에 사용할 기계 판독 가능한 보고서를 내보내십시오.


확장성 및 문서

  • 개발 가이드 (docs/DEVELOPMENT.md) – 분석기 파이프라인과 새로운 검사를 추가하는 방법을 설명합니다.
  • 리소스 제한 문서 (docs/ANALYSIS_RESOURCE_BOUNDS.md) – zip 폭탄을 방지하기 위한 수집 크기 제한을 설명합니다.
  • Pi / OpenCode 확장 – 활성 에이전트 세션 내에서 SkillSpector를 호출할 수 있습니다 (/skillspector 명령).
  • 억제 가이드 (docs/SUPPRESSION.md) – 베이스라인 형식과 글로브 규칙을 자세히 설명합니다.

대상 사용자

  • AI 에이전트 개발자 – NVIDIA 카탈로그나 자체 내부 레지스트리에 스킬을 게시하는 개발자.
  • 보안 팀 – CI/CD 또는 프로덕션 에이전트에서 스킬 설치를 제어해야 하는 팀.
  • 운영 엔지니어 – 자동화된 파이프라인에 스킬 안전 검사를 통합하는 엔지니어(SARIF 출력은 GitHub Actions, Azure Pipelines 등과 호환).

라이선스 및 호환성

  • Apache 2.0 라이선스.
  • Python 3.12+ 필요 (또는 python:3.12-slim-bookworm 기반 Docker 이미지).

결론

SkillSpector는 신흥 AI 에이전트 플러그인 생태계에 초점을 맞춘 실용적인 오픈소스 보안 분석 도구입니다. 방대한 알려진 취약점 패턴 라이브러리와 선택적인 LLM 기반 의미론적 검사를 결합하여 유연한 입력 소스와 출력 형식을 제공하며, 로컬 개발 및 CI/CD 워크플로우에 깔끔하게 통합됩니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트