Security Audit
Dieses Skill führt ein umfassendes Sicherheitsaudit deines Projekts durch, inklusive Secret Scanning, statischer Analyse (SAST) und Supabase Row-Level Security Prüfungen. Es behebt identifizierte Probleme autonom und wiederholt Prüfungen, bis das Projekt sauber ist.

Was es macht
Dieses Skill führt ein gründliches Sicherheitsaudit deines Codes durch. Es scannt mit Gitleaks nach Geheimnissen, führt eine statische Anwendungssicherheitsprüfung (SAST) mit Semgrep durch, überprüft Supabase Row-Level Security Konfigurationen und sucht nach falsch verfolgten Umgebungsvariablen-Dateien. Das Skill versucht dann, alle identifizierten Schwachstellen zu beheben und wiederholt das Audit, bis keine Probleme mehr bestehen.
Wann du es einsetzt
Setze dieses Skill ein, wenn du die Sicherheitslage deines Projekts vor der Bereitstellung oder als Teil einer Continuous Integration Pipeline sicherstellen musst. Es ist ideal, um häufige Sicherheitsfallen schnell zu identifizieren und zu beheben, insbesondere im Umgang mit Geheimnissen, SAST-Ergebnissen oder Supabase RLS. Du kannst es bei Bedarf ausführen, um einen sauberen Projektstatus zu erhalten.
So richtest du es ein
Um dieses Skill zu verwenden, kopiere die Datei in dein Repository nach .claude/skills/security-audit/SKILL.md. Sobald die Datei vorhanden ist, kannst du es direkt in Claude Code mit /security-audit aufrufen. Claude Code führt die Audit-Schritte aus und liefert eine Zusammenfassung der gefundenen Probleme und Korrekturen.
Der Inhalt
Security Audit
Run a comprehensive security audit on this project. Fix all findings autonomously.
Current git status: !git status --short
Supabase project: !ls supabase/migrations/ 2>/dev/null | tail -5 || echo "No supabase directory"
Step 1: Run Scanners
Run all applicable scanners:
# Secret scanning
gitleaks detect --source . --no-git --report-format json --report-path /tmp/gitleaks-report.json 2>&1 || true
# SAST
semgrep --config=auto --json --output /tmp/semgrep-report.json . 2>&1 || true
Read both report files and understand all findings.
Step 2: Check Supabase RLS
If supabase/migrations/ exists:
- Read all migration files
- For every
CREATE TABLEinpublicschema, verify RLS is enabled and at least one policy exists - Flag missing RLS
Step 3: Check Environment Files
- Verify
.envand.env.*(except.env.example) are in.gitignore - Run
git ls-files | grep '\.env'to find tracked env files (exclude .env.example and vite-env.d.ts) - Scan
src/for hardcoded API keys or tokens
Step 4: Fix All Findings
For each finding:
- Secrets in code: Replace with env var reference, add to
.env.example - Tracked .env files:
git rm --cached - SAST issues: Apply semgrep's recommended fix
- Missing RLS: Generate migration file with RLS + basic policy
Step 5: Re-run Until Clean
Re-run all scanners from Step 1. If findings remain, fix and repeat. Stop after 3 cycles or when clean.
Step 6: Summary
Output what was found, what was fixed, and final scan status.
Kommt direkt aus dem Framework, mit dem diese Seite gebaut wird. Diese Seite zeigt immer die aktuelle Version.
Sowas für dich bauen?
Es beginnt mit einem Gespräch: 30 Minuten, unverbindlich.