catalog/repos/abczsl520--bug-audit-skill.md

88 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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