首页龙虾技能列表 › Node Auto Debugger — Node.js 自动调试工具

Node Auto Debugger — Node.js 自动调试工具

v1.0.0

扫描 Node.js/Express/Next.js 项目中的 bug、安全问题和反模式。适用于调试 Node.js 网络应用、运行代码审计、修复客户端异常、水合错误、硬编码秘密、缺失错误处理或准备生产环境。

0· 245·0 当前·0 累计
by @jengajojo·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/9
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
安全
high confidence
该技能如其所述,作为本地静态/启发式扫描器用于 Node.js/Next.js 项目,但会读取项目文件并可以运行项目的构建脚本,在运行未信任代码时应谨慎使用。
评估建议
该工具在内部一致,似乎做了它所声称的,但会读取项目的源文件(包括 package.json 和任何明文秘密),在磁盘上产生报告,并如果使用 --build 选项,运行 npm run build 执行项目的构建脚本。仅在信任的项目上运行它,或者在扫描未信任代码时在隔离环境(容器/VM)内运行。分享生成的 AUTO-DEBUG-REPORT.md 之前,审查它是否包含任何标记的敏感数据。避免将很大或根路径(如 '/')作为 <project-dir> 传递,以防止扫描文件系统的意外部分。如果只想要静态检查,运行脚本时不带 --build 标志,并检查脚本源代码以确认行为。...
详细分析 ▾
用途与能力
名称/描述、SKILL.md 指令以及包含的 scripts/auto-debug.js 一致:该工具扫描项目文件以查找未定义变量、缺失错误处理、水合问题、硬编码秘密,并可以选择运行 npm run build。没有声明的环境变量或不相关的依赖项与声明的目的相矛盾。
指令范围
SKILL.md 和脚本保持在提供的项目目录范围内,验证源文件和 package.json,并(可选)运行构建。重要的操作行为:脚本递归读取项目文件(包括 package.json 和其他明文文件),使用正则表达式检测潜在秘密,并将写入报告文件(AUTO-DEBUG-REPORT.md)。当请求时,也会在项目目录中调用 npm run build。这些行为对于代码审计/构建检查工具是预期的,但敏感(可以暴露秘密并执行项目提供的构建脚本)。
安装机制
无安装规格 — 只有指令和捆绑的脚本。技能本身不执行远程下载或包安装。
凭证需求
技能未声明任何必需的环境变量或凭证。脚本不请求外部秘密;它读取提供的项目路径下的文件以查找硬编码的秘密和配置。该文件读取与扫描项目的声明目标成比例,但这意味着项目中的敏感数据可能会在生成的报告中暴露。
持久化与权限
技能未配置为 always: true,也不尝试修改其他技能或全局代理设置。它写入一个项目范围的报告文件(AUTO-DEBUG-REPORT.md),这是该工具的预期行为。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/16

初始发布:后端/前端/配置扫描,水合检查,构建验证

● 可疑

安装命令 点击复制

官方npx clawhub@latest install node-auto-debugger
镜像加速npx clawhub@latest install node-auto-debugger --registry https://cn.clawhub-mirror.com

技能文档

自动化扫描 Node.js 项目 — 找到后端、前端和配置中的 bug。

快速开始

node scripts/auto-debug.js 
选项:
  • --build — 也运行 npm run build 并捕获编译错误

它检查什么

后端 (Express/Fastify)

  • 未定义变量 — 在未声明变量上调用 .push()
  • 缺失 try/catch — 异步路由处理器没有错误处理
  • 硬编码秘密 — 源代码中的 API 密钥、私钥、密码

前端 (Next.js/React)

  • 缺失 'use client' — 没有指令的 hook 或浏览器 API
  • 水合风险 — 渲染中使用 Date.now()Math.random()(应在 useEffectuseState 中使用)
  • SSR 崩溃 — 在 useEffect 之外访问 window/document
  • 缺失加载状态 — wagmi hook 没有 isLoading/isFetching

配置

  • 缺失 next.config.js — 默认警告
  • 缺失构建脚本 — package.json 验证

输出

报告保存到 /AUTO-DEBUG-REPORT.md>,按严重程度分组问题:
  • 🔴 严重 — 将崩溃或泄露秘密
  • 🟠 高 — 可能的运行时错误
  • 🟡 中 — 水合不匹配、缺失加载状态
  • 🟢 低 — 次要问题
退出代码:如果发现任何严重问题,则为 1,否则为 0。

修复水合问题 (Next.js)

Date.now()/new Date() 在渲染中:
// ❌ 不好 — 导致水合不匹配
const now = Math.floor(Date.now() / 1000);
// ✅ 好 — 使用 isMounted 守卫
const [isMounted, setIsMounted] = useState(false);
useEffect(() => { setIsMounted(true); }, []);
const now = isMounted ? Math.floor(Date.now() / 1000) : 0;
Math.random() 在渲染中:
// ❌ 不好 — 服务器与客户端不同
${Math.random() 100}% }} /> // ✅ 好 — 使用 useState 预生成(仅运行一次) const [particles] = useState(() => Array.from({ length: 10 }, () => ({ left: ${Math.random() 100}%, })) );
window/document 访问:
// ❌ 不好 — SSR期间崩溃
const width = window.innerWidth;
// ✅ 好 — 仅在挂载后
const [width, setWidth] = useState(0);
useEffect(() => setWidth(window.innerWidth), []);

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务