NVIDIA SkillSpector: Sicherheitsscanner für KI-Agenten-Skills
NVIDIA hat mit SkillSpector ein Open-Source-Werkzeug veröffentlicht, das Skills für KI-Agenten wie Claude Code oder Codex vor der Installation auf Schadcode, Prompt Injection und Datenabfluss prüft. Laut NVIDIA enthält über ein Viertel der untersuchten Skills Schwachstellen, gut 5 % wirken bösartig.

Worum es geht
SkillSpector ist ein Sicherheitsscanner von NVIDIA für Agent-Skills – das sind Zusatzpakete (meist eine SKILL.md mit Anweisungen und ggf. Skripten), die KI-Coding-Agenten wie Claude Code, Codex CLI oder Gemini CLI neue Fähigkeiten geben. Solche Skills laufen laut README mit „implizitem Vertrauen“ und kaum Prüfung. Das Werkzeug soll die Frage beantworten: „Ist dieser Skill sicher zu installieren?“ Es steht als Open Source (Apache-2.0, Python 3.12+) auf GitHub und trendet dort derzeit.
Die Motivation liefert NVIDIA mit Zahlen: In einer analysierten Teilmenge von 31.132 Skills aus einem Forschungsdatensatz enthielten 26,1 % Schwachstellen, 5,2 % zeigten wahrscheinlich böswillige Absicht. SkillSpector ist Teil der „NVIDIA Verified Skills“-Pipeline, in der Skills gescannt, bewertet und signiert werden, bevor sie im NVIDIA-Skills-Katalog erscheinen.
Was der Scanner prüft
SkillSpector kennt 71 Schwachstellenmuster in 17 Kategorien. Dazu zählen unter anderem:
- Prompt Injection – versteckte oder überschreibende Anweisungen, z. B. Befehle, Sicherheitsregeln zu ignorieren, Anweisungen in Kommentaren oder unsichtbarem Text oder Leerraum-Polsterung, die Text verbirgt.
- Anti-Refusal – Jailbreak-Formulierungen wie „nie ablehnen“ oder „keine Einschränkungen“.
- Datenabfluss – Senden von Daten an externe URLs, Einsammeln von Umgebungsvariablen, Durchsuchen von Verzeichnissen nach sensiblen Dateien.
- Rechteausweitung – etwa Sudo/Root-Aufrufe oder das Lesen von SSH-Schlüsseln und Tokens.
- Supply Chain – nicht festgepinnte Abhängigkeiten,
curl | bash, verschleierter Code, bekannte Schwachstellen (live über OSV.dev mit Offline-Fallback), Typosquatting, mitgelieferter Python-Bytecode, versteckte ausführbare Dateien. - Weitere: übermäßige Handlungsfreiheit des Agenten, unsichere Ausgabeverarbeitung, Systemprompt-Leaks, Gedächtnis-Manipulation, Tool-Missbrauch, Taint-Tracking, YARA-Signaturen sowie MCP-Least-Privilege und MCP Tool Poisoning.
Jedes Muster hat eine Schwere (LOW bis CRITICAL). Das Ergebnis ist ein Risikowert von 0 bis 100 mit Empfehlung. Die Analyse ist zweistufig: erst schnelle statische Analyse (Code wird nur gelesen, nicht ausgeführt), dann optional eine semantische Auswertung durch ein LLM.
Bedienung
Installation per uv tool install git+https://github.com/NVIDIA/skillspector.git, aus dem Quellcode oder per Docker (ohne lokales Python). Gescannt werden lokale Ordner, einzelne SKILL.md-Dateien, Git-Repos, URLs und Zip-Dateien: skillspector scan ./my-skill/. Mit --no-llm läuft nur die statische Analyse. Berichte gibt es als Terminal-Ausgabe, JSON, Markdown oder SARIF (Standardformat für CI/CD und IDE-Werkzeuge).
Weitere Funktionen:
- Baseline: Bekannte, akzeptierte Funde lassen sich unterdrücken, damit Re-Scans nur neue Probleme zeigen.
- Scope-Ausschlüsse: Mit
--excludelassen sich Dateien auslassen; dann gilt die Abdeckung als teilweise und es gibt keine Empfehlung „SAFE“.--fail-on-incompletelässt CI dann fehlschlagen. - Batch-Scan: Viele Skills parallel, inklusive mehrsprachiger Erkennung (zh/ja/ko).
- MCP-Vergleich: Snapshots von MCP-Registries lassen sich vergleichen.
- Limits: 100 MiB pro Download/Archiv, max. 10.000 Zip-Einträge, 1 MB pro analysierter Datei – als Schutz gegen Zip-Bomben; Überschreitung bricht ab.
LLM-Anbieter und MCP-Server
Für die LLM-Stufe werden zahlreiche Anbieter unterstützt: OpenAI, Anthropic, Bedrock, Gemini, Azure OpenAI, NVIDIA Build, beliebige OpenAI-kompatible Endpunkte sowie lokal Ollama (Standard llama3.1:8b) und CLI-Anbieter wie claude_cli. Der codex_cli-Anbieter ist deaktiviert, weil seine Sandbox Hostdateien lesen kann. Die README vermerkt zudem, dass der Batch-Scanner mit DeepSeek getestet wurde und der Autor keine Hardware hat, um lokale Modelle zu testen – Beiträge für ein universelleres Backend sind erwünscht.
Mit skillspector mcp (Extra skillspector[mcp]) läuft SkillSpector als MCP-Server (Model Context Protocol, Standard zum Anbinden von Werkzeugen an Agenten). Er bietet ein Tool scan_skill, das Risikowert, Schwere, Empfehlung und safe_to_install liefert; ein Agent kann damit Installationen selbst absichern. Registrierung in Claude Code: claude mcp add skillspector -- skillspector mcp. Der HTTP-Modus hat keine Authentifizierung, bindet nur an Loopback-Adressen und lehnt lokale Pfade ab; für Fernzugriff empfiehlt NVIDIA einen authentifizierenden Reverse Proxy. Für den stdio-Modus ist ein bekanntes Hänger-Problem beim Initialisieren (Issue #199) vermerkt.
Einordnung
Mit Skills und MCP-Servern wächst eine neue Angriffsfläche: Textanweisungen, die ein Agent befolgt, sind schwer von harmlosen zu unterscheiden. Ein frei nutzbarer Scanner, der auch CI-Formate wie SARIF unterstützt, ist für Teams nützlich, die fremde Skills einsetzen. Wichtig sind aber Grenzen: Die Prävalenzzahlen (26,1 % und 5,2 %) stammen aus NVIDIAs README, die zugrunde liegende Studie ist hier nicht beschrieben. Regelbasierte und LLM-gestützte Prüfungen liefern erfahrungsgemäß Fehlalarme und können Neues übersehen; die Baseline-Funktion zeigt, dass False Positives einkalkuliert sind. Ein niedriger Wert nach einem statischen Scan ist kein Beleg für Sicherheit – deshalb meldet der MCP-Server llm_used und scan_mode mit. Wer Skills nutzt, sollte den Scanner als zusätzliche Hürde sehen, nicht als Ersatz für eigene Prüfung. Die README weist außerdem darauf hin, dass das Projekt zusätzliche Drittsoftware installiert.
Quellen
- GitHub Trending github.com
Frag den KI-Assistenten
Fragen zu diesem Artikel, zur Installation oder zu Hintergründen? Unser Assistent kennt diese Seite und läuft auf unserem eigenen Rechner, nicht in einer fremden Cloud.
Der Assistent ist eine KI (Gemma 4) und kann sich irren – wichtige Angaben bitte in der Quelle prüfen. Fragen werden nur zum Beantworten genutzt und nach einer Stunde gelöscht. Bitte keine persönlichen Daten eingeben.
Kommentare
Was meinst du dazu? Schon ausprobiert? Schreib es hier, ohne Anmeldung.
Kommentare sind öffentlich. Links sind nicht erlaubt, beleidigende Beiträge löschen wir. Deinen eigenen Kommentar kannst du in diesem Browser jederzeit wieder löschen. Mehr dazu in der Datenschutzerklärung.