# Find Bugs

> 查找本地分支变更中的 bug、安全漏洞和代码质量问题。当被要求审查变更、查找 bug、安全审查或审计当前分支代码时使用。触发词：find bugs、查找bug、安全审查、代码审计、review changes、security review、audit code。

- Skill: `kscz0000/find-bugs` (Agent Skill)
- Install (CLI): `npx skillmds@latest add kscz0000/find-bugs`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kscz0000/find-bugs/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: kscz0000 (https://skillmd.com/u/kscz0000)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/kscz0000/find-bugs

---


# 查找 Bug

审查当前分支的变更，查找 bug、安全漏洞和代码质量问题。

## 何时使用

- 需要专注于 bug、安全问题或有风险代码变更的审查。
- 任务涉及审计当前分支差异，而非实现新行为。
- 需要针对变更文件进行清单驱动的结构化审查流程。

## 阶段 1：完成输入收集

1. 获取完整差异：`git diff $(gh repo view --json defaultBranchRef --jq '.defaultBranchRef.name')...HEAD`
2. 如果输出被截断，逐个读取每个变更文件，直到查看完每一行变更
3. 在继续之前列出此分支中修改的所有文件

## 阶段 2：攻击面映射

对于每个变更文件，识别并列出：

* 所有用户输入（请求参数、头部、正文、URL 组件）
* 所有数据库查询
* 所有认证/授权检查
* 所有会话/状态操作
* 所有外部调用
* 所有加密操作

## 阶段 3：安全检查清单（对每个文件的每项都要检查）

* [ ] **注入**：SQL、命令、模板、头部注入
* [ ] **XSS**：模板中的所有输出都正确转义了吗？
* [ ] **认证**：所有受保护操作都有认证检查吗？
* [ ] **授权/IDOR**：访问控制已验证，不只是认证？
* [ ] **CSRF**：状态变更操作有保护吗？
* [ ] **竞态条件**：读后写模式中存在 TOCTOU 吗？
* [ ] **会话**：固定攻击、过期、安全标志？
* [ ] **加密**：安全随机数、正确算法、日志中无密钥？
* [ ] **信息泄露**：错误消息、日志、时序攻击？
* [ ] **DoS**：无界操作、缺少速率限制、资源耗尽？
* [ ] **业务逻辑**：边界情况、状态机违规、数值溢出？

## 阶段 4：验证

对于每个潜在问题：

* 检查变更代码的其他位置是否已处理
* 搜索覆盖该场景的现有测试
* 阅读周围上下文以验证问题是否真实存在

## 阶段 5：结论前审计

在最终确定之前，必须：

1. 列出审查的每个文件并确认已完整阅读
2. 列出每个检查清单项，注明是否发现问题或确认干净
3. 列出任何无法完全验证的区域及原因
4. 然后才提供最终发现

## 输出格式

**优先级**：安全漏洞 > bug > 代码质量

**跳过**：风格/格式问题

对于每个问题：

* **文件:行号** - 简要描述
* **严重程度**：严重/高/中/低
* **问题**：哪里错了
* **证据**：为什么这是真实的（未修复、无现有测试等）
* **修复**：具体建议
* **参考**：OWASP、RFC 或其他适用标准

如果没有发现重要问题，直接说明——不要编造问题。

不要进行修改——只报告发现。我会决定处理什么。

## 局限性

- 仅当任务明确匹配上述范围时使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少必要的输入、权限、安全边界或成功标准，停下来请求澄清。

