Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Das Security-Guidance-Plugin veranlasst Claude, seine eigenen Code-Änderungen auf häufige Sicherheitslücken zu überprüfen, während es arbeitet, und behebt die gefundenen Probleme in derselben Sitzung. Das Plugin erfasst Probleme wie Injection, unsichere Deserialisierung und unsichere DOM-APIs, bevor der Code einen Pull Request erreicht, und reduziert damit die Sicherheitsüberprüfung, die auf menschliche Reviewer nachgelagert fällt. Nach der Installation wird das Plugin automatisch ausgeführt. Es gibt nichts zu aufzurufen und keinen separaten Befehl zu merken. Das Plugin ist der In-Session-Begleiter zu Code Review, das auf Pull Requests ausgeführt wird. Dieses Plugin reduziert, was den PR erreicht. Code Review erfasst, was es tut. Wie das Plugin mit On-Demand-Review und CI-Scanning zusammenarbeitet, finden Sie unter Wie dies mit anderen Sicherheitstools zusammenpasst.

Voraussetzungen

  • Claude Code CLI Version 2.1.144 oder später
  • Python 3.8 oder später auf Ihrem PATH. Das Plugin versucht python3, python und py -3 in dieser Reihenfolge

Plugin installieren

Installieren Sie in einer Claude Code-Sitzung aus dem offiziellen Anthropic-Marketplace:
/plugin install security-guidance@claude-plugins-official
Aktivieren Sie es dann in der aktuellen Sitzung:
/reload-plugins
Die Installation schreibt in Ihre Benutzereinstellungen, sodass das Plugin in jeder neuen lokalen Sitzung geladen wird, die Sie auf diesem Computer starten. Sitzungen, die bereits ausgeführt werden, benötigen /reload-plugins, um es zu laden.

In Cloud-Sitzungen und gemeinsamen Repositories aktivieren

Benutzergebundene Plugins werden nicht in Claude Code im Web übernommen, da diese Sitzungen auf Anthropic-Infrastruktur statt auf Ihrem Computer ausgeführt werden. Um das Plugin dort zu aktivieren oder es für alle einzuschalten, die ein Repository klonen, deklarieren Sie es in den eingecheckten Einstellungen des Projekts:
.claude/settings.json
{
  "enabledPlugins": {
    "security-guidance@claude-plugins-official": true
  }
}
Administratoren können das Plugin organisationsweit aktivieren, indem sie enabledPlugins in verwalteten Einstellungen festlegen.

Was das Plugin überprüft

Das Plugin überprüft Claudes Arbeit an drei Punkten, jeweils mit unterschiedlicher Tiefe: Sie können jede Ebene erweitern, indem Sie Ihre eigenen Regeln hinzufügen. Integrierte Überprüfungen können nicht einzeln entfernt werden, aber Sie können jede Ebene unabhängig deaktivieren.

Bei jeder Dateibearbeitung

Wenn Claude in eine Datei schreibt, scannt das Plugin den neuen Inhalt auf bekannte riskante Muster. Dies ist ein Pattern-Abgleich ohne Modellaufruf, daher entstehen keine Nutzungskosten. Beispiel-Pattern-Kategorien:
  • Dynamische Code-Ausführung: eval(, new Function, os.system, child_process.exec
  • Unsichere Deserialisierung: pickle
  • DOM-Injection: dangerouslySetInnerHTML, .innerHTML =, document.write
  • Workflow-Dateien: Bearbeitungen unter .github/workflows/, die Repository-Berechtigungen gewähren können
Die Überprüfung wird nach dem Landen der Bearbeitung ausgeführt und fügt die Warnung an Claudes Kontext für den nächsten Schritt an. Jede Warnung wird einmal pro Pattern pro Datei pro Sitzung ausgelöst, sodass wiederholte Übereinstimmungen in derselben Datei das Gespräch nicht überfluten. Sie können Ihre eigenen Muster hinzufügen zu dieser Ebene mit einer security-patterns.yaml-Datei.

Am Ende jeder Runde

Eine Runde ist eine Runde von Claudes Antwort: Sie senden eine Nachricht, Claude arbeitet und antwortet, und die Runde endet. Nach jeder Runde berechnet das Plugin einen Git-Diff aller Änderungen, die während der Runde im Arbeitsverzeichnis vorgenommen wurden, einschließlich Änderungen von Claudes Edit-Tools, Bash-Befehlen und Subagenten, und sendet ihn an eine separate Claude-Überprüfung, die sich auf Sicherheit konzentriert. Die Überprüfung wird im Hintergrund ausgeführt, sodass Claudes Antwort nicht verzögert wird. Wenn die Überprüfung Probleme findet, wird Claude mit den Ergebnissen erneut aufgefordert und behebt sie als Folgemaßnahme. Dies erfasst Probleme, die ein String-Abgleich nicht kann, wie zum Beispiel:
  • Autorisierungsumgehung
  • Unsichere direkte Objektreferenzen
  • Injection
  • Server-seitige Request-Forgery
  • Schwache Kryptographie
Sie sehen sowohl die Erkenntnis als auch Claudes Lösung direkt in Ihrer Sitzung. Die Überprüfung umfasst bis zu 30 geänderte Dateien pro Runde und wird höchstens dreimal hintereinander ausgeführt, bevor sie an Sie zurückgegeben wird.

Bei jedem Commit oder Push, den Claude macht

Wenn Claude git commit oder git push über sein Bash-Tool ausführt, führt das Plugin eine tiefere agentengestützte Überprüfung der Änderung im Hintergrund aus. Diese Überprüfung liest umgebenden Code, einschließlich Aufrufer, Sanitizer und verwandter Dateien, um zu entscheiden, ob eine Erkenntnis real ist, bevor sie gemeldet wird. Der zusätzliche Kontext hält falsch positive Ergebnisse bei Mustern niedrig, die isoliert gefährlich aussehen, aber in Ihrer Codebasis sicher sind. Diese Ebene wird nur bei Commits und Pushes ausgelöst, die Claude über sein Bash-Tool macht. Commits, die Sie von Ihrer eigenen Shell aus ausführen, einschließlich des !-Shell-Escape in einer Sitzung, werden nicht überprüft. Commit- und Push-Überprüfungen sind auf 20 pro rollende Stunde begrenzt.

Überprüfungsunabhängigkeit und Limits

Das Plugin fragt nicht die gleiche Claude-Instanz, die den Code geschrieben hat, um sich selbst zu bewerten. Die Per-Edit-Überprüfung ist ein deterministischer String-Abgleich ohne Modellbeteiligung. Die End-of-Turn- und Commit-Überprüfungen werden als separater Claude-Aufruf mit frischem Kontext und sicherheitsorientiertem Prompt ausgeführt: Der Reviewer beginnt mit dem Diff, hat keine Investition in den ursprünglichen Ansatz und wird nur angewiesen, Probleme zu finden. Keine der Ebenen blockiert Schreibvorgänge oder Commits. Erkenntnisse erreichen Claude als Anweisungen, Claude behebt sie im Gespräch, und das Review-Modell kann Probleme übersehen. Behandeln Sie das Plugin als eine Ebene der Verteidigungstiefe, nicht als vollständige Sicherheitslösung. Siehe Wie dies mit anderen Sicherheitstools zusammenpasst.

Fügen Sie Ihre eigenen Regeln hinzu

Das Plugin hat zwei Erweiterungspunkte: eine Markdown-Guidance-Datei für die modellgestützten Überprüfungen und eine YAML- oder JSON-Patterns-Datei für den Per-Edit-String-Abgleich. Beide sind additiv. Sie können Überprüfungen hinzufügen, aber keine integrierten aus diesen Dateien deaktivieren.

Fügen Sie Guidance für die modellgestützten Überprüfungen hinzu

Erstellen Sie .claude/claude-security-guidance.md in Ihrem Projekt und beschreiben Sie Ihr Bedrohungsmodell und Ihre Überprüfungscheckliste in einfacher Sprache. Die modellgestützten Überprüfungen laden sie als zusätzlichen Kontext neben der integrierten Sicherheitslückencheckliste. Das folgende Beispiel ist für einen Webdienst mit rollengesteuerten Admin-Routen und einer Kundendaten-Logging-Richtlinie:
.claude/claude-security-guidance.md
# Sicherheitsguidance für dieses Repository

- Protokollieren Sie `customer_id` oder `account_number` nicht auf INFO-Ebene oder höher.
- Alle Routen unter `/admin` müssen `require_role("admin")` aufrufen, bevor ein Datenbanklesevorgang erfolgt.
- Verwenden Sie `crypto.timingSafeEqual` für Token-Vergleich statt `===`.
Diese Regeln sind Guidance für den Reviewer, keine deterministischen Schutzvorrichtungen. Das Plugin zeigt Verstöße als Erkenntnisse für Claude an, um sie zu beheben, blockiert aber keine Schreibvorgänge und garantiert nicht, dass jeder Verstoß erfasst wird. Die Guidance ist nur additiv: Eine Regel, die besagt, dass eine Sicherheitslückenklasse ignoriert werden soll, unterdrückt diese Erkenntnisse nicht. Für harte Durchsetzung kombinieren Sie das Plugin mit einem Hook, der Bearbeitungen blockiert oder einer CI-Überprüfung.

Fügen Sie benutzerdefinierte Per-Edit-Muster hinzu

Erstellen Sie .claude/security-patterns.yaml, um Regex- oder Substring-Regeln zur Per-Edit-Pattern-Überprüfung hinzuzufügen. Diese werden als deterministische String-Abgleiche neben den integrierten Mustern ausgeführt:
.claude/security-patterns.yaml
patterns:
  - rule_name: internal_api_key
    substrings: ["sk_live_", "AKIA"]
    reminder: "Hardcodierter API-Schlüsselpräfix. Laden Sie Anmeldedaten aus dem Secret Manager."
  - rule_name: tenant_unfiltered_query
    regex: "\\.objects\\.all\\(\\)"
    paths: ["src/tenants/**"]
    reminder: "Multi-Tenant-Code muss nach org_id filtern."
FeldTypBeschreibung
rule_namestringIdentifier, der in der Warnung angezeigt wird
reminderstringWarntext, der an Claudes Kontext angehängt wird, begrenzt auf 1 KB
regexstringPython-Regex, die gegen den bearbeiteten Inhalt abgeglichen wird
substringslistLiterale Substrings; geben Sie dies oder regex an
pathslistOptionale Glob-Muster; die Regel gilt nur für übereinstimmende Dateien
exclude_pathslistOptionale Glob-Muster zum Überspringen
Das Plugin liest auch .claude/security-patterns.yml und .claude/security-patterns.json mit dem gleichen Schema. JSON funktioniert auf jeder Python-Installation. Die YAML-Formen erfordern, dass PyYAML importierbar ist, was das Plugin nicht für Sie installiert. Das Plugin lädt bis zu 50 benutzerdefinierte Regeln und überspringt Regexes, die anfällig für katastrophales Backtracking aussehen.

Lookup-Speicherorte für Regeldateien

Das Plugin sucht nach claude-security-guidance.md und security-patterns.yaml an den gleichen Speicherorten, unabhängig davon, wie das Plugin aktiviert wurde:
BereichPfadNotizen
Benutzer~/.claude/claude-security-guidance.mdGilt für jedes Projekt auf Ihrem Computer
Projekt.claude/claude-security-guidance.mdMit dem Repository eingecheckt
Projekt lokal.claude/claude-security-guidance.local.mdGitignored, für persönliche Overrides
Das Plugin lädt alle Speicherorte, die vorhanden sind, und verkettet sie mit einer kombinierten Obergrenze von 8 KB für die Guidance-Datei. Administratoren können organisationsweit Regeln verteilen, indem sie die Benutzerbereichsdatei über Geräteverwaltung zu ~/.claude/ pushen. Die gleichen Pfade gelten für security-patterns.yaml.

Nutzungskosten

Die Per-Edit-Pattern-Überprüfung macht keinen Modellaufruf und fügt keine Kosten hinzu. Die End-of-Turn- und Commit-Überprüfungen verbrauchen jeweils zusätzliche Modellnutzung, die wie jede andere Claude-Anfrage zu Ihrer Nutzung zählt. Die Commit-Überprüfung ist agentengestützt und kann mehrere Modellrunden pro Commit dauern. Der Anstieg skaliert damit, wie oft Claude Dateien bearbeitet und in der Sitzung committed. Beide modellgestützten Überprüfungen verwenden standardmäßig Claude Opus 4.7. Setzen Sie SECURITY_REVIEW_MODEL, um ein anderes Modell für die End-of-Turn-Überprüfung zu wählen, und SG_AGENTIC_MODEL für die Commit-Überprüfung. Das Plugin ist auf allen Plänen verfügbar.

Deaktivieren oder deinstallieren

Um einzelne Ebenen zu deaktivieren und den Rest zu behalten, setzen Sie die entsprechende Umgebungsvariable:
VariableEffekt
ENABLE_PATTERN_RULES=0Deaktivieren Sie die Per-Edit-Pattern-Überprüfung
ENABLE_STOP_REVIEW=0Deaktivieren Sie die End-of-Turn-Diff-Überprüfung
ENABLE_COMMIT_REVIEW=0Deaktivieren Sie die Commit- und Push-Überprüfung
ENABLE_CODE_SECURITY_REVIEW=0Deaktivieren Sie alle modellgestützten Überprüfungen auf einmal
SECURITY_GUIDANCE_DISABLE=1Deaktivieren Sie das Plugin vollständig, ohne es zu deinstallieren
Um das Plugin in Ihrem Benutzerbereich zu pausieren:
/plugin disable security-guidance@claude-plugins-official
Um es aus Ihrem Benutzerbereich zu entfernen:
/plugin uninstall security-guidance@claude-plugins-official
Wenn das Plugin durch die .claude/settings.json eines Projekts aktiviert wurde, schreibt das Deaktivieren von /plugin einen Override in Ihre .claude/settings.local.json, anstatt die eingecheckte Datei zu bearbeiten, sodass das Plugin für Sie ausgeschaltet bleibt, während Ihre Teamkollegen nicht betroffen sind. Wenn es durch verwaltete Einstellungen aktiviert wurde, kann nur ein Administrator es deaktivieren.

Wie das Plugin mit Claude Code integriert wird

Das Plugin ist vollständig auf Hooks aufgebaut, dem Mechanismus zum Ausführen Ihres eigenen Codes an bestimmten Punkten in Claudes Schleife. Es registriert:
Hook-EreignisZweck
SessionStartBootstrap der Python-Umgebung des Plugins
UserPromptSubmitErfassen Sie die Baseline des Arbeitsverzeichnisses, gegen die die End-of-Turn-Überprüfung diffs
PostToolUse auf Edit, Write und NotebookEditPer-Edit-Pattern-Abgleich
StopEnd-of-Turn-Diff-Überprüfung, im Hintergrund ausgeführt
PostToolUse auf Bash, gefiltert auf git commit und git pushCommit- und Push-Überprüfung, im Hintergrund ausgeführt
Wenn Sie Ihre eigenen Hooks erstellen, ist der Quellcode des Plugins ein funktionierendes Beispiel für das Ausführen eines separaten Modellaufrufs aus einem Hook und das Zurückführen des Ergebnisses in die Sitzung.

Wie dies mit anderen Sicherheitstools zusammenpasst

Das Plugin ist eine Ebene in einem Verteidigungstiefe-Ansatz. Es erfasst Probleme am frühesten, während der Code noch im Editor ist, aber es ist keine Garantie und ersetzt keine späteren Überprüfungen. Ein typischer Stack:
PhaseToolWas es abdeckt
In SitzungSecurity-Guidance-PluginHäufige Sicherheitslücken in Code, den Claude schreibt, behoben in derselben Sitzung
On Demand/security-reviewEinmalige Sicherheitsüberprüfung auf dem aktuellen Branch, ausgeführt, wenn Sie es anfordern
Bei Pull RequestCode Review, Team- und Enterprise-PläneMulti-Agent-Korrektheit und Sicherheitsüberprüfung mit vollständigem Codebase-Kontext
In CIIhre vorhandenen statischen Analysen und AbhängigkeitsscannerSprachspezifische Regeln, Supply-Chain-Überprüfungen und Richtliniendurchsetzung, die das Plugin nicht versucht
Jede spätere Phase erfasst, was frühere übersehen. Der Wert des Plugins liegt darin, das Volumen zu reduzieren, das sie erreicht, nicht darin, die Notwendigkeit für sie zu beseitigen.

Verwandte Ressourcen

Um tiefer in die Themen einzusteigen, die diese Seite berührt: