Skip to main content
skill CX Codex

Next.js Security Scan — Claude Code skill: find vulns fast

A skill that scans Next.js and TypeScript/JavaScript projects for XSS, injection flaws, auth holes and hardcoded secrets. Useful before you ship.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add sugarforever/01coder-agent-skills --skill next.js-security-scan -a claude-code
npx skills add sugarforever/01coder-agent-skills --skill nextjs-security-scan -a claude-code
Open on GitHub

What Next.js Security Scan does

The skill walks a codebase through the OWASP Top 10:2025 checklist and adds Next.js-specific checks on top. It flags dangerous calls like dangerouslySetInnerHTML and eval, looks for Server Actions with no authentication, checks environment variable exposure and reads your next.config.js.

Three scan modes. Quick covers only the critical stuff: hardcoded secrets, dangerous functions, known-vulnerable dependencies. Full goes through every OWASP category, SQL/NoSQL/Command injection and cryptographic failures. Targeted runs one category at a time via --xss, --injection, --auth, --secrets, --deps or --nextjs. Dependency auditing runs through scripts/dependency-audit.sh, secret detection through scripts/secret-scanner.py, which needs Python. Real .env files are skipped by default; only .env.example and .env.template get analyzed. The --include-env-files flag overrides that, and if you ever need it, it is worth asking why secrets are sitting in the repo at all.

Findings come out in the shape set by assets/report-template.md: severity from CRITICAL down to INFO, file path with line number, the code snippet, the risk, and a fix. Output plugs into GitHub Security Advisories, SARIF for GitHub Code Scanning, or plain JSON.

What it helps with

  • catch hardcoded API keys and passwords in source files
  • check Server Actions for missing authentication
  • spot XSS through dangerouslySetInnerHTML and eval
  • audit dependencies against known CVEs
  • produce a SARIF report for CI code scanning

Example prompts for the agent

  • scan this project for vulnerabilities before we deploy
  • run a targeted scan with --secrets across the app folder
  • check app/actions.ts for Server Actions without auth checks

How to install Next.js Security Scan

1Skills CLI (Vercel)

npx skills add sugarforever/01coder-agent-skills --skill next.js-security-scan -a claude-code
npx skills add sugarforever/01coder-agent-skills --skill nextjs-security-scan -a claude-code

2Manually: put the files in place

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

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

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

Questions about Next.js Security Scan

How do I install Next.js Security Scan in Claude?

Run npx skills add sugarforever/01coder-agent-skills --skill nextjs-security-scan -a claude-code. The skill lands at ~/.claude/skills/nextjs-security-scan/SKILL.md.

What does Next.js Security Scan do?

It scans Next.js and TypeScript/JavaScript projects for XSS, injection, authentication flaws, hardcoded secrets and Next.js-specific issues. It also audits dependencies for known CVEs and writes a report with fixes.

What scan modes does it offer?

Three: quick for critical issues, full across all OWASP Top 10:2025 categories, and targeted with --xss, --injection, --auth, --secrets, --deps or --nextjs.

Source text

SKILL.md · MIT
---
name: "Next.js Security Scan"
description: "Comprehensive security vulnerability scanner for Next.js and TypeScript/JavaScript projects. Detects OWASP Top 10 vulnerabilities, XSS, injection flaws, authentication issues, hardcoded secrets, and Next.js-specific security problems. Audits dependencies for known CVEs and generates actionable security reports."
---

# Next.js Security Scan Skill

This skill enables comprehensive security scanning of Next.js and TypeScript/JavaScript projects based on OWASP guidelines and industry best practices.

## When to Use This Skill

- Security audits of Next.js applications
- Code review for security vulnerabilities
- Pre-deployment security checks
- Dependency vulnerability assessment
- Detecting hardcoded secrets and credentials

## Scan Types

### 1. Quick Scan
Fast scan focusing on critical vulnerabilities:
- Hardcoded secrets and API keys
- Dangerous function usage (`dangerouslySetInnerHTML`, `eval`)
- Missing authentication in Server Actions
- Known vulnerable dependencies

### 2. Full Scan
Comprehensive security assessment covering:
- All OWASP Top 10:2025 categories
- XSS vulnerability patterns
- Injection vulnerabilities (SQL, NoSQL, Command)
- Authentication and authorization flaws
- Security misconfigurations
- Cryptographic failures
- Next.js-specific vulnerabilities
- Dependency audit (CVE check)
- Environment variable exposure

### 3. Targeted Scan
Focus on specific vulnerability categories:
- `--xss` - Cross-site scripting patterns
- `--injection` - SQL/NoSQL/Command injection
- `--auth` - Authentication/authorization issues
- `--secrets` - Hardcoded credentials
- `--deps` - Dependency vulnerabilities
- `--nextjs` - Next.js specific issues

## Scan Procedure

### Step 1: Project Discovery
1. Identify project type (Next.js App Router, Pages Router, or plain React)
2. Locate configuration files (`next.config.js`, `package.json`, `.env*`)
3. Map the codebase structure

### Step 2: Dependency Audit
Run the dependency audit script:
```bash
./scripts/dependency-audit.sh
```
Or manually:
```bash
npm audit --json
# or
yarn audit --json
```

### Step 3: Secret Scanning
Scan for hardcoded secrets:
```bash
python scripts/secret-scanner.py /path/to/project
```

**Important: Environment File Handling**
- By default, real `.env` files are **SKIPPED** (`.env`, `.env.local`, `.env.production`, etc.)
- These files contain actual secrets and should not be in version control
- Only `.env.example` and `.env.template` files are analyzed for documentation quality
- Use `--include-env-files` flag only if explicitly requested by user

The scanner will:
1. Scan source code for hardcoded secrets
2. Analyze `.env.example` templates to check:
   - Which sensitive variables are documented
   - Whether variables have descriptions (comments)
   - If placeholder values look like real secrets
   - Suggestions for missing common variables

### Step 4: Pattern Analysis
For each file in the codebase, check against patterns in:
- `references/xss-patterns.md` - XSS vulnerabilities
- `references/injection-patterns.md` - Injection flaws
- `references/auth-vulnerabilities.md` - Auth issues
- `references/nextjs-specific.md` - Next.js vulnerabilities

### Step 5: Report Generation
Generate a security report using:
- `assets/report-template.md` - Report structure

## Severity Classification

| Severity | Description | Action Required |
|----------|-------------|-----------------|
| CRITICAL | Exploitable vulnerability with severe impact | Immediate fix required |
| HIGH | Significant security risk | Fix before deployment |
| MEDIUM | Potential security issue | Fix in next release |
| LOW | Minor security concern | Consider fixing |
| INFO | Security best practice suggestion | Optional improvement |

## Key Files to Scan

### Always Check
- `**/*.ts`, `**/*.tsx`, `**/*.js`, `**/*.jsx` - Source code
- `next.config.js`, `next.config.mjs` - Next.js configuration
- `package.json`, `package-lock.json` - Dependencies
- `middleware.ts`, `middleware.js` - Middleware security

### Environment Files
- `.env.example`, `.env.template` - **SCAN** for template analysis
- `.env`, `.env.local`, `.env.production` - **SKIP** by default (contain real secrets)

**Note:** Real `.env` files should never be committed to version control. The scanner analyzes `.env.example` templates to ensure proper documentation of required variables.

### High Priority Locations
- `app/api/**/*` - API routes (App Router)
- `pages/api/**/*` - API routes (Pages Router)
- `**/actions.ts`, `**/*-actions.ts` - Server Actions
- `lib/auth*`, `utils/auth*` - Authentication code
- `**/middleware.*` - Middleware files

## Output Format

Findings should be reported as:

```
[SEVERITY] Category: Description
  File: path/to/file.ts:lineNumber
  Code: <relevant code snippet>
  Risk: <explanation of the security risk>
  Fix: <recommended remediation>
```

## Integration with CI/CD

This skill can generate output compatible with:
- GitHub Security Advisories
- SARIF format for GitHub Code Scanning
- JSON for custom integrations

## References

Load additional context as needed:
- `references/owasp-top-10.md` - OWASP Top 10:2025 quick reference
- `references/xss-patterns.md` - XSS detection patterns
- `references/injection-patterns.md` - Injection vulnerability patterns
- `references/auth-vulnerabilities.md` - Authentication security patterns
- `references/nextjs-specific.md` - Next.js specific vulnerabilities and CVEs

© sugarforever · MIT · sugarforever/01coder-agent-skills

Similar skills

Everything for Security →

From the same set5

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