关于 Next.js Security Scan
Next.js Security Scan 是面向 Next.js、TypeScript 和 JavaScript 项目的安全审查技能,适用于代码审查和部署前检查。它提供快速、全面及定向扫描,并生成可用于安全报告的结果。
主要功能
- 01快速、全面和定向扫描
- 02检测硬编码密钥与危险代码
- 03检查身份验证和注入问题
- 04审计依赖项及 CVE
- 05分析 Next.js 特有风险
- 06生成 SARIF、JSON 等报告
适用场景
- 01审查 Next.js 应用的安全漏洞
- 02部署前检查认证与配置风险
- 03排查依赖项漏洞和硬编码密钥
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sugarforever/ 01coder-agent-skills --skill next.js-security-scan安装后在 Claude Code 中输入/next.js-security-scan确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/report-template.mdreferences/auth-vulnerabilities.mdinjection-patterns.mdnextjs-specific.mdowasp-top-10.mdxss-patterns.mdscripts/dependency-audit.shpattern-scanner.pysecret-scanner.py详细介绍
Next.js 安全扫描技能
此技能基于 OWASP 指南和行业最佳实践,对 Next.js 和 TypeScript/JavaScript 项目进行全面的安全扫描。
何时使用此技能
- 对 Next.js 应用进行安全审计
- 安全漏洞代码审查
- 部署前安全检查
- 依赖漏洞评估
- 检测硬编码的密钥和凭据
扫描类型
1. 快速扫描
快速扫描,重点检查严重漏洞:
- 硬编码的密钥和 API 密钥
- 危险函数的使用(
dangerouslySetInnerHTML、eval) - Server Actions 中缺少身份验证
- 已知存在漏洞的依赖
2. 完整扫描
全面的安全评估,涵盖:
- 所有 OWASP Top 10:2025 类别
- XSS 漏洞模式
- 注入漏洞(SQL、NoSQL、命令)
- 身份验证和授权缺陷
- 安全配置错误
- 加密失效
- Next.js 特有漏洞
- 依赖项审计(CVE 检查)
- 环境变量泄露
3. 定向扫描
针对特定漏洞类别进行检查:
--xss- 跨站脚本攻击模式--injection- SQL/NoSQL/命令注入--auth- 身份验证/授权问题--secrets- 硬编码凭据--deps- 依赖漏洞--nextjs- Next.js 特有问题
扫描流程
步骤 1:项目发现
- 确定项目类型(Next.js App Router、Pages Router 或纯 React)
- 查找配置文件(
next.config.js、package.json、.env*) - 梳理代码库结构
步骤 2:依赖项审计
运行依赖项审计脚本:
./scripts/dependency-audit.sh
或手动运行:
npm audit --json
# or
yarn audit --json
步骤 3:密钥扫描
扫描硬编码的密钥:
python scripts/secret-scanner.py /path/to/project
重要:环境文件处理
- 默认情况下,真实的
.env文件会被跳过(.env、.env.local、.env.production等) - 这些文件包含实际密钥,不应纳入版本控制
- 仅分析
.env.example和.env.template文件的文档质量 - 只有在用户明确要求时才使用
--include-env-files标志
扫描器将:
- 扫描源代码中的硬编码密钥
- 分析
.env.example模板,检查:- 记录了哪些敏感变量
- 变量是否附有说明(注释)
- 占位值是否看起来像真实密钥
- 对缺少的常见变量提出建议
步骤 4:模式分析
检查代码库中的每个文件,对照以下模式:
references/xss-patterns.md- XSS 漏洞references/injection-patterns.md- 注入缺陷references/auth-vulnerabilities.md- 身份验证问题references/nextjs-specific.md- Next.js 漏洞
步骤 5:生成报告
使用以下文件生成安全报告:
assets/report-template.md- 报告结构
严重性分类
| 严重性 | 描述 | 所需操作 |
|---|---|---|
| CRITICAL | 可被利用且影响严重的漏洞 | 需要立即修复 |
| HIGH | 重大安全风险 | 部署前修复 |
| MEDIUM | 潜在安全问题 | 在下一个版本中修复 |
| LOW | 轻微安全隐患 | 考虑修复 |
| INFO | 安全最佳实践建议 | 可选择改进 |
需要扫描的关键文件
始终检查
**/*.ts、**/*.tsx、**/*.js、**/*.jsx- 源代码next.config.js、next.config.mjs- Next.js 配置package.json、package-lock.json- 依赖项middleware.ts、middleware.js- 中间件安全性
环境文件
.env.example、.env.template- 扫描,用于模板分析.env、.env.local、.env.production- 默认跳过(包含真实密钥)
注意: 真实的 .env 文件绝不应提交到版本控制。扫描器会分析 .env.example 模板,以确保所需变量得到妥善说明。
高优先级位置
app/api/**/*- API 路由(App Router)pages/api/**/*- API 路由(Pages Router)**/actions.ts、**/*-actions.ts- Server Actionslib/auth*、utils/auth*- 身份验证代码**/middleware.*- 中间件文件
输出格式
应按以下格式报告发现:
[SEVERITY] Category: Description
File: path/to/file.ts:lineNumber
Code: <relevant code snippet>
Risk: <explanation of the security risk>
Fix: <recommended remediation>
与 CI/CD 集成
此技能可生成兼容以下格式的输出:
- GitHub Security Advisories
- 用于 GitHub Code Scanning 的 SARIF 格式
- 用于自定义集成的 JSON
参考资料
根据需要加载更多上下文:
references/owasp-top-10.md- OWASP Top 10:2025 快速参考references/xss-patterns.md- XSS 检测模式references/injection-patterns.md- 注入漏洞模式references/auth-vulnerabilities.md- 身份验证安全模式references/nextjs-specific.md- Next.js 特定漏洞和 CVE
评论
支持 Markdown