ai newsMo., 26. Okt.

Open-Source-Skill fuer Claude Code: Sicherheitsaudit des gesamten Stacks mit einem Befehl

Mit dem Skill /security-audit all fuer Claude Code laesst sich ein Security Audit ueber den gesamten Stack starten. Das open-source Tool fuehrt durch eine achtphasige, evidenzbasierte Pruefung statt jedes Mal bei null anzufangen.

dev.toMontag 01:29 · 26.10.DE4 Min. Lesezeit
Bild: dev.to

TL;DR: Sicherheitsaudits beginnen normalerweise jedes Mal von einer leeren Seite aus. Ich habe meinen Audit-Prozess in ein Open-Source-Claude-Code-Skill verpackt: Mit dem Befehl /security-audit all erhält man eine evidenzbasierte Bewertung in 8 Phasen über Web, Infrastruktur, Backend, Mobile, Compliance und LLM/AI hinweg, einschließlich der Dashboard-only-Einstellungen, die kein CLI erreichen kann. Das Projekt ist auf GitHub zu finden: toshipon/claude-code-security-audit-skill

KI-Coding-Agents schreiben mittlerweile einen großen Teil unseres Codes. Review und Sicherheitsprüfungen haben damit nicht Schritt gehalten.

Schon vor KI hatte meine Audits ein wiederkehrendes Problem: Jedes Projekt begann bei null. Der Stack umfasst Web, Mobile, Infrastruktur und Backend, und jede Schicht hat ihre eigene Checkliste. Die Leitlinien von OWASP sind umfassend, aber es ist ein Berg von Material, den man jedes Mal neu lesen müsste. Und einige der wichtigsten Einstellungen, wie Vercel Deployment Protection oder Supabase Auth Policies, existieren in keinem CLI oder einer API. Sie verstecken sich hinter Dashboards.

Daher habe ich aufgehört, das Audit als ein Dokument zu behandeln, das ich jedes Mal neu schreibe, und es stattdessen in ein wiederverwendbares Claude Code Skill verwandelt.

Die Installation erfolgt über den Plugin-Marketplace innerhalb von Claude Code:

/plugin marketplace add toshipon/claude-code-security-audit-skill /plugin install security-audit@toshipon-security-audit Enter fullscreen mode Exit fullscreen mode Anschließend:

/security-audit all # Full-Stack-Audit (empfohlen) /security-audit nextjs # nur die Next.js-App /security-audit supabase # nur das Supabase-Backend /security-audit llm # nur LLM/AI-Sicherheit /security-audit terraform # nur das IaC Enter fullscreen mode Exit fullscreen mode Das Audit läuft in 8 Phasen ab:

Nichts davon erfindet eigene Kategorien. Die Web-Checks orientieren sich am OWASP Top 10:2025 und WSTG, Mobile an MASVS v2 / MASTG, Infrastruktur an den CIS Benchmarks, und die LLM-Checks am OWASP Top 10 for LLM Applications. Das ist wichtig, wenn man den Bericht an andere weitergibt: Er ist in einer Sprache verfasst, die jeder Security-Reviewer bereits spricht.

Die detaillierten Prüfmuster, mehr als zwei Dutzend Referenzdateien, die alles von Next.js über Rust bis PCI-DSS abdecken, liegen in einem references/-Verzeichnis und werden nur geladen, wenn genau dieses Ziel geprüft wird. Die SKILL.md selbst bleibt eine knappe Übersicht.

Das war die wichtigste Lektion aus Anthropics eigenen Skill-Best-Practices (und aus der Studie der Skills von Trail of Bits): Ein Skill, der alles in den Kontext wirft, hört auf, ein Werkzeug zu sein, und wird zum Rauschen. Führt man /security-audit android aus, wird nur die Android-Referenz geladen.

Ein LLM, das Security-Reviews durchführt, hat einen typischen Fehlermodus: plausibel klingende Funde ohne Beweis. Daher liefert jeder Check in diesem Skill den konkreten Befehl, das grep-Muster oder die SQL-Query mit, die den Nachweis erzeugt. Zum Beispiel ist der Fund von Supabase-Tabellen mit deaktiviertem Row Level Security keine Meinung, sondern diese Query:

SELECT n. nspname AS schema, c. relname AS table_name FROM pg_class c JOIN pg_namespace n ON n. oid = c. relnamespace WHERE c. relkind = 'r' AND n. nspname = 'public' AND c. relrowsecurity = false; Enter fullscreen mode Exit fullscreen mode Jeder Fund im Bericht enthält einen Dateipfad, eine Zeilennummer und eine konkrete Behebung.

Das Skill verankert auch hart die Ausreden, die es zurückweisen muss, jene, die ich in echten Audits ständig gehört (und selbst gebracht) habe:

Das ist der Teil, den die meisten Audit-Automatisierungen überspringen. Manche Einstellungen lassen sich schlicht nicht von einem Terminal aus prüfen:

Das Skill steuert Chrome MCP an, um diese Dashboard-Seiten zu öffnen, die Zustände der Einstellungen zu extrahieren und Screenshots als Nachweis zu erfassen. Und weil ein Dashboard-Fund nicht durch eine Codeänderung behoben werden kann, weist das Berichtsformat explizit darauf hin und enthält die manuellen Schritte zur Behebung:

### [HIGH-003] Vercel Deployment Protection Disabled - Current Value: Deployment Protection = OFF - Recommended Value: Deployment Protection = Vercel Authentication - Manual Remediation Steps: 1. Vercel Dashboard → Project Settings → Deployment Protection 2. "Standard Protection" auswählen 3. "Vercel Authentication" aktivieren 4. Das Schutzniveau für Preview Deployments überprüfen 5. Auf "Save" klicken - Impact: Der öffentliche Zugriff auf Preview-URLs wird eingeschränkt. Enter fullscreen mode Exit fullscreen mode Was das Skill bewusst NICHT tut Das Skill hat einen expliziten Abschnitt namens When NOT to Use, denn ein Audit-Werkzeug, das zu viel verspricht, ist schlimmer als eines mit klaren Grenzen:

Seit der ersten Version bewegt sich die Roadmap weg vom Einmal-Audit hin zu einem Workflow: CVSS-v4.0-Scoring für Funde (als evidenzbasierter Bewertungs-Workflow, bei dem nicht bewertete Funde explizit ausgewiesen werden, statt sie zu schätzen), benutzerdefinierte Erkennungsregeln und lokale kontinuierliche Überwachung. Auto-Fix-PRs und die Integration externer Scanner (Semgrep / CodeQL) sind in Arbeit.

Das Skill steht unter der MIT-Lizenz und ist für die Stacks gebaut, mit denen ich als SRE täglich arbeite, was bedeutet, dass es meinungsbildend ist, und ich würde wirklich gerne erfahren, wo diese Meinungen für Ihren Stack falsch liegen.

Ich bin toshipon, ein SRE und sicherheitsorientierter Indie Hacker aus Japan und Gründer von BUILD GEEKS. Ich führe Security-Audits mit festem Umfang für Teams durch, die KI-erstellte Software ausliefern. Wenn Ihr Team mit Claude Code oder anderen AI Agents entwickelt und ein evidenzbasiertes Audit möchte, keine generische Checkliste, schreiben Sie mir eine DM auf X.

Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.

Original (Englisch) anzeigen

TL;DR: Security audits usually start from a blank page, every single time. I packaged my audit process into an open-source Claude Code skill: run /security-audit all and you get an 8-phase, evidence-based assessment across web, infrastructure, backend, mobile, compliance, and LLM/AI — including the dashboard-only settings that no CLI can reach. It's on GitHub: toshipon/claude-code-security-audit-skill

AI coding agents now write a large share of our code. Review and security checks have not kept up.

Even before AI, my audits had a recurring problem: every engagement started from scratch. The stack spans web, mobile, infrastructure, and backend, and each layer has its own checklist. OWASP's guidance is comprehensive, but it's a mountain of material to re-read each time. And some of the most important settings — Vercel Deployment Protection, Supabase Auth policies — don't exist in any CLI or API. They live behind dashboards.

So I stopped treating the audit as a document I rewrite each time, and turned it into a reusable Claude Code skill.

Install it from the plugin marketplace, inside Claude Code:

/plugin marketplace add toshipon/claude-code-security-audit-skill /plugin install security-audit@toshipon-security-audit Enter fullscreen mode Exit fullscreen mode Then:

/security-audit all # full-stack audit (recommended) /security-audit nextjs # just the Next.js app /security-audit supabase # just the Supabase backend /security-audit llm # just LLM/AI security /security-audit terraform # just the IaC Enter fullscreen mode Exit fullscreen mode The audit runs in 8 phases:

Nothing here invents its own categories. Web checks map to OWASP Top 10:2025 and WSTG, mobile to MASVS v2 / MASTG, infrastructure to CIS Benchmarks, and LLM checks to the OWASP Top 10 for LLM Applications. That matters when you hand the report to someone else: it's written in a language every security reviewer already speaks.

The detailed check patterns — more than two dozen reference files covering everything from Next.js to Rust to PCI-DSS — live in a references/ directory and are loaded only when that target is audited. SKILL.md itself stays a concise overview.

This was the single most important lesson from Anthropic's own skill best practices (and from studying Trail of Bits' skills): a skill that dumps everything into context stops being a tool and becomes noise. Run /security-audit android, and only the Android reference loads.

An LLM doing security review has a failure mode: plausible-sounding findings with no proof. So every check in this skill ships with the concrete command, grep pattern, or SQL query that produces the evidence. For example, finding Supabase tables with Row Level Security disabled is not an opinion — it's this query:

SELECT n. nspname AS schema, c. relname AS table_name FROM pg_class c JOIN pg_namespace n ON n. oid = c. relnamespace WHERE c. relkind = 'r' AND n. nspname = 'public' AND c. relrowsecurity = false; Enter fullscreen mode Exit fullscreen mode Every finding in the report carries a file path, a line number, and a concrete remediation.

The skill also hard-codes the excuses it must reject — the ones I kept hearing (and making) in real audits:

This is the part most audit automation skips. Some settings simply cannot be checked from a terminal:

The skill drives Chrome MCP to open those dashboard pages, extract the setting states, and capture screenshots as evidence. And because a dashboard finding can't be fixed with a code change, the report format says so explicitly and includes the manual remediation steps:

### [HIGH-003] Vercel Deployment Protection Disabled - Current Value: Deployment Protection = OFF - Recommended Value: Deployment Protection = Vercel Authentication - Manual Remediation Steps: 1. Vercel Dashboard → Project Settings → Deployment Protection 2. Select "Standard Protection" 3. Enable "Vercel Authentication" 4. Verify the protection level for Preview Deployments 5. Click "Save" - Impact: Public access to Preview URLs will be restricted. Enter fullscreen mode Exit fullscreen mode What it deliberately does NOT do The skill has an explicit When NOT to Use section, because an audit tool that overclaims is worse than one with clear limits:

Since the first release, the roadmap has been moving from "one-shot audit" toward a workflow: CVSS v4.0 scoring for findings (as an evidence-based assessment workflow, with unscored findings reported explicitly rather than guessed), custom user-defined detection rules, and local continuous monitoring. Auto-fix PRs and external scanner integration (Semgrep / CodeQL) are in progress.

The skill is MIT-licensed and built for the stacks I work on every day as an SRE — which means it is opinionated, and I'd genuinely like to know where those opinions are wrong for your stack.

I'm toshipon — an SRE and security-focused indie hacker in Japan, and founder of BUILD GEEKS. I run fixed-scope security audits for teams shipping AI-built software. If your team builds with Claude Code or other AI agents and wants an evidence-based audit — not a generic checklist — DM me on X.

Originaltitel: I Built a Claude Code Skill That Runs a Full-Stack Security Audit in One CommandQuelle: dev.to (dev.to). Original öffnen