SkillSpector: NVIDIAs Sicherheitsscanner für KI-Agenten-Skills im Test
SkillSpector von NVIDIA scannt KI-Agenten-Skills auf Sicherheitslücken, Schadcode und Risiken. Der Open-Source-Scanner erkennt 64 Schwachstellenmuster in 16 Kategorien – von Prompt Injection bis Supply-Chain-Angriffen. Ein Überblick über Funktionsweise, Nutzen und Einsatzbereiche.
Was kann SkillSpector?
SkillSpector ist ein spezialisierter Sicherheitsscanner für KI-Agenten-Skills. Entwickelt von NVIDIA und als Open-Source-Tool auf GitHub verfügbar, analysiert er Skill-Pakete auf Schwachstellen, bösartige Muster und Sicherheitsrisiken – noch bevor ein Skill installiert oder ausgeführt wird.
Das Tool unterstützt zahlreiche Eingabeformate: Git-Repositories, URLs, Zip-Archive, Verzeichnisse und Einzeldateien. Damit lässt sich jeder Skill-Pfad scannen, egal ob aus dem Claude Code, Codex CLI, Gemini CLI oder einer anderen Agenten-Plattform. Der Scanner erkennt 64 Schwachstellenmuster in 16 Kategorien und berechnet einen Risikoscore von 0 bis 100.
Die Ergebnisse gibt es in vier Formaten: als übersichtliches Terminal-Output, als maschinenlesbares JSON, als Markdown-Report für die Dokumentation oder als SARIF-Report für CI/CD-Integration.
Warum braucht es einen Skill-Scanner?
KI-Agenten-Skills arbeiten mit implizitem Vertrauen: Einmal geladen, erhalten sie Zugriff auf Werkzeuge, Dateisysteme und Umgebungsvariablen. Eine systematische Forschung von Liu et al. (2026) mit 42.447 Skills aus großen Marktplätzen zeigt alarmierende Zahlen:
- 26,1 % der Skills enthalten mindestens eine Sicherheitslücke
- 5,2 % der Skills zeigen eindeutig bösartige Absicht
- Skills mit ausführbaren Skripten sind 2,12-mal häufiger verwundbar
Das Problem: Aktuelle Agenten-Plattformen haben keine eingebaute Sicherheitsprüfung. Ein Skill mit exec()-Aufrufen oder Prompt Injection-Befehlen wird ohne Warnung geladen. Genau hier setzt SkillSpector an – als vorgeschaltete Sicherheitsbarriere, die automatisierte Prüfung in den Skill-Installationsworkflow integriert.
Die zwei Analyse-Stufen
SkillSpector arbeitet mit einem zweistufigen Analyse-Pipeline, die Geschwindigkeit und Tiefe kombiniert.
Stufe 1: Statische Analyse
Die erste Stufe scannt alle Dateien eines Skills mit elf verschiedenen statischen Analyseverfahren. Darunter:
- Regex-basierte Mustererkennung für Prompt Injection, Data Exfiltration und Privilege Escalation
- AST-Analyse (Abstract Syntax Tree) zur Erkennung gefährlicher Code-Aufrufe wie
exec(),eval(),subprocessoderos.system - Taint Tracking über fünf Stufen: Von externen Quellen über Variable-Mediated Flows bis zu Credential-Exfiltration-Ketten
- YARA-Signaturen zur Erkennung von Malware, Webshells, Cryptominern und Exploit-Code
- MCP Least Privilege-Analyse: Prüft, ob der deklarierte Berechtigungsumfang mit dem tatsächlichen Code übereinstimmt
- Live-Vulnerability-Checks über die OSV.dev-API: Abgleich aller Abhängigkeiten mit der Open Source Vulnerabilities-Datenbank
Diese Stufe ist schnell und erkennt die meisten Auffälligkeiten – mit einer hohen Trefferquote (Recall), aber moderater Präzision (mancher False Positive).
Stufe 2: LLM-gestützte semantische Analyse
Die optionale zweite Stufe setzt ein Large Language Model ein, um die Ergebnisse der statischen Analyse zu bewerten. Der Scanner unterstützt dabei mehrere Anbieter:
- OpenAI (Standard:
gpt-5.4) - Anthropic (Standard:
claude-opus-4-6) - NVIDIA build.nvidia.com (Standard:
deepseek-ai/deepseek-v4-flash) - Lokale OpenAI-kompatible Endpunkte wie Ollama, vLLM oder llama.cpp
Das LLM bewertet Kontext und Absicht eines Befundes, filtert False Positives heraus und liefert menschlich lesbare Erklärungen. Die Präzision steigt damit auf etwa 87 %. Wichtig: Der LLM-Prompt enthält Anti-Jailbreak-Schutzmechanismen, die verhindern, dass ein bösartiger Skill die Analyse manipuliert.
Die 64 Schwachstellenmuster im Detail
Die 16 Kategorien decken das gesamte Spektrum moderner Angriffe auf KI-Agenten ab:
| Kategorie | Muster | Beschreibung |
|---|---|---|
| Prompt Injection | 5 | Instruction Override, Hidden Instructions, Exfiltration Commands, Behavior Manipulation, Harmful Content |
| Data Exfiltration | 4 | External Transmission, Env Variable Harvesting, File System Enumeration, Context Leakage |
| Privilege Escalation | 3 | Excessive Permissions, Sudo/Root Execution, Credential Access |
| Supply Chain | 6 | Unpinned Dependencies, External Script Fetching, Obfuscated Code, CVE-Lookup, Abandoned Dependencies, Typosquatting |
| Excessive Agency | 4 | Unrestricted Tool Access, Autonomous Decision Making, Scope Creep, Unbounded Resource Access |
| Output Handling | 3 | Unvalidated Output Injection, Cross-Context Output, Unbounded Output |
| System Prompt Leakage | 3 | Direct Leakage, Indirect Extraction, Tool-Based Exfiltration |
| Memory Poisoning | 3 | Persistent Context Injection, Context Window Stuffing, Memory Manipulation |
| Tool Misuse | 3 | Tool Parameter Abuse, Chaining Abuse, Unsafe Defaults |
| Rogue Agent | 2 | Self-Modification, Session Persistence |
| Trigger Abuse | 3 | Overly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger |
| Behavioral AST | 8 | exec(), eval(), Dynamic Import, subprocess, os.system, compile(), Dynamic getattr(), Dangerous Execution Chain |
| Taint Tracking | 5 | Direct Taint Flow, Variable-Mediated Flow, Credential Exfiltration, File Read to Network, External Input to Code Execution |
| YARA Signatures | 4 | Malware, Webshell, Cryptominer, Hack Tool |
| MCP Least Privilege | 4 | Underdeclared Capability, Wildcard Permission, Missing Declaration, Overdeclared Permission |
| MCP Tool Poisoning | 4 | Hidden Instructions, Unicode Deception, Parameter Description Injection, Description-Behavior Mismatch |
Risikoscore: Wann ist ein Skill unsicher?
SkillSpector berechnet einen gewichteten Risikoscore aus den gefundenen Schwachstellen: CRITICAL-Befunde zählen 50 Punkte, HIGH 25 Punkte, MEDIUM 10 Punkte und LOW 5 Punkte. Enthält der Skill ausführbare Skripte, wird eine zusätzliche 1,3x-Multiplikator angewendet. Die Bewertungsskala:
- 0-20 Punkte: SAFE – geringes Risiko
- 21-50 Punkte: CAUTION – Vorsicht geboten
- 51-80 Punkte: DO NOT INSTALL – hohes Risiko
- 81-100 Punkte: DO NOT INSTALL – kritisches Risiko
Diese Score-Berechnung macht Ergebnisse vergleichbar und gibt klare Handlungsempfehlungen. Ein Team kann so automatisiert entscheiden, ob ein Skill die Sicherheitsprüfung besteht oder ob ein manueller Review nötig ist.
Einsatzbereiche in der Praxis
SkillSpector lässt sich an mehreren Stellen im Entwicklungs- und Betriebsprozess einsetzen:
CI/CD-Pipeline: Integriert als SARIF-Report in GitHub Actions oder GitLab CI. Jeder Pull Request, der einen neuen Skill einführt, wird automatisch gescannt. Bei Risikoscore über 50 Punkten schlägt die Pipeline fehl.
Marktplatz-Betreiber: Plattformen wie AgentSkills oder interne Skill-Registries können SkillSpector als Gatekeeper einsetzen. Jeder neu eingereichte Skill durchläuft vor der Veröffentlichung den Scan.
Entwickler-Workflow: Vor dem ersten Einsatz eines Community-Skills scannen Entwickler das Paket lokal. Der Befehl skillspector scan ./my-skill/ reicht aus, um einen vollständigen Sicherheitsreport zu erhalten.
Docker-Integration: Für Umgebungen ohne Python-Installation gibt es ein vorgefertigtes Docker-Image. Der Scan läuft dann mit docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm.
Grenzen des Tools
SkillSpector hat auch Limitationen: Nicht-englische Inhalte werden möglicherweise unzureichend erkannt. Bildbasierte Angriffe (Text in Grafiken) bleiben unsichtbar, ebenso wie verschlüsselter oder kompilierter Code. Die Analyse ist rein statisch – dynamische Laufzeitanalyse findet nicht statt. Der OSV.dev-Live-Abgleich benötigt ausgehende HTTPS-Verbindungen; in Offline-Umgebungen greift eine kleine statische Fallback-Liste.
Für den praktischen Einsatz bedeutet das: SkillSpector ist eine exzellente erste Sicherheitsstufe, ersetzt aber keine manuelle Code-Review bei hochriskanten Skills. Wer LLM-gestützt analysiert, bekommt eine deutlich bessere Präzision – sollte aber bedenken, dass das analysierende LLM selbst Ziel von Jailbreak-Angriffen sein kann (auch wenn NVIDIA hier Anti-Jailbreak-Maßnahmen eingebaut hat).
Python-API für eigene Integrationen
Neben der CLI bietet SkillSpector eine Python-API auf Basis von LangGraph. Entwickler können den Scanner direkt in eigene Tools einbauen: