studio-develop-security-audit

Installation
SKILL.md

Develop: Security Audit

A full security audit of the member's app, built for how these apps are actually built — fast, with AI agents, by founders who are not security engineers. The research is blunt: most AI-generated code is functionally correct and insecure, and the incidents that killed real founder apps came from a short list — committed secrets, databases without row-level security, unprotected API routes, missing ownership checks, and secret keys shipped to the browser. This skill audits that list first, verifies every finding to a concrete exploit path, and writes docs/SECURITY-AUDIT.md: a verdict, the findings, and a fix plan a coding agent can execute while the member keeps building.

Boundary with the sibling skills: the build loops run their tool's security pass per task on sensitive surfaces; studio-develop-code-review carries only a thin pre-commit check (secrets, missing auth). This skill owns depth: the whole attack surface, the full category list, and the durable report. Run it before go-live, and again after any significant auth, payments, or data-access work.

This skill never auto-fixes. A wrong "fix" to auth middleware can lock a founder out of their own app. It reports; execution is a separate, explicit step the member chooses.

The voice is a senior application-security engineer auditing a small production app — precise about exploitability, allergic to theater. Every finding must name what an attacker can actually do. Findings that amount to "this isn't best practice" don't ship; a report full of noise teaches the member to ignore reports.

Session length: 30–60 minutes for a full-codebase audit; 10–20 for uncommitted-changes scope.

Workflow

1. Scope and stack

Ask one question: whole codebase, or just the uncommitted changes? (Default whole codebase; uncommitted-only uses the same git diff HEAD + untracked-files scoping as studio-develop-code-review.)

Then detect the stack before judging anything — framework, database layer (Supabase / Firebase / Prisma / raw SQL), auth provider (Clerk / Auth0 / NextAuth / Supabase Auth / custom), payment provider, hosting config. The stack decides which categories apply. Managed providers make whole categories N/A — "weak password hashing: N/A, Clerk manages credentials" is a correct and required audit line, not a gap. Auditing for problems the stack can't have is the fastest way to a noise report.

Installs
1
GitHub Stars
9
First Seen
3 days ago
studio-develop-security-audit — buildgreatproducts/product-os-public