SuperAPI AI 工具集

tm-quick-security-assessment

安全与审计

查看项目

更新于 10-16 05:40

技能介绍

TM Security Assessment(快速级)

快速且限定变更范围。该级别不会重新对整套系统建模,也不会在整个仓库中搜寻问题,而是将范围限定到某个 git 工作树/分支,相对基线做差异对比,只评估发生变化的攻击面——快到足以在每次合并前于每个分支上运行。它保持威胁模型感知:如果已有现成模型会用它排定优先级,但不会构建完整模型。

两个级别,按需选择:

本技能(quick)——分支/工作树的差异检查;耗时以分钟计;捕捉变更内容中的回归和明显缺陷。

tm-security-review(comprehensive)——以完整威胁模型为输入 + 全仓库的深度零日搜寻,并为每个发现提供 PoC。当本次检查标记出设计层面风险,或变更触及信任边界时,应升级到该级别。

它组合两个同级技能,并限定在差异范围:

security-assessment(../security-assessment/SKILL.md)——OWASP Top 10 检查,仅在变更文件上运行。

0day-scanner(../0day-scanner/SKILL.md)的轻量模式——它本身就是为 commit/PR/分支/差异分析构建的;用分支或差异驱动它。

何时使用

“对这个分支/工作树做快速安全评估”、“合并前安全检查”、“扫描差异”

快速、低成本、限定变更范围——不是完整审计

输入(需询问;若用户不在,采用默认值并标注 [ASSUMPTION])

工作树/分支:要评估的分支或工作树路径。默认:当前工作树检出的分支。

基线:相对什么做差异。默认:仓库默认分支(main/master),否则取该分支的 merge-base。

已有威胁模型?可选。若有 *-threat-model.md 可用,使用其信任边界来排定优先级;此处不新建模型(那是 review 的职责)。

部署/信任上下文(决定严重程度):自托管 vs 托管多租户;攻击者 vs 操作者。

阶段 0——确定范围(工作树/分支差异)

解析目标分支与基线。若该分支未检出,创建一个临时工作树: git worktree add <tmp> <branch>(完成后移除)。

计算变更集:git diff --name-only <base>...<branch>(三点表示分支自分叉以来的变更)。记录新增/修改文件,以及任何新的入口点、路由、依赖或 IaC。

映射变更面:| 变更文件 | 新增/变更的入口点或 sink | 是否触及信任边界?|。若提供了已有威胁模型,则从中获取信任边界;否则从变更文件快速推断(新的 HTTP handler、新的子进程/exec、新的查询、新的反序列化、新的外部抓取)。

阶段 1——对增量做快速评估

仅在变更文件上运行组合引擎:

在差异/分支上运行 0day-scanner 轻量模式(针对注入、密钥、不安全 exec、弱加密等的快速 LLM 检查)。

security-assessment 的 OWASP Top 10 检查,范围限定在变更文件(若变更触及 AI/MCP 面,附加 OWASP-LLM)。

呈现一张表:

| ID | Vulnerability | File | Line | Severity | OWASP |

以 [[path:line]] 引用证据。

信任方向门禁(请勿跳过)

在任何发现保持 HIGH 之前:来源是否确实比它所到达的 sink 信任级别更低?

操作者提供的 CLI 标志/配置/环境变量/classpath 上的 JAR = 操作者在自己的系统上操作 → 非攻击者可控。应降级或否定,并记录原因。

只有当更低信任方控制来源(外部 HTTP 内容、摄入的第三方元数据、匿名请求、其他租户)时才危险。

阶段 2——结论 + 升级

合并结论:PASS / PASS-WITH-NOTES / BLOCK,并附原因。

逐项发现:严重程度、[[path:line]]、一行修复建议。

升级标记:若变更触及信任边界或存在设计层面风险(例如 LLM/MCP 面、认证路径、新的 exec/查询 sink),建议后续执行 tm-security-review——本次快速检查不证明利用链,也不构建完整模型。

交付物

快速检查时,直接在聊天中汇报即可。若需持久记录,保存到 ~/security-reviews/<branch>-quick-assessment.md(位于被审查仓库之外;绝不修改源码)。 始终移除你创建的临时 git 工作树。