| name | performing-security-testing |
| description | Test automate security vulnerability testing covering OWASP Top 10, SQL injection, XSS, CSRF, and authentication issues.
Use when performing security assessments, penetration tests, or vulnerability scans.
Trigger with phrases like "scan for vulnerabilities", "test security", or "run penetration test".
|
| allowed-tools | Read, Write, Edit, Grep, Glob, Bash(test:security-*) |
| version | 1.29.0 |
| author | Jeremy Longshore <jeremy@intentsolutions.io> |
| license | MIT |
| tags | ["testing","security","authentication"] |
| compatibility | Designed for Claude Code, also compatible with Codex and OpenClaw |
Security Test Scanner
Overview
Automate security vulnerability detection covering OWASP Top 10 categories including SQL injection, XSS, CSRF, broken authentication, and sensitive data exposure. Combines static analysis (source code scanning with Semgrep, Bandit, ESLint security plugins) with dynamic testing patterns (input fuzzing, header validation, authentication bypass checks).
Prerequisites
- Static analysis tools installed (Semgrep, ESLint with
eslint-plugin-security, Bandit for Python, or SpotBugs for Java)
- Application running in a test environment (never scan production without explicit authorization)
- Written authorization to perform security testing on the target system
npm audit, pip-audit, or trivy for dependency vulnerability scanning
- OWASP ZAP or Burp Suite for dynamic application security testing (optional)
Instructions
- Run dependency vulnerability scanning to identify known CVEs:
- Execute
npm audit --json or pip-audit --format json or trivy fs ..
- Parse results and flag critical/high severity vulnerabilities.
- Check if vulnerable dependencies have available patches.
- Perform static application security testing (SAST) on source code:
- Run Semgrep with OWASP rulesets:
semgrep --config=p/owasp-top-ten.
- Execute language-specific scanners (Bandit for Python, ESLint security for JS).
- Scan for hardcoded secrets using
gitleaks or trufflehog.
- Analyze code for injection vulnerabilities:
- Search for string concatenation in SQL queries (use Grep for patterns like
"SELECT.*" +).
- Identify unsanitized user input flowing into
innerHTML, eval(), or exec().
- Check for command injection via
child_process.exec() or os.system() with user input.
- Validate authentication and authorization:
- Verify password hashing uses bcrypt, scrypt, or Argon2 (not MD5/SHA1).
- Check JWT token validation includes expiration, issuer, and audience claims.
- Ensure authorization checks exist on every protected endpoint.
- Test for common web vulnerabilities:
- CSRF: Verify anti-CSRF tokens on state-changing endpoints.