skills/forge-security-audit/SKILL.md
[read-only] Run module-appropriate security scanners and aggregate vulnerability results. Use when preparing for a release, after dependency updates, when reviewing third-party package security, or when onboarding to a new codebase to assess its security posture.
npx skillsauth add quantumbitcz/dev-pipeline forge-security-auditInstall 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.
Run security vulnerability scanners appropriate for the current module.
See shared/skill-contract.md for the standard exit-code table.
Before any action, verify:
git rev-parse --show-toplevel 2>/dev/null. If fails: report "Not a git repository. Navigate to a project directory." and STOP..claude/forge.local.md exists. If not: try to detect the module from project files (package.json, build.gradle.kts, Cargo.toml, go.mod, etc.). If detection also fails: report "Could not detect project type. Run /forge-init to configure, or specify the framework manually." and STOP.Read .claude/forge.local.md for the components section (language, framework)
Run the appropriate scanner based on module:
| Framework | Scanner Command | Fallback |
|-----------|----------------|----------|
| react, nextjs, sveltekit, express, angular, nestjs, vue, svelte | npm audit --json or pnpm audit --json or bun audit | npx auditjs |
| spring (kotlin or java) | ./gradlew dependencyCheckAnalyze | Manual check of build.gradle.kts |
| fastapi, django | pip-audit or safety check | pip list --outdated |
| axum | cargo audit | cargo deny check |
| go-stdlib, gin | govulncheck ./... | go list -m -json all |
| swiftui, vapor | Manual review of Package.resolved | -- |
| jetpack-compose, kotlin-multiplatform, scala (sbt) | ./gradlew dependencyCheckAnalyze or sbt dependencyCheck | Manual check of build file |
| aspnet | dotnet list package --vulnerable | Manual check of .csproj |
| embedded | cppcheck --enable=all src/ | -- |
| k8s | trivy config . or kubeaudit all | helm lint charts/ |
| ruby | bundler-audit check or bundle audit | gem list --outdated |
| php | composer audit or local-php-security-checker | composer outdated |
| elixir | mix deps.audit or mix sobelow | mix hex.audit |
Aggregate results:
## Security Audit Results
- Critical: {count}
- High: {count}
- Medium: {count}
- Low: {count}
### Top Issues
1. {package} {version} -- {vulnerability} -- {fix: upgrade to {version}}
...
| Condition | Action | |-----------|--------| | Prerequisites fail | Report specific error message and STOP | | Scanner not installed | Report "Scanner {name} not found. Install with: {command}" and suggest alternatives from the fallback column | | Scanner command fails | Report the error output. If it is a configuration issue, suggest how to configure the scanner | | No vulnerabilities found | Report "No known vulnerabilities detected" -- this is a positive result | | Multiple frameworks detected | Run scanners for all detected frameworks and aggregate results | | forge.local.md missing | Fall back to auto-detection from project files | | State corruption | This skill does not depend on state.json -- it runs independently |
/forge-review -- Review code for quality and security findings using forge review agents/forge-review -- Full codebase scan against convention rules including security patterns/forge-review -- Iteratively fix all codebase issues including security findings/forge-verify -- Quick build + lint + test check (does not include security scanning)development
[writes] Build, fix, deploy, review, or modify code in this project. Universal entry for the forge pipeline. Auto-bootstraps on first run; brainstorms before planning when given a feature description. Use when you want to take any productive action: implementing features, fixing bugs, reviewing branches, deploying, committing, running migrations.
tools
[writes] Manage forge state and configuration: recovery, abort, config edits, session handoff, automations, playbooks, output compression, knowledge graph maintenance. Use when you need to recover from broken pipeline state, edit settings, or manage long-lived state.
development
[writes] Create, list, show, resume, or search forge session handoffs. Use when context is getting heavy and you want to transfer a forge run or conversation into a fresh Claude Code session, or to resume from a prior handoff artefact. Subcommands - no args (write), list, show, resume, search.
development
[writes] Manage the Neo4j knowledge graph. Subcommands: init, rebuild (writes); status, query <cypher>, debug (read-only). Requires Docker. No default — an explicit subcommand is required. Use when setting up the graph for the first time, rebuilding after major refactors, checking graph health, or running ad-hoc Cypher diagnostics.