证据图审查 是做什么的?
当逆向工程、取证、CTF 或授权安全案例需要可辩护的交接时,使用此技能。它会审计现有的 work/<case>/ 包,不修改案例本身,也不触碰目标系统。
范围
此技能涵盖:
- 范围元数据与目标-活动就绪性
- 证据记录结构及其可复现性字段
- 工作项和时间线条目对证据的引用
- 报告 Markdown 中的结构化发现与路径
- 对案例本地工件的可选 SHA-256 验证
- 用于报告交接的 Markdown 或 JSON 审查结果
不得执行侦察、利用、动态插桩或目标更改。这些操作属于已编排的分析技能,需要案例范围许可。
必须执行的操作
立即: 读取../field-journal/precedent-reverse.md并确认这是对现有授权案例包的审查。立即: 确认案例路径并选择只读审查模式。下一步: 读取../tool-index.md;此技能仅使用 Python 3 标准库,无需引导。下一步: 运行python3 scripts/review_case.py <case-root> --format markdown。执行: 解决所有错误,然后重新运行审查,再声称交接完成。
工具依赖
| 工具 | 必需 | 用途 | 自动引导 |
|---|---|---|---|
| Python 3.9+ | 是 | 运行只读案例审查脚本 | 否,使用平台自带的 Python 安装 |
不需要网络访问或第三方包。
工作流程
阶段 1:入站
对现有案例目录运行审查:
python3 skills/case-review/scripts/review_case.py work/<case> --format markdown
确认 scope.md、timeline.md、workitems.md 和 evidence/ 存在。非严格审查会报告范围警告,而严格审查则将警告视为交接阻塞。
建议下一步(选一个编号)
- 修复 scope.md 中的授权、范围或 network_profile 字段
- 继续检查证据记录的可复现命令和来源
- 导出当前审查结果并附到阶段性报告
- 换 JSON 输出接入 CI 或其他审查工具
- 暂停,先确认审查范围
阶段 2:可追溯性
检查以下项目:
- 不存在的证据 ID
- 缺少
evidence_ids的发现 - 缺少允许的
path_type或证据引用的路径 - 指向未知证据的工作项和时间线条目
- 未链接的证据记录
- 低置信度的已验证发现
离线观察仅在 notes 字段显式记录离线限制时,才可使用 repro_command: n/a。
当其他工具需要稳定字段时,使用 JSON:
python3 skills/case-review/scripts/review_case.py work/<case> --format json
建议下一步(选一个编号)
- 补写缺失的证据,并保留原始命令
- 将候选发现绑定到证据后重新审查
- 为调用链或攻击链补充 P-id 和路径步骤
- 生成 Markdown 交接摘要
- 换回 PRIMARY 技能继续分析
阶段 3:固定性验证
当证据记录同时包含 content_hash 和 artifact_path 时,验证案例本地工件:
python3 skills/case-review/scripts/review_case.py work/<case> --verify-hashes --strict
脚本接受 sha256:<64 hex characters> 格式,并检查工件是否仍在案例根目录内。哈希不匹配为硬失败。
PowerShell 证据辅助工具可以在追加记录时记录哈希:
powershell -File skills/scripts/append-evidence.ps1 -CaseRoot work\<case> -Id E-001 -Title "样本哈希" -ReproCommand "sha256sum evidence/sample.bin" -ArtifactPath "evidence\sample.bin"
建议下一步(选一个编号)
- 修复哈希不匹配或替换已污染的工作副本
- 为未固定的原始文件补充 SHA-256 和 artifact_path
- 继续进入报告生成阶段
- 导出 JSON 结果供 CI 保存
- 暂停并请求人工复核
阶段 4:交接
在最终报告或专家交接前使用严格模式:
python3 skills/case-review/scripts/review_case.py work/<case> --strict --format markdown > work/<case>/report/case-review.md
该命令对案例本身是只读的,除非显式使用 shell 重定向来保存其输出。审查结果不构成法律建议,也不替代组织内部的证据处理程序。
建议下一步(选一个编号)
- 将通过的审查结果交给
docs-generator/生成正式报告 - 回到 PRIMARY 技能补齐新的分析证据
- 归档 Markdown 和 JSON 审查结果
- 暂停并请求人工复核
语言行为约定
- 内部推理、工具选择和阶段控制:英语。
- 用户可见消息、章节标签、报告和下一步菜单:中文,除非用户请求其他语言。
- 默认双语标签将中文放在第一位,英文放在第二位,用
/分隔。
引导边界
此技能没有第三方依赖。如果 Python 3 不可用,唯一允许的恢复操作是通过仓库引导路径(当当前平台注册了 Python 能力时)。如果未注册该能力,则停止并报告缺少运行时。不要猜测可执行文件路径、下载包或在此技能内部执行手动安装。
路由上下文
上游入口:任何已生成案例包的逆向、取证、CTF 或授权安全技能。
下游出口:docs-generator/ 用于生成正式报告,或原始 PRIMARY 技能(当图不完整时)。
相关模块:ops/evidence-finding-path.md、ops/timeline-workitem.md、digital-forensics/、reverse-engineering/ 和 docs-generator/。
参考资料
- NIST SP 800-86: Guide to Integrating Forensic Techniques into Incident Response
- SWGDE Best Practices for Computer Forensic Acquisitions
- SWGDE Best Practices for Archiving Digital and Multimedia Evidence
任务完成自检
- 我是否审查了 scope.md、timeline.md、workitems.md 和 evidence/?
- 所有发现是否引用了现存证据?
- 所有路径是否包含合法 path_type 和证据引用?
- 是否执行了哈希验证,或记录了未执行原因?
- 是否以严格模式重新运行并保存了审查结果?