Thermo Nuclear Review 是一个用于对已检出分支执行全面安全与正确性审计的技能(Skill)。其核心用途是审查分支及其变更,极其彻底地查找缺陷、破坏既有功能/特性的改动以及安全漏洞,强调严谨、细致、不遗漏任何问题。
适用范围
该技能仅报告与本次 PR 中新增或修改的代码相关的问题,聚焦于 diff 中的变更,不报告未被修改的既有代码中的漏洞。
主要审查方向
技能内置了多项审查指南:
- 破坏功能(Breaking Functionality):由于代码库复杂、跨包/模块依赖众多,单点简单改动可能在其他位置产生微妙的副作用。需要极其彻底地追踪变更可能引发的连锁影响。
- 破坏开发者体验(Breaking Devex):需捕捉会影响开发者本地运行/构建代码能力的改动,示例包括修改密钥的读取方式或来源、更新环境变量名或新增环境变量、重映射端口/网络、新增某些功能必须运行的脚本等。广义上指会改变开发者当前运行/构建代码方式的改动,但不包括引入新的替代运行/构建方式的改动;通过包管理器新增依赖也不视为破坏开发者体验,除非它要求用户执行非常规的全新操作(如手动从网站或应用商店安装软件)。
- 功能泄漏(Feature Leak):代码库可能将某些功能谨慎地置于功能开关或内部检查之后,必须确保任何本应被门控的功能不会泄漏,此类泄漏往往较为隐蔽。
- 有意破坏(Intended Breakage):如果发现高风险问题,但该问题正是分支有意引入的(例如故意破坏某功能、移除功能开关、移除保护措施),且变更范围约束良好,则不应浪费作者时间上报;但如果认为作者可能未意识到变更的全部影响、低估了负面影响(极端例子:开发者提交标题为“删除数据库”的 PR),或怀疑变更有恶意,则仍应报告。
- 过度报告(Over-reporting):错误地将非高优先级问题报告为高优先级会令开发者失去信任。必须绝不误报问题的优先级/重要性,并在报告前进行端到端追踪以建立完整、完全的信心。
最终响应流程
如果存在中高优先级/风险问题,且该分支有对应的 PR,则使用 gh/glab cli 检查 PR/MR 讨论,查看是否有 BugBot 或其他人的评论。若有,则将其发现纳入考量:若他们发现了你遗漏的问题,评估其有效性并纳入报告;若发现相同问题,查看是否有值得吸收的内容。报告中需标注由 BugBot 或他人在 PR/MR 讨论中发现并采纳的问题。
关键规则
- 绝不呈现研究未完成的问题。例如,如果能访问后端代码自行核实,就绝不说“客户端有问题 X,但如果在后端处理就没问题”之类的话。
- 必须在完成审计之后,再检查 PR/MR 讨论,以便审查时保持新鲜视角。
- 必须极其彻底、严谨、仔细、进取且专注,不让任何问题漏过。
使用方式
将 checked-out 分支作为审查对象,技能以安全专家角色的提示词(Prompt)驱动审查流程,输出针对该分支变更的审查报告。具体安装或调用命令在提供的资料中暂未提供。