SKILL-AUDITOR /Prüfverfahren für Agent-Skills v2.4 · MIT-Lizenz · Python 3 · ki-stuff

Vor der Installation, nicht danach

Kein Skill
ohne Befund.

Ein Claude-Code-Skill, der andere Skills prüft, bevor du sie installierst. Automatischer Muster-Scan plus manueller Prüf-Workflow — gegen Prompt Injection, Datenexfiltration, Rechteausweitung, Persistenz und Social Engineering.

Scan läuft · Schicht 3 von 8

Befundbogen

Prüfobjekt./awesome-seo-skill
HerkunftGitHub, unbekannt
Dateien4 · 1 Script
Kritisch2
Hoch1
Mittel3
Kombination.ssh → curl
AbgelehntNicht installieren

Kurzfassung

Der Skill-Auditor ist ein Claude-Code-Skill, der andere Skills vor der Installation auf Sicherheitsrisiken prüft. Er kombiniert einen automatischen Muster-Scan über acht Befundkategorien mit einem manuellen Prüf-Workflow und liefert eine strukturierte Erstbewertung in drei Stufen (🟢 / 🟡 / 🔴).

Geprüft wird auf Prompt Injection, Datenexfiltration, Code-Ausführung, Verschleierung, Rechteausweitung, Persistenz, Secrets-Zugriff und Zeitbomben. Eine zusätzliche Reject-Stufe schlägt bei Musterkombinationen an, die einzeln erklärbar wären — etwa ein Zugriff auf .ssh zusammen mit einem curl-Aufruf in derselben Datei.

Der Skill-Auditor steht unter MIT-Lizenz auf GitHub und benötigt außer Python 3 keine Abhängigkeiten. Er läuft in Claude Code und anderen Coding-Agenten mit Dateisystem-Zugriff, nicht in claude.ai. Neben der Einzelprüfung gibt es einen Inventar-Modus, der bereits installierte Skills als kategorisiertes HTML-Dashboard auflistet. Er ersetzt kein vollständiges Security-Review.

Das Problem

Warum Claude Skills ein Sicherheitsrisiko sind

Ein Skill ist eine Anweisung an deinen Agenten. Manche bringen zusätzlich Scripts mit. Beides kann feindlich sein.

Ein Skill aus einem fremden Repo landet mit einem Copy-Befehl in deinem ~/.claude/skills/ — und wird ab dem nächsten Prompt mitgelesen. Keine Sandbox, keine Signatur, kein Store-Review. Der Skill-Auditor schließt genau diese Lücke: eine wiederholbare erste Prüfung, bevor irgendetwas ausgeführt wird.

$ git clone https://github.com/…/skill.git
$ cp -r skill ~/.claude/skills/
# fertig. keine prüfung. keine warnung.
# der nächste prompt liest ihn mit.

$ python3 ~/.claude/skills/skill-auditor/scripts/audit.py ./skill
→ 7 Phasen. Erst der Befund, dann die Entscheidung.

Oben der Normalfall. Unten der Punkt.

01

Was geprüft wird

Acht Befundkategorien. Muster in Markdown-Codeblöcken werden für die meisten Kategorien übersprungen — eine Regex in der Doku ist keine aktive Injection.

K.01

Netzwerk & Exfiltration

Ausgehende Verbindungen — und besonders die Kombination aus „liest ein Geheimnis" und „schickt es irgendwohin".

curl · wget · requests · fetch
K.02

Code-Ausführung

Alles, was zur Laufzeit fremden Code nachlädt oder auswertet.

eval · exec · subprocess
child_process · curl | bash
K.03

Verschleierung

Kodierte Nutzlast statt lesbarem Code. Ein legitimer Skill hat selten einen Grund dazu.

base64 · \x-Escapes
String.fromCharCode
K.04

Rechteausweitung

Paketinstallationen, Rechtevergabe und Eingriffe in die Shell-Umgebung.

pip/npm/apt install · sudo
chmod 777 · PATH · cron
K.05

Prompt Injection

Angriffe auf den Agenten statt auf das System: Rollenwechsel, gefälschte System-Tags, Umgehungsrhetorik gegen die Prüfung selbst.

"ignore previous instructions"
<system-reminder> · <system>
K.06

Persistenz & Tarnung

Alles, was sich über die Session hinaus festsetzt oder deine Konfiguration umschreibt.

crontab · .bashrc/.zshrc
CLAUDE.md · settings.json · MEMORY.md
K.07

Secrets-Zugriff

Zugriffe auf Orte, an denen bei dir Schlüssel liegen.

.ssh · .aws · .env
API-Keys · Private Keys
K.08

Zeitbomben

Logik, die am Prüftag harmlos ist und sich später anders verhält — datums- oder versionsabhängig.

if date > … · if version >= …
02

Wie bewertet wird

Drei Schweregrade plus eine vierte Stufe, die nicht einzelne Muster bewertet, sondern deren Zusammenspiel.

Critical

Muster, die für sich genommen bereits einen Angriff darstellen. Nicht installieren, ohne die Fundstelle gelesen zu haben.

High

Muster mit hohem Missbrauchspotenzial, die in seltenen Fällen legitim sind. Manuelle Bewertung im Kontext erforderlich.

Medium

Auffälligkeiten, die einen Blick verdienen — oft harmlos, aber nicht wortlos durchwinken.

Reject

Musterkombinationen, die unabhängig von der Einzelbewertung durchfallen. Beispiel: eine Datei, die .ssh liest und im selben File an curl übergibt. Einzeln jeweils erklärbar, zusammen nicht.

03

Das Verfahren

Der Scan ist der schnelle Teil. Die manuellen Phasen sind der Teil, den eine Regex nicht abdecken kann — und deshalb Pflicht.

Provenienz

Woher kommt der Skill, wer hat ihn veröffentlicht, wie alt ist das Repo, wer sonst nutzt ihn. Herkunft entscheidet, wie streng der Rest gelesen wird.

Muster-Scan automatisch

audit.py läuft über das gesamte Verzeichnis, prüft die acht Kategorien und schreibt Konsolenreport plus audit-result.json in den geprüften Ordner.

Content-Review

Der Prompt-Text selbst wird gelesen. Social Engineering hat keine Keywords, nach denen man greppen könnte — nur Formulierungen, die dem Agenten etwas anderes sagen als dir.

Permission-Scope

Braucht der Skill wirklich, was er anfasst? Ein Textformatierer mit Netzwerkzugriff ist kein Fund, aber eine Frage.

Befund

🟢 / 🟡 / 🔴 mit Fundstellen. Eine strukturierte Erstbewertung als Entscheidungsgrundlage — die Entscheidung triffst du.

04

Im Einsatz

Ein Durchlauf von der Übergabe des Verzeichnisses bis zum Befund.

Standbild aus dem Video: Der Skill-Auditor beim Durchlauf eines Skill-Verzeichnisses.

Das Video wird erst nach Klick von YouTube geladen. Vorher werden keine Daten an Google übertragen. Beim Start gelten die Datenschutzbestimmungen von Google.

05

Der Report

Konsolenausgabe für den Menschen, audit-result.json für alles andere. Mehrere Verzeichnisse auf einmal ergeben eine Übersichtstabelle.

$ python3 ~/.claude/skills/skill-auditor/scripts/audit.py ./awesome-seo-skill

── Muster-Scan ──────────────────────────────
CRITICAL scripts/setup.sh:14 secrets-access ~/.ssh/id_rsa
CRITICAL scripts/setup.sh:15 exfiltration curl -X POST …
HIGH scripts/setup.sh:3 code-execution curl | bash
MEDIUM SKILL.md:88 obfuscation base64 -d

REJECT Kombination in setup.sh: secrets-access + exfiltration

── Befund ───────────────────────────────────
🔴 Nicht installieren. 2 kritisch · 1 hoch · 3 mittel · 1 Reject-Kombination
→ audit-result.json geschrieben
→ Manuelle Phasen offen: Provenienz, Content-Review, Permission-Scope

Beispielausgabe — Formatierung je nach Version

06

Installieren

Keine Dependencies außer Python 3. Kein npm, kein Build, keine Hooks.

1 — Repo holen

git clone https://github.com/ki-stuff/skill-auditor.git

2 — In das Skills-Verzeichnis kopieren

cp -r skill-auditor ~/.claude/skills/

Unter Windows: %USERPROFILE%\.claude\skills\skill-auditor\

3 — Prüfen

python3 ~/.claude/skills/skill-auditor/scripts/audit.py ./neuer-skill

Oder einfach den Agenten bitten, einen Skill zu prüfen — der Skill ist so geschrieben, dass er von sich aus anspringt, bevor ein neuer oder externer Skill genutzt wird.

Lieferumfang

SKILL.mdWorkflow, 7 Phasen
scripts/audit.pyScanner + Inventar
inventory_template.htmlDashboard-Vorlage
README.mdDE / EN
CHANGELOG.mdVersionshistorie
LICENSEMIT
Dependencieskeine
07

Häufige Fragen

Kurze, belastbare Antworten zu Skill-Sicherheit in Claude Code.

Können Claude Skills Schadcode enthalten?

Ja. Ein Claude Skill besteht aus einer SKILL.md und kann zusätzlich ausführbare Scripts mitbringen. Beide Bestandteile können bösartig sein: die Markdown-Datei über Prompt Injection, die Scripts über klassischen Schadcode. Beim Kopieren in das Skills-Verzeichnis gibt es keine Sandbox, keine Signaturprüfung und kein Store-Review.

Was ist Prompt Injection bei Claude Skills?

Prompt Injection ist ein Angriff auf den Agenten statt auf das Betriebssystem. Der Skill-Text enthält Anweisungen, die den Agenten umsteuern: Aufforderungen wie „ignore previous instructions", Rollenzuweisungen oder gefälschte System-Tags wie <system-reminder>. Der Angriff braucht keinen ausführbaren Code, weil der Skill-Text bei jedem Prompt mitgelesen wird.

Wie prüfe ich einen fremden Claude-Skill vor der Installation?

In vier Schritten: Herkunft klären, automatischen Muster-Scan laufen lassen, den Prompt-Text selbst lesen, und prüfen ob die beanspruchten Berechtigungen zum Zweck des Skills passen.

Der Skill-Auditor automatisiert den zweiten Schritt über acht Befundkategorien und führt durch die übrigen drei.

Ersetzt der Skill-Auditor ein vollständiges Security-Review?

Nein. Er ist eine pragmatische Erstprüfung. Er erkennt bekannte Muster, aber keine neuartigen Verschleierungstechniken und keine reinen Prosa-Angriffe ohne passende Keywords. Ein sauberer Scan bedeutet „keine offensichtlichen Auffälligkeiten", nicht „geprüft und sicher".

Funktioniert der Skill-Auditor auch in claude.ai oder Cowork?

Nein. Der automatische Scanner ist ein Python-Script und benötigt Dateisystem-Zugriff, deshalb läuft er nur in Claude Code beziehungsweise in Coding-Agenten mit Shell-Zugriff. Die manuellen Prüfphasen aus der SKILL.md lassen sich grundsätzlich auch ohne Script anwenden.

Was kostet der Skill-Auditor?

Nichts. Der Skill-Auditor steht unter MIT-Lizenz auf GitHub und hat außer Python 3 keine Abhängigkeiten. Kein npm-Paket, kein Build-Schritt, keine Hooks.

08

Was er nicht kann

Ein Sicherheitswerkzeug, das seine Grenzen verschweigt, ist selbst ein Risiko. Deshalb hier statt im Kleingedruckten.

Ein sauberer Scan ist kein Freibrief. Er ist der Anfang der Prüfung.