lgbarn/shipyard/security-audit
Claude Code and agent skill by lgbarn/shipyard
- community
Checking that the SKILL.md file is still in the repository.
Audits code for OWASP Top 10 issues, secrets in code (API keys, passwords, tokens), dependency vulnerabilities, IaC security, Docker hardening, and supply chain risks. Use when working with code that handles user input, authentication, authorization, or secrets. Also use when adding or updating dependencies, reviewing infrastructure-as-code, or before claiming security posture is adequate. Applies when code touches a database query, HTTP endpoint, or config file with credentials.
Install
npx vskill@latest install lgbarn/shipyard/security-auditSKILL.md
Security Audit
<activation>
When to Use
- Working with any code that handles user input, authentication, or authorization
- Adding or updating dependencies
- Reviewing infrastructure-as-code (Terraform, Ansible, Docker, CloudFormation)
- Before claiming security posture is adequate
- When conversation mentions: security, vulnerability, CVE, OWASP, secrets, hardening
Natural Language Triggers
- "security check", "is this secure", "vulnerability scan", "audit security", "check for secrets"
</activation>
Core principle: Assume every change introduces risk until proven otherwise.
<instructions>
OWASP Top 10 Quick Checks
For every code change, verify:
- [ ] Injection: All user input parameterized/escaped -- no string concatenation in queries or commands
- [ ] Broken Auth: Passwords hashed properly (bcrypt/argon2), session tokens random, rate limiting on auth endpoints
- [ ] Data Exposure: Encryption at rest and transit, no sensitive data in logs/errors, proper key management
- [ ] XXE: XML parsers disable external entities
- [ ] Access Control: Authorization on every request (not just UI), default deny, restrictive CORS
- [ ] Misconfiguration: Debug mode off in production, default credentials changed, security headers set
- [ ] XSS: Output encoding on all user data, CSP headers, no
dangerouslySetInnerHTMLwithout sanitization - [ ] Deserialization: No deserializing untrusted data without allowlists
- [ ] Vulnerable Components: Dependencies pinned, no known CVEs, lock files committed
- [ ] Insufficient Logging: Auth events logged, failures logged, logs don't contain secrets
Secrets Detection
Flag these patterns in ANY file (code, config, IaC, docs, tests):
| Pattern | What It Is | ||||
|---|---|---|---|---|---|
AKIA[0-9A-Z]{16} | AWS Access Key | ||||
ghp_[0-9a-zA-Z]{36} | GitHub Token | ||||
sk-[0-9a-zA-Z]{48} | OpenAI/Stripe Secret Key | ||||
| `(postgres\ | mysql\ | mongodb)://[^:]+:[^@]+@` | DB credentials in URI | ||
-----BEGIN.*PRIVATE KEY----- | Private key | ||||
| `(password\ | secret\ | token\ | api_key)\s[:=]\s['"][^'"]{8,}` | Generic secret |
Where secrets hide: .env files in git, Docker build args, Terraform tfvars, CI configs, test fixtures, comments.
Prevention: Environment variables or secret managers. Add .env, *.tfvars, *.pem to .gitignore.
Dependency Security
- Check for known CVEs:
npm audit/pip-audit/cargo audit/govulncheck - Verify exact version pins (not ranges) and lock files committed
- Minimize dependency footprint -- is this package necessary?
IaC Security Quick Checks
| Area | Check | |
|---|---|---|
| Terraform | No hardcoded secrets in .tf, remote state with encryption, IAM least privilege, no * in security groups, encryption on storage | |
| Ansible | Vault for secrets, SSH key auth, become only where needed | |
| Docker | Pinned base image (not latest), non-root USER, no secrets in ENV/ARG, .dockerignore configured, health check present, multi-stage build |
</instructions>
<rules>
Finding Severity
| Severity | Definition | Action | |
|---|---|---|---|
| Security-Critical | Exploitable vulnerability or data exposure | Must fix before merge | |
| Security-Important | Increases attack surface | Should fix | |
| Security-Advisory | Best practice not followed | Note for improvement |
Non-Negotiables
- Always run the OWASP Top 10 checklist for every code change -- no exceptions
- Flag secrets in ANY file type (code, config, IaC, docs, tests, comments)
- Never skip dependency audit when dependencies are added or updated
- Security-Critical findings must be fixed before merge -- no deferral
</rules>
<examples>
Finding Report Examples
Good Critical/Important Finding -- specific, evidenced, actionable
Good Advisory Finding -- bulleted, concise
Good Executive Summary -- plain English, prioritized
Bad Finding -- vague, no evidence, not actionable
</examples>
Integration
Referenced by: shipyard:auditor agent (comprehensive scans), shipyard:builder (awareness during implementation)
Pairs with: shipyard:infrastructure-validation (IaC tool workflows), shipyard:shipyard-verification (security claims need evidence)
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/security-audit/SKILL.md
Popularity
- Repository stars
- 47
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 20 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/lgbarn/shipyard/security-audit)