AGENT SKILL

security-scan

Rapid security scanning workflow for code changes. Activates a focused security sweep. Activate when: security scan, scan for vulnerabilities, check for secrets, security check, run security audit, check deps.

License 许可
Apache-2.0
最近更新
2026-10-31
Stars
★ 1
Forks
0

01 前言 Front Matter

name
security-scan
description
Rapid security scanning workflow for code changes. Activates a focused security sweep. Activate when: security scan, scan for vulnerabilities, check for secrets, security check, run security audit, check deps.
argument-hint
[path or scope to scan — defaults to recent git changes]

03 SKILL.md 正文

Security Scan

Rapid security sweep for code changes. Faster than a full /review — focused on security only.

When to Use

  • Before committing code that touches auth, user input, data storage, or external APIs
  • After adding new dependencies
  • Quick pre-PR security gate

Scan Protocol

Step 1: Determine Scope

# Default: scan recent changes
git diff --name-only HEAD~1

# Or use provided path

Step 2: Secrets Scan

# Scan for common secret patterns
grep -rn --include="*.{ts,js,py,go,rs,java,cs,yaml,json,env,sh,toml}" \
  -e "sk-[A-Za-z0-9]\{32,\}" \
  -e "ghp_[A-Za-z0-9]\{36\}" \
  -e "AKIA[0-9A-Z]\{16\}" \
  -e "api.key\s*=\s*['\"][^'\"]\{8,\}" \
  -e "password\s*=\s*['\"][^'\"]\{4,\}" \
  -e "secret\s*=\s*['\"][^'\"]\{8,\}" \
  .

# Check .env is in .gitignore
cat .gitignore | grep -E "\.env$|\.env\."

CRITICAL: Any match in committed code = immediate blocker.

Step 3: Dependency Audit

Run language-appropriate audit:

# Node.js
npm audit --audit-level=high

# Python
pip-audit  # or: safety check

# Rust
cargo audit

# Go
govulncheck ./...

# Java/Maven
mvn dependency-check:check

Report: Count of critical/high severity CVEs and their package names.

Step 4: Input Validation Spot-Check

For changed files that handle user input (API endpoints, form handlers, CLI args):

  • Is input validated/sanitized before use?
  • Are SQL queries parameterized (no string concatenation)?
  • Is HTML output escaped before rendering?
  • Are file paths sanitized (no ../ traversal)?

Step 5: Auth/Authz Quick Check

For changed files touching auth:

  • Is authentication checked BEFORE authorization?
  • Are authorization checks on EVERY relevant endpoint?
  • Are JWT tokens validated (algorithm + signature + expiry)?
  • Are session cookies HttpOnly; Secure; SameSite=Strict?

Output Format

## Security Scan Report

**Scope:** [files scanned]
**Date:** [timestamp]

### Secrets
- [ ] No hardcoded secrets found
- ⚠ Found: [file:line — description]

### Dependencies
- Critical CVEs: X
- High CVEs: Y
- Packages: [list if any]

### Input Validation
- [ ] User inputs sanitized in changed files
- ⚠ Risk: [file:line — description]

### Auth
- [ ] Auth/authz checks present on relevant routes
- ⚠ Risk: [file:line — description]

### Verdict
CLEAN / NEEDS ATTENTION / BLOCKER

### Next Steps
- [Action items with file:line references]

Severity Quick Reference

Finding Severity Action
Hardcoded secret in committed file CRITICAL Rotate key + remove from history
Critical CVE in direct dependency HIGH Update package immediately
SQL injection risk CRITICAL Parameterize query before PR
Missing auth check on endpoint HIGH Add before PR
High CVE in transitive dependency MEDIUM Track in backlog
HTTP instead of HTTPS MEDIUM Enforce HTTPS redirect

See Also

  • @security-reviewer — comprehensive OWASP Top 10 security review
  • /review — full code review including security
  • /coding-standards — baseline code quality rules

04 同仓库更多 Skills