编程#安全扫描

security-audit:让智能体先证伪、再定级,把安全审计跑成闭环

Cloudflare 开源的安全审计 skill。智能体自查代码常把猜测当结论,它用六阶段流程要求每条发现先过源码证据和独立复核,适合代码库审计。

Skill 资料

安装命令
npx skills add cloudflare/security-audit-skill --skill security-audit

让智能体自查代码安全问题,收场常常是一份吓人的清单:缺了最佳实践被写成「漏洞」,猜出来的部署行为也算「发现」,追问证据就开始含糊。Cloudflare 把自家生产环境用来挖漏洞的一套纪律开源成了 Agent Skill——cloudflare/security-audit-skill(MIT,23,432 星,截至 2026-09-30),这份 security-audit 只立一条规矩:先过证据关,再谈定级。

它让智能体按什么顺序做事

security-audit 把一次完整审计排成六个阶段。侦察先摸清信任边界和攻击面,写成架构笔记和覆盖台账;狩猎按台账给互相隔离的 hunter 智能体分工,跑完由 critic 找出没人看的角落;每个候选交给全新的 verifier 智能体证伪,证不倒的才留下;裁定分 confirmed、needs_validation、rejected 三种写进 findings.json,过仓库自带的零依赖校验脚本;已确认记录再由新智能体独立复核,被改过的多核一遍;最后产出 REPORT.md、FINDINGS-DETAIL.md、NEEDS-VALIDATION.md 三份报告,不带线上探测指令。再跑同一仓库是叠加式的:上次结论要过源码比对和新一轮验证才沿用。

它严格约束什么

security-audit 的价值一半在流程,一半在红线。

  • 未证实不算发现:候选必须说清低信任方是谁、跨过哪条信任边界、影响哪个主体、后果是什么;缺最佳实践、猜部署行为、解析器崩溃这类一概不计入。
  • needs_validation 不给严重度:只有 confirmed 记录能定级;关键事实卡在仓库之外时,如实记下缺什么、怎么安全补验,不许顺手给个低分了事。
  • 加载不等于授权:skill 默认只是指导手册,日常提问只取相关章节;用户明确要求完整审计或报告时才跑六阶段、建输出目录,两可时先问一句。
  • 目标代码只在沙箱里跑:读源码只读;执行目标控制的构建或测试必须有断网、空白环境、只读目标加资源限额的 OS 级沙箱,全程假账号假密钥,不碰线上端点。
  • 没跑完不许宣称完整:覆盖台账和 findings.json 都要过校验脚本;跑不完只能标 incomplete 并写明原因,一次审计永不自称穷尽了目标。

适合谁

security-audit 适合维护不小代码库、想让 AI 认真做一轮安全审查的团队,红队批量复核历史发现也用得上;它和同站的 reverse-skill 互补:那边把任务路由到方法论和授权门,这边把代码审计跑穿。坑点说实话:它是指导文档加两个校验脚本,没有扫描器魔法;全流程按设计要动用十几个智能体、烧掉可观 token,SKILL.md 内置了按预算砍范围的规则;它只面向源代码审计,不碰线上服务——摸跑着的网站的底细可以看 Web-Check——也替代不了真人渗透测试;平台还得支持子智能体委派才能按原设计跑。