
SkillSpector v2.11.1
Sicherheitsscanner für KI-Agenten-Skills. Erkennt Schwachstellen, bösartige Muster, Sicherheitsrisiken, Prompt-Injection, Datenerfiltration und Lieferkettenrisiken in Claude Code-, Codex- und MCP-Skills, bevor du sie installierst.
SkillSpector
Sicherheitsscanner für KI-Agenten-Skills. Erkennt Schwachstellen, schädliche Muster und Sicherheitsrisiken, bevor Agenten-Skills installiert werden.
Überblick
KI-Agenten-Skills (verwendet von Claude Code, Codex CLI, Gemini CLI usw.) werden mit implizitem Vertrauen und minimaler Prüfung ausgeführt. In der analysierten Teilmenge von 31.132 Skills des Forschungsdatensatzes enthalten 26,1 % der Skills Schwachstellen und 5,2 % zeigen wahrscheinlich schädliche Absicht.
SkillSpector hilft Ihnen, die Frage zu beantworten: „Ist dieser Skill sicher zu installieren?"
SkillSpector ist Teil der NVIDIA Verified Skills pipeline, die Agenten-Skills vor der Veröffentlichung scannt, bewertet und signiert. Skills, die bestehen, werden im NVIDIA skills catalog veröffentlicht.
Dokumentation
- Agenten-Skills vor der Installation scannen — Gehostete Anleitung: wann gescannt werden sollte, wie ein Bericht zu lesen ist und wie Installationen abgesichert werden.
- Entwicklungsleitfaden — Architektur, Paketaufbau und wie die Analyzer-Pipeline erweitert wird.
- Ressourcengrenzen der Analyse — Fail-closed-Grenzen für Bundle, Parser, verschachtelte Artefakte, Ledger und Findings.
- Pi-Erweiterung — SkillSpector als Pi-Tool installieren, um Skills aus Agenten-Sitzungen heraus zu scannen.
- OpenCode-Erweiterung — SkillSpector als OpenCode-Tool und
/skillspector-Befehl installieren, um Skills aus Agenten-Sitzungen heraus zu scannen.
Funktionen
- Mehrformatige Eingabe: Git-Repos, URLs, Zip-Dateien, Verzeichnisse oder einzelne Dateien scannen
- 71 Schwachstellenmuster in 17 Kategorien: Prompt-Injection, Datenexfiltration, Privilegieneskalation, Supply Chain, übermäßige Handlungsvollmacht, Ausgabeverarbeitung, System-Prompt-Leakage, Memory-Poisoning, Tool-Missbrauch, Rogue Agent, Anti-Refusal, Trigger-Missbrauch, gefährlicher Code (AST), Taint-Tracking, YARA-Signaturen, MCP Least Privilege und MCP Tool Poisoning
- Zweistufige Analyse: Schnelle statische Analyse + optionale semantische LLM-Bewertung
- Live-Schwachstellenabfragen: SC4 fragt OSV.dev für Echtzeit-CVE-Daten ab, mit automatischem Offline-Fallback
- Mehrere Ausgabeformate: Terminal-, JSON-, Markdown- und SARIF-Berichte
- Risikobewertung: Score von 0-100 mit Schweregrad-Labels und klaren Empfehlungen
- Baseline / Unterdrückung von False Positives: Bekannte Findings über eine Glob-Regel- oder Fingerprint-Baseline akzeptieren, sodass erneute Scans nur neue Probleme aufdecken (Dokumentation)
Schnellstart
Installation
Hinweis zu Open-Source-Software: Dieses Projekt lädt zusätzliche Open-Source-Softwareprojekte von Drittanbietern herunter und installiert sie. Prüfen Sie die Lizenzbedingungen dieser Open-Source-Projekte vor der Verwendung.
Erstellen und aktivieren Sie zuerst eine virtuelle Umgebung (alle make-Ziele setzen eine aktive venv voraus). Verwenden Sie uv oder pip; das Makefile verwendet uv, falls verfügbar, andernfalls pip.
Schnellinstallation mit uv (nur CLI):
uv tool install git+https://github.com/NVIDIA/skillspector.git
# Update later: uv tool update skillspector
Wenn Sie vorhaben, skillspector mcp auszuführen, installieren Sie die MCP-Erweiterung zum Zeitpunkt der Installation:
uv tool install 'skillspector[mcp] @ git+https://github.com/NVIDIA/skillspector.git'
Aus der Quelle:
# 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 (kein Python erforderlich)
Führen Sie SkillSpector ohne Installation von Python aus, indem Sie es lokal aus dem enthaltenen Dockerfile erstellen. Das Image basiert auf dem offiziellen Docker-Python-Image 3.12-slim-bookworm.
Image erstellen:
make docker-build
# or: docker build -t skillspector .
Ein lokales Verzeichnis scannen, indem Sie Ihr aktuelles Verzeichnis in /scan einbinden, das Arbeitsverzeichnis des Containers:
docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm
Scan mit LLM-Analyse durch Übergeben von Anmeldeinformationen mit einer lokalen .env-Datei:
cat > .env <<'EOF'
SKILLSPECTOR_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
EOF
docker run --rm \
-v "$PWD:/scan" \
--env-file .env \
skillspector scan ./my-skill/
Oder übergeben Sie Anmeldeinformationen direkt aus Ihrer Shell-Umgebung:
docker run --rm \
-v "$PWD:/scan" \
-e SKILLSPECTOR_PROVIDER=anthropic \
-e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \
skillspector scan ./my-skill/
Einen Bericht auf das Host-Dateisystem schreiben, indem in das eingebundene Verzeichnis geschrieben wird:
docker run --rm --user "$(id -u):$(id -g)" \
-v "$PWD:/scan" \
skillspector scan ./my-skill/ --no-llm --format json --output report.json
Optionaler Alias für wiederholte statische Scans:
alias skillspector-docker='docker run --rm -v "$PWD:/scan" skillspector'
skillspector-docker scan ./my-skill/ --no-llm
Grundlegende Verwendung
# 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
Größenbeschränkungen
SkillSpector erzwingt zwei unabhängige Obergrenzen für Remote- und Archiv-Eingaben, um die Auswirkungen übermäßig großer Downloads und Zip-Bomben zu begrenzen:
- Pro-Ingest-Obergrenze:
INGEST_MAX_BYTES(100 MiB) — gilt für gestreamte URL-Downloads, die gesamte unkomprimierte Größe von Zip-Archiven und die Festplattennutzung von Git-Repos nach dem Klonen. - Zip-Member-Obergrenze:
INGEST_MAX_ZIP_MEMBERS(10.000) — begrenzt die Anzahl der Einträge in einem einzelnen Zip.
Beachten Sie, dass die Analyse-Obergrenze von 1 MB pro Datei (MAX_FILE_BYTES) eine separate, nachgelagerte Beschränkung ist: Sie begrenzt, was einzelne Analyzer aus einem bereits ingestierten Verzeichnis lesen. Die obigen Ingest-Obergrenzen begrenzen, wie viel Inhalt überhaupt auf der Festplatte landen kann. Eine Überschreitung einer der beiden Ingest-Obergrenzen schlägt fail-closed mit einem IngestLimitExceededError fehl.
Ausgabeformate
# Terminal output (default) - pretty formatted
skillspector scan ./my-skill/
# JSON output - machine readable
skillspector scan ./my-skill/ --format json --output report.json
# Markdown output - for documentation
skillspector scan ./my-skill/ --format markdown --output report.md
# SARIF output - for CI/CD integration and IDE tooling
skillspector scan ./my-skill/ --format sarif --output report.sarif
Batch-Scanning
Scannen Sie ganze Verzeichnisse von Skills parallel aus contrib/batch_scan/: