FEATURED · 精选文章

security-audit-skill 的 attempts 归档机制:如何重开单元而不破坏历史证据(完整指南)

发布时间 / 2026/9/20 14:46:43
来源 / 创域科博编辑部
栏目 / 资讯中心
security-audit-skill 的 attempts 归档机制:如何重开单元而不破坏历史证据(完整指南) security-audit-skill 的 attempts 归档机制如何重开单元而不破坏历史证据完整指南【免费下载链接】security-audit-skillA coding-agent skill for multi-phase security audits with independently verified, machine-readable findings项目地址: https://gitcode.com/GitHub_Trending/se/security-audit-skillsecurity-audit-skill 是一个把编码智能体变成安全审计员的开源技能它通过六阶段流水线侦察、覆盖账本驱动的狩猎、候选验证、结构化输出、独立记录验证、中立报告输出机器可读、可独立复核的审计结果。它的attempts 归档机制专门解决新手最容易踩的坑当覆盖评审员coverage critic要求重开一个已终结的审计单元时如何把上一轮证据完整封存既不丢失历史证据也不污染新一轮检查。本文完整拆解这套 append-only 归档的设计思路与硬性约束。为什么需要 attempts 归档️在这套安全审计技能里覆盖账本coverage-ledger.json就是覆盖证据本身每个单元对应入口面 × 信任边界 × 子系统 × 攻击类别的一个组合由独立的 hunter 智能体认领并留下reviewed_paths、local_checks等可核对的证据。一轮狩猎结束后覆盖评审员会检查有没有单元没路径/没检查就被关闭、有没有漏掉的并行路径……如果它认为某个已终结的单元blocked、covered或candidate证据不足就会在reassign_ids里点名重开。问题就来了直接清空单元重查 → 历史证据丢失审计链断裂新旧证据混在一起 → 新一轮结论无法独立验证。attempts就是为此设计的只追加append-only归档区定义见 RECONNAISSANCE.md。重开单元的 5 步标准动作按官方定义重开一个单元必须严格执行整条封存把上一轮单元的wave、status、agent_id、reviewed_paths、local_checks、result_fingerprints、unresolved原样追加进attempts记录原因附上评审员基于源码给出的reassignment_reason重开必须有依据递增 wave活单元wave加一归档条目的 wave 必须严格递增且小于当前 wave换新鲜主人新一轮必须使用全新的agent_id小写规范 ID从空的活证据重新开始档案只读永远不要把归档中旧主人的 checks 或 artifacts 复制进活状态——档案保持不动后续活状态的终结只包含新一次尝试的证据。 特殊情况如果运行画像quick或预算不允许再派人同样先归档然后递增wave把活状态设为deferredowner 为 null、证据为空并记录停止原因——绝不把部分证据藏进deferred。一次归档后重开的单元长这样字段节选{ attempts: [ { wave: 1, status: blocked, agent_id: hunter-1, reviewed_paths: [src/router.ts], local_checks: [ 该轮完整的检查记录 ], result_fingerprints: [], unresolved: [部署策略在源码中不可见], reassignment_reason: 评审员发现一条未检查的并行路径 } ], wave: 2, status: in_progress, agent_id: hunter-2 }哪些状态可以归档规则约束可归档状态仅blocked、covered、candidate三种带证据的终结状态wave 递增归档条目 wave 严格递增且必须小于当前活单元的 wave主人新鲜每次尝试的agent_id必须不同重开后当前主人不得复用旧 ID证据不串门旧主人的 checks、artifacts 禁止出现在新尝试或活状态中不变量同权归档条目执行与活单元同一套状态-证据状态表容量上限attempts最多 1000 条超出即校验失败校验器如何守住历史证据 每次账本更新后父代理都会运行零依赖校验器 validate-coverage-ledger.cjs其中validateAttempts函数逐条审查归档记录典型报错包括缺字段8 个字段wave/status/agent_id/reviewed_paths/local_checks/result_fingerprints/unresolved/reassignment_reason缺一不可wave 倒序archived attempt waves must be strictly increasing主人复用assignment owner must be fresh for each attempt、current assignment owner must be fresh after reassignment证据混用artifact from an archived attempt cannot be reused。配套测试在 validate-coverage-ledger.test.cjs 中用 archives prior evidence when a critic assigns a fresh owner、rejects reassignment owner reuse and evidence mixing 等用例演示了合法归档与各种违规形态是理解这套机制最好的活文档。新手常见错误排查清单 校验报错原因修复方法missing required field归档时漏抄了某个字段按整条封存原则补齐 8 个字段waves must be strictly increasing两次归档使用了相同 wave为每次尝试分配不同且递增的 waveowner must be fresh重开后沿用了原 hunter指派全新的agent_id重新认领artifact … cannot be reused新一轮复用了旧 artifacts 文件新证据必须由新主人重新产出快速上手技能文档入口在 SKILL.md其中Coverage and prior runs章节L77-L90说明了多轮审计如何复用历史账本重开单元的触发方——覆盖评审员的工作流见 HUNTING.md。一句话总结attempts 让重开变成一次带时间戳、可追溯的交接——旧证据封存归档、新尝试干净起步coverage-ledger.json从此既是对覆盖的声明也是不可篡改的安全审计证据链。【免费下载链接】security-audit-skillA coding-agent skill for multi-phase security audits with independently verified, machine-readable findings项目地址: https://gitcode.com/GitHub_Trending/se/security-audit-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻