← Zurück

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 TABLE in public schema, verify RLS is enabled and at least one policy exists
  • Flag missing RLS

Step 3: Check Environment Files

  • Verify .env and .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.