[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f10dig4ithm9yi":3},{"code":4,"message":5,"data":6,"timestamp":34},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":22,"summary_md":23,"topic":24,"github_topics":27,"license":28,"homepage":29,"updated_at":30,"history":31},"cloudflare\u002Fsecurity-audit-skill",1,"A coding-agent skill for multi-phase security audits with independently verified, machine-readable findings","JavaScript",43724,2729,2271,128,[16],{"id":17,"title":18,"points":19,"comments":20,"posted_at":21},49736466,"Cloudflare\u002FSecurity-Audit-Skill",213,38,"2026-09-17","把编码 Agent 变成分阶段安全审计流程，产出经独立复核、机器可读的漏洞结论。","## 解决什么问题\n\n让编码 Agent 去找漏洞，通常得到的是一堆听起来很像但没经过追踪的猜测，而且无法区分哪些是真正验证过的、哪些只是模型觉得可疑，也没有记录哪些地方查过且干净。对安全审计来说这比没用更糟：误报浪费排查时间，漏报则制造虚假的安全感。这个 skill 的做法是给 Agent 套上固定流程：先绘制攻击面，再按覆盖清单逐项猎捕，最后交给全新的 Agent 去反驳每一条候选，只有经得起反驳的才标为 confirmed。\n\n## 有什么不同\n\n常见的 AI 代码审计是一次性、单模型、自由文本输出。这个项目的差异在流程层面：审计从一份记录在案的 coverage ledger 出发，而不是从模型偶然注意到的地方出发；验证者永远不是发现者；结论被限定为 confirmed、needs_validation、rejected 三档，并用 JSON schema 加零依赖校验脚本在生成报告前做硬性检查。多次运行是累加的，第二次审计会针对第一次的覆盖缺口，而不是从头再来。README 里有个值得注意的自我描述：单次运行大约只能找到多次运行总计的一半漏洞。\n\n## 适合谁\n\n适合对自己拥有或有授权测试的代码库做安全审计的安全工程师和开发者，特别是输入面较多、靠“让 Agent 看一眼”不足以为凭的中大型仓库。想自建漏洞发现流水线的团队也可以拿它当起点。不适合想找自动化扫描器去打第三方目标的人，不适合无法提供沙箱构建环境的情况，也不适合只想对一个小脚本做几分钟快速审查的人。\n\n## 上手成本\n\n真正的门槛不是校验脚本需要的 Node.js，而是一个由操作系统强制的沙箱：断网、干净且白名单化的环境变量、资源限额、只允许写入临时目录。缺少这些条件，流程会主动把结论压在 needs_validation 而不是执行目标代码，可用性会大打折扣。同时你需要一个支持工具调用和并行子 Agent 的编码 Agent，因为隔离猎捕与验证的设计依赖于此。每次审计会拉起大量子 Agent，token 和时间开销都不低。README 在流程和文件结构上写得很细，但没有给出准确率基准，效果说法属于作者自述。MIT 协议。\n\n## 点评\n\n数据本身值得警惕：一个 128 天的新仓库拿到 43k star、周榜第一，更像是短期爆发的曲线而不是长期积累的口碑；该项目只在每日榜出现过一次。这不代表内容不好，但说明它的流行度还不足以作为实战准确性的证据。真正有意思的是方法论：覆盖清单、独立复核、没有确证的边界失败就不下结论，这些正是 AI 辅助安全工作应有的直觉。能搭起沙箱、并且想要一套可复现流程的团队可以采用；需要实测数据而不是漂亮流程的人则应观望。",{"slug":25,"name":26},"security","安全",[],"MIT",null,"2026-10-24T14:10:48Z",[32],{"date":33,"stars":11,"stars_gained":13},"2026-10-24",1792864218]