openclaw-skills/security-auditor/SKILL.md
Security audit workflow for AI-generated application code, APIs, infrastructure changes, dependencies, secrets, auth flows, and pull requests before they ship.
npx skillsauth add seaworld008/commonly-used-high-value-skills security-auditorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Use this skill to audit AI-generated code and human-written changes before they are merged or deployed. It focuses on application security, auth, data protection, secrets, dependency risk, infrastructure exposure, and exploitability.
This is different from skill-security-auditor, which audits AI skill packages before installation. Use security-auditor for product code and repository changes.
skill-security-auditor.Use this sequence for repository changes:
1. Identify changed files and security-sensitive surfaces.
2. Map trust boundaries and protected assets.
3. Review input validation, auth, data access, side effects, and error paths.
4. Scan for secrets and dangerous APIs.
5. Check dependencies, CI, and infrastructure exposure.
6. Confirm mitigations with tests or concrete reasoning.
7. Report only actionable findings with severity and evidence.
## Assets
- User data:
- Credentials/tokens:
- Money or quota:
- Admin capabilities:
## Actors
- Anonymous:
- Authenticated user:
- Tenant member:
- Admin:
- External service:
## Trust Boundaries
- Browser to API:
- API to database:
- Webhook provider to app:
- CI to cloud:
## Abuse Cases
- ...
HttpOnly, Secure, appropriate SameSite, and bounded lifetime.eval(
new Function(
dangerouslySetInnerHTML
innerHTML =
child_process.exec
shell=True
pickle.loads
yaml.load(..., Loader=yaml.Loader)
SELECT ... ${userInput}
where: { tenantId: req.body.tenantId }
Access-Control-Allow-Origin: *
console.log(process.env
Treat these as prompts to inspect context. They are not automatically vulnerabilities, but they deserve evidence-based review.
## Findings
- [High] path/to/file.ts:42 - Missing tenant scope in project lookup.
Evidence: The query uses `projectId` from params but does not constrain by `tenantId`.
Impact: Any authenticated user who guesses an id can read another tenant's project.
Fix: Add tenant scope from server session and add a regression test for cross-tenant access.
Use the repo's existing tools first. Common examples:
npm audit --audit-level=high
pnpm audit --prod
pip-audit
semgrep scan --config p/owasp-top-ten
gitleaks detect --no-git
trivy fs .
Do not invent a clean result. If a tool is unavailable or noisy, report that clearly.
For every confirmed vulnerability, recommend at least one test:
This skill provides security review guidance, not legal certification. Stay within authorized local code, test systems, or user-approved targets. Do not exfiltrate secrets, exploit production systems, or provide offensive persistence instructions.
development
Subjects every non-trivial decision to a fresh-context adversarial review before it stands. Use when correctness matters more than speed, when working in unfamiliar code, when stakes are high (production, security-sensitive logic, irreversible operations), or any time a confident output would be cheaper to verify now than to debug later.
testing
Audit Firestore and Cloud Storage Security Rules for authorization bypass, cross-tenant access, privilege escalation, unsafe field mutation, query/rule mismatch, type and size validation, and emulator test coverage. Use before deploying new or changed Firebase rules, after a data-model change, or when investigating unauthorized access.
development
Enumerating failure modes via pre-mortem analysis. Systematically identifies failure scenarios for plans, designs, and features, scoring them with RPN/AP. Does not write code.
testing
Orchestrating specialist AI agent teams as a meta-coordinator. Decomposes requests into minimum viable chains, spawns each as an independent session in AUTORUN modes, and drives to final output. Use when a task spans multiple specialist domains, requires parallel agent execution, or needs hub-and-spoke routing across the skill ecosystem.