SuperAPI AI 工具集

blast-radius

编程与开发

查看项目

更新于 10-28 16:12

技能介绍

blast-radius 是一个面向代码变更的影响面分析技能,定位是回答“这个改动会在别处弄坏什么”,适用于“X 的影响范围”“这可能会破坏什么”这类问题,以及审查一个自己还不放心的小 diff。它与 how、why 两个技能互为补充:how 说明代码做什么,why 说明代码为何长成这样,blast-radius 则找出它会在别处破坏什么。

主要能力

  • 不只做符号级调用者列举,而是寻找 grep 无法暴露的破坏点。
  • 要求分析者找出整个安全性结论所依赖的一两条关键事实,并通过运行真实代码来证明,而不是交回一份“听起来合理”的报告。
  • 对每条关键事实给出证据等级:仅陈述、指向真实 file:line 或库源码、逐步论证坏情况不会发生、实际运行脚本或测试、在运行中的应用里复现,并说明证据停在哪一级。
  • 检查 grep 覆盖不到的区域:所调用库的源码、锁定版本与本地补丁;微任务、卸载与清理时序;Solid 与 React 等框架差异;API 返回的 JSON、数据库列、线格式、其他语言读取同一字节、特性开关以及下游多跳代码。
  • 对每个风险给出发生概率与代价评估,区分已确认风险与已检查并排除项。
  • 对大型或广泛变更,可以以“竞技场”方式让多个模型回答同一问题再合并结果,以捕捉不同模型发现的不同真实 bug。

使用方式

  1. 阅读变更:diff、新增/修改/删除的符号,以及它现在行为上有何不同,包括 diff 未明说的部分。
  2. 找出安全性所依赖的那一条事实,例如“这个调用只会丢弃已死的缓存条目,不产生其他影响”;若该事实成立,多数风险场景即可一次排除。
  3. 查看 grep 停止之处,阅读被调用库源码并核对版本与补丁,理清执行时序,追踪符号搜索遗漏的路径。
  4. 如实评估每个风险的概率与代价,保留确认的风险,单独列出已检查排除项,引用真实 file:line;搜索无结果本身也是答案,不得编造调用方或 API。
  5. 编写并运行调用真实代码的脚本或测试,粘贴实际运行结果作为证明。
  6. 对大范围变更可让多个模型并行作答并合并。

交付内容 包括变更做什么(含不明显部分)、安全性所依赖的那条事实及其证据等级与证明(无法证明则标注 unproven)、风险清单(如何破坏、file:line、可能性与严重程度、如何检查)、已排除项及原因,以及合并前成本最低的测试或复现。最终回复即为上述分析报告,其中安全事实须已证明或明确标注未证明。

适用场景 适合在代码合入前审查小 diff、评估一处改动对下游模块或接口的潜在影响,以及需要以可执行证据支撑安全性判断的代码评审。

限制 该资料未提供独立的安装命令、运行命令、收费模式或平台支持信息,暂未提供。使用该技能需要能访问代码库、依赖源码,并具备运行脚本或测试的环境;若无法运行代码,相关事实只能停留在较低证据等级并标注为未证明。