Skip to main content
skill CX Codex

security-scan · jwynia — Claude Code skill: vulnerability scanner for code

Scans a codebase for OWASP Top 10 flaws, hardcoded credentials and unsafe configs. Useful before a deploy or when reading unfamiliar code.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add jwynia/agent-skills --skill security-scan -a claude-code
Open on GitHub

What security-scan does

The skill runs as /security-scan and works in five phases: it identifies the project type, matches known vulnerability patterns, scans for secrets, parses dependency manifests, then writes a report. Findings carry severity from CRITICAL down to INFO, each with a file and line, the risk and a fix.

Three modes cover different needs. The default checks every category, --quick limits itself to critical and high issues, and --focus <category> narrows the run to injection, secrets, crypto, auth or config. Secrets detection uses regexes for AWS, GitHub and Stripe keys plus private key headers, with entropy checks for the rest.

Project settings go in .security-scan.yaml at the repo root: exclusion globs, a fail_on threshold and per-category toggles. Skip that file and the scan walks the whole tree, tests and mocks included, so the report fills with noise. Writing the exclude list first is the difference between a usable summary and a wall of low-severity entries.

What it helps with

  • catch SQL injection in string-concatenated queries before release
  • strip hardcoded AWS keys and tokens out of the repo
  • review unfamiliar code for XSS and command injection
  • flag MD5 password hashing and ECB mode encryption
  • produce a severity-ranked vulnerability report for the team

Example prompts for the agent

  • /security-scan
  • /security-scan --scope src/
  • /security-scan --quick

How to install security-scan

1Skills CLI (Vercel)

npx skills add jwynia/agent-skills --skill security-scan -a claude-code

2Manually: put the files in place

~/.claude/skills/security-scan/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/security-scan/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about security-scan

How do I install security-scan in Claude?

Run npx skills add jwynia/agent-skills --skill security-scan -a claude-code. The skill lands in ~/.claude/skills/security-scan/SKILL.md.

What does security-scan do?

It looks for OWASP Top 10 categories, hardcoded credentials, weak cryptography and insecure configuration. The report groups findings by severity and points to the file and line.

How is a quick scan different from a full one?

--quick checks critical and high issues only: injection patterns, exposed secrets, dangerous functions. The full scan adds dependency analysis, config review and the remaining OWASP categories.

Source text

SKILL.md · MIT
---
name: security-scan
description: Scan code for security vulnerabilities including OWASP Top 10, secrets, and misconfigurations. Use when you need comprehensive security analysis of a codebase.
license: MIT
metadata:
  author: jwynia
  version: "1.0"
  type: utility
  mode: evaluative
  domain: development
---

# Security Scan

Comprehensive security vulnerability detection for codebases.

## Quick Start

```
/security-scan                    # Full scan of current directory
/security-scan --scope src/       # Scan specific directory
/security-scan --quick            # Fast scan (critical issues only)
/security-scan --focus injection  # Focus on specific category
```

## What This Skill Does

Analyzes code for security vulnerabilities across multiple categories:

1. **OWASP Top 10** - Industry-standard web vulnerability categories
2. **Secrets Detection** - Hardcoded credentials, API keys, tokens
3. **Injection Flaws** - SQL, XSS, command injection patterns
4. **Cryptographic Issues** - Weak algorithms, insecure implementations
5. **Configuration Problems** - Insecure defaults, misconfigurations

## Scan Modes

### Full Scan (Default)
Comprehensive analysis of all security categories.

```
/security-scan
```

**Checks performed:**
- All OWASP Top 10 categories
- Secrets and credential detection
- Dependency vulnerabilities (if package files exist)
- Configuration file review

**Duration:** 2-5 minutes depending on codebase size

### Quick Scan
Fast check for critical and high-severity issues only.

```
/security-scan --quick
```

**Checks performed:**
- Critical injection patterns
- Exposed secrets
- Known dangerous functions

**Duration:** Under 1 minute

### Focused Scan
Target specific vulnerability category.

```
/security-scan --focus <category>
```

**Categories:**
- `injection` - SQL, XSS, command injection
- `secrets` - Credentials, API keys, tokens
- `crypto` - Cryptographic weaknesses
- `auth` - Authentication/authorization issues
- `config` - Configuration security

## Output Format

### Severity Levels

| Level | Icon | Meaning | Action Required |
|-------|------|---------|-----------------|
| CRITICAL | `[!]` | Exploitable vulnerability | Immediate fix |
| HIGH | `[H]` | Serious security risk | Fix before deploy |
| MEDIUM | `[M]` | Potential vulnerability | Plan to address |
| LOW | `[L]` | Minor issue or hardening | Consider fixing |
| INFO | `[i]` | Informational finding | Awareness only |

### Finding Format

```
[SEVERITY] CATEGORY: Brief description
  File: path/to/file.ext:line
  Pattern: What was detected
  Risk: Why this is dangerous
  Fix: How to remediate
```

### Summary Report

```
SECURITY SCAN RESULTS
=====================

Scope: src/
Files scanned: 127
Duration: 45 seconds

FINDINGS BY SEVERITY
  Critical: 2
  High: 5
  Medium: 12
  Low: 8

TOP ISSUES
1. [!] SQL Injection in src/api/users.ts:45
2. [!] Hardcoded AWS key in src/config.ts:12
3. [H] XSS vulnerability in src/components/Comment.tsx:89
...

Run `/security-scan --details` for full report.
```

## OWASP Top 10 Coverage

| # | Category | Detection Approach |
|---|----------|-------------------|
| A01 | Broken Access Control | Authorization pattern analysis |
| A02 | Cryptographic Failures | Weak crypto detection |
| A03 | Injection | Pattern matching + data flow |
| A04 | Insecure Design | Security control gaps |
| A05 | Security Misconfiguration | Config file analysis |
| A06 | Vulnerable Components | Dependency scanning |
| A07 | Auth Failures | Auth pattern review |
| A08 | Data Integrity Failures | Deserialization checks |
| A09 | Logging Failures | Audit log analysis |
| A10 | SSRF | Request pattern detection |

See `references/owasp/` for detailed detection rules per category.

## Detection Patterns

### Injection Detection

**SQL Injection:**
```
- String concatenation in queries
- Unsanitized user input in database calls
- Dynamic query construction
```

**Cross-Site Scripting (XSS):**
```
- innerHTML assignments with user data
- document.write() with dynamic content
- Unescaped template interpolation
```

**Command Injection:**
```
- exec(), system(), popen() with user input
- Shell command string construction
- Unsanitized subprocess arguments
```

See `references/patterns/` for language-specific patterns.

### Secrets Detection

**High-Confidence Patterns:**
```
AWS Access Key:     AKIA[0-9A-Z]{16}
AWS Secret Key:     [A-Za-z0-9/+=]{40}
GitHub Token:       gh[pousr]_[A-Za-z0-9]{36,}
Stripe Key:         sk_live_[A-Za-z0-9]{24,}
Private Key:        -----BEGIN (RSA |EC )?PRIVATE KEY-----
```

**Medium-Confidence Patterns:**
```
Generic API Key:    api[_-]?key.*[=:]\s*['"][a-zA-Z0-9]{16,}
Password in Code:   password\s*[=:]\s*['"][^'"]+['"]
Connection String:  (mysql|postgres|mongodb)://[^:]+:[^@]+@
```

### Cryptographic Weaknesses

**Weak Algorithms:**
```
- MD5 for password hashing
- SHA1 for security purposes
- DES/3DES encryption
- RC4 stream cipher
```

**Implementation Issues:**
```
- Hardcoded encryption keys
- Weak random number generation
- Missing salt in password hashing
- ECB mode encryption
```

## Integration with Other Skills

### With `/secrets-scan`
Focused deep-dive on credential detection:
```
/secrets-scan              # Dedicated secrets analysis
/secrets-scan --entropy    # High-entropy string detection
```

### With `/dependency-scan`
Package vulnerability analysis:
```
/dependency-scan           # Check all dependencies
/dependency-scan --fix     # Auto-fix where possible
```

### With `/config-scan`
Infrastructure and configuration review:
```
/config-scan               # All config files
/config-scan --docker      # Container security
/config-scan --iac         # Infrastructure as Code
```

## Scan Execution Protocol

### Phase 1: Discovery
```
1. Identify project type (languages, frameworks)
2. Locate relevant files (source, config, dependencies)
3. Determine applicable security rules
```

### Phase 2: Static Analysis
```
1. Pattern matching for known vulnerabilities
2. Data flow analysis for injection paths
3. Configuration review
```

### Phase 3: Secrets Scanning
```
1. High-confidence pattern matching
2. Entropy analysis for potential secrets
3. Git history check (optional)
```

### Phase 4: Dependency Analysis
```
1. Parse package manifests
2. Check against vulnerability databases
3. Identify outdated packages
```

### Phase 5: Reporting
```
1. Deduplicate findings
2. Assign severity scores
3. Generate actionable report
4. Provide remediation guidance
```

## Configuration

### Project-Level Config

Create `.security-scan.yaml` in project root:

```yaml
# Scan configuration
scan:
  exclude:
    - "node_modules/**"
    - "vendor/**"
    - "**/*.test.ts"
    - "**/__mocks__/**"

# Severity thresholds
thresholds:
  fail_on: critical    # critical, high, medium, low
  warn_on: medium

# Category toggles
categories:
  injection: true
  secrets: true
  crypto: true
  auth: true
  config: true
  dependencies: true

# Custom patterns
patterns:
  secrets:
    - name: "Internal API Key"
      pattern: "INTERNAL_[A-Z]{3}_KEY_[a-zA-Z0-9]{32}"
      severity: high
```

### Ignore Patterns

Create `.security-scan-ignore` for false positives:

```
# Ignore specific files
src/test/fixtures/mock-credentials.ts

# Ignore specific lines (use inline comment)
# security-scan-ignore: test fixture
const mockApiKey = "sk_test_fake123";
```

## Command Reference

| Command | Description |
|---------|-------------|
| `/security-scan` | Full security scan |
| `/security-scan --quick` | Critical issues only |
| `/security-scan --scope <path>` | Scan specific path |
| `/security-scan --focus <cat>` | Single category |
| `/security-scan --details` | Verbose output |
| `/security-scan --json` | JSON output |
| `/security-scan --fix` | Auto-fix where possible |

## Related Skills

- `/secrets-scan` - Deep secrets detection
- `/dependency-scan` - Package vulnerability analysis
- `/config-scan` - Configuration security review
- `/review-code` - General code review (includes security)

## References

- `references/owasp/` - OWASP Top 10 detection details
- `references/patterns/` - Language-specific vulnerability patterns
- `references/remediation/` - Fix guidance by vulnerability type
- `assets/severity-matrix.md` - Severity scoring criteria

© jwynia · MIT · jwynia/agent-skills

Similar skills

Everything for Security →

security-scan by other authors comes first.

security-scan affaan-m Scans the .claude/ directory for leaked secrets, loose permissions and hook injection risks. Useful right after you edit settings.json or add an MCP server. CX Codex +1 4,700installs security-scan ruvnet Scans a repo at three depths: dependency audit, hard-coded secrets, risky code patterns. Useful before a release or while reviewing a PR. CX Codex +1 748installs security-scan official OpenAI Runs a single-pass security audit on a repository or selected path. Use it for a general review when there is no diff to inspect. CX Codex GP ChatGPT 39installs Next.js Security Scan sugarforever A skill that scans Next.js and TypeScript/JavaScript projects for XSS, injection flaws, auth holes and hardcoded secrets. Useful before you ship. CX Codex +1 553installs secrets-scan OWASP Scans source and config files for hardcoded credentials, API keys and tokens, whether you are reviewing before a merge or auditing a repo. CX Codex +1 337installs security boshu2 This skill reviews code, dependencies, secrets, and prompt surfaces for security risks. Use it for a pre-release review or a repository scan. CX Codex +1 1,400installs security-auditor zhaono1 A skill that hunts vulnerabilities in your code: walks the OWASP Top 10, checks configs, dependencies and leaked secrets. Useful before a release or a review. CX Codex +1 1,000installs Python Security Scan sugarforever Scans Python, Flask, Django, and FastAPI projects for OWASP Top 10 flaws, hardcoded credentials, and vulnerable packages. Useful for pre-deployment audits and security reviews. CX Codex +1 540installs ghost-scan-code ghostsecurity Finds security flaws in source code: SQL injection, XSS, SSRF and other OWASP categories. Plans the scans first, then runs them per project. CX Codex +1 5,200installs

From the same set77

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor