mcpField
N
Next.js Security Scan

Next.js Security Scan

github.com/sugarforever安全139555 次安装1 周前更新
代码仓库

关于 Next.js Security Scan

Next.js Security Scan 是面向 Next.js、TypeScript 和 JavaScript 项目的安全审查技能,适用于代码审查和部署前检查。它提供快速、全面及定向扫描,并生成可用于安全报告的结果。

主要功能

  1. 01快速、全面和定向扫描
  2. 02检测硬编码密钥与危险代码
  3. 03检查身份验证和注入问题
  4. 04审计依赖项及 CVE
  5. 05分析 Next.js 特有风险
  6. 06生成 SARIF、JSON 等报告

适用场景

  1. 01审查 Next.js 应用的安全漏洞
  2. 02部署前检查认证与配置风险
  3. 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.md
references/
auth-vulnerabilities.md
injection-patterns.md
nextjs-specific.md
owasp-top-10.md
xss-patterns.md
scripts/
dependency-audit.sh
pattern-scanner.py
secret-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:项目发现
  1. 确定项目类型(Next.js App Router、Pages Router 或纯 React)
  2. 查找配置文件(next.config.js、package.json、.env*)
  3. 梳理代码库结构
步骤 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 标志

扫描器将:

  1. 扫描源代码中的硬编码密钥
  2. 分析 .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 Actions
  • lib/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