4.2 KiB
4.2 KiB
项目专项Bug审计
Bug审计 代码审查 安全测试 AI开发 质量保障
🔍 Bug 审计技能
不要执行检查清单。先解剖项目,再对每个实体进行全面验证。
源于一次深刻教训:某项目使用通用检查清单历经 21 轮才找到 172 个 Bug。事后复盘发现,如果先构建项目专属检查矩阵,大多数 Bug 在 3-4 轮内就能发现。
检查清单的问题
通用检查清单只能捕捉"已知模式"类 Bug(CORS、XSS、时区问题)。但大多数关键 Bug 是项目特有的逻辑漏洞:
buy接口接受cost=0→ 免费购买(任何清单都没有这条)raid-result可在未调用buy的情况下直接触发 → 无限刷金漏洞- 搜索完成不校验距离 → 远程掠夺
这些 Bug 藏在 API 之间的关系中,而非某个独立的代码模式里。
解决方案:解剖 → 验证 → 补充
阶段一:解剖 — 阅读代码,构建 6 张项目专属表格(10-15 分钟)
阶段二:验证 — 逐行检查每张表格的每一条记录
阶段三:补充 — 运行通用模块作为安全兜底
阶段四:回归 — 检查修复是否引入新 Bug
阶段五:归档 — 记录本次审计的踩坑经验
六张核心表格
| 表格 | 提取内容 | 核心问题 |
|---|---|---|
| API 端点 | 每条路由:方法、路径、鉴权、参数 | 能否绕过?传入异常值会怎样? |
| 状态机 | 每个状态变量:写入者、读取者、生命周期 | 是否跨生命周期泄漏? |
| 定时器 | 每个 setTimeout/setInterval | 清理后是否仍会触发? |
| 数值参数 | 每个用户可影响的数值 | 传入 0、负数、超大值会怎样? |
| 数据流 | 每对关联 API(如 buy→use) | 能否跳过第一步直接调用第二步? |
| 资源账本 | 每种资源:所有流入、所有流出 | 是否存在无限循环? |
数据流表格是最关键的。 最严重的 Bug(绕过购买、缺失突袭令牌)就藏在 API 之间的调用链里。
安装
clawhub install bug-audit
或手动安装:
git clone https://github.com/abczsl520/bug-audit-skill.git ~/.openclaw/skills/bug-audit
然后说:"对这个项目执行bug排查" 或 "audit this project for bugs"
文件说明
| 文件 | 内容 |
|---|---|
SKILL.md |
核心方法论:6 张表格 + 5 个阶段 |
references/modules.md |
阶段三使用的 9 个通用审计模块 |
references/pitfalls.md |
200+ 真实踩坑案例 + 调试技巧 |
文档
完整文档见 Wiki:
🔗 AI 开发质量套件
| 技能 | 用途 | 安装命令 |
|---|---|---|
| bug-audit(本项目) | 动态 Bug 挖掘,200+ 踩坑模式 | clawhub install bug-audit |
| codex-review | 三级代码审查:快速扫描 → 深度审计 → 对抗性测试 | clawhub install codex-review |
| debug-methodology | 根因调试,防止补丁链式反应 | clawhub install debug-methodology |
| nodejs-project-arch | AI 友好架构,节省 70-93% Token | clawhub install nodejs-project-arch |
| game-quality-gates | 12 项通用游戏开发质量检查 | clawhub install game-quality-gates |
许可证
MIT