Revisión del Grafo de Evidencia
Utilice esta habilidad cuando un caso de ingeniería inversa, análisis forense, CTF o seguridad autorizada necesite una entrega defendible. Audita el paquete existente work/<case>/ sin modificar el caso ni tocar un objetivo.
Alcance
Esta habilidad cubre:
- Metadatos de alcance y preparación para la actividad objetivo
- Estructura de registros de evidencia y campos de reproducibilidad
- Referencias desde elementos de trabajo y entradas de la línea de tiempo a la Evidencia
- Hallazgos y Rutas estructurados en el informe Markdown
- Verificación opcional SHA-256 para artefactos locales del caso
- Un resultado de revisión en Markdown o JSON para la entrega de un informe
NO DEBE realizar reconocimiento, explotación, instrumentación dinámica o cambios en el objetivo. Esas acciones pertenecen a la habilidad de análisis enrutada y requieren la compuerta de alcance del caso.
ACCIÓN REQUERIDA
AHORA: lea../field-journal/precedent-reverse.mdy confirme que se trata de una revisión de un paquete de caso autorizado existente.AHORA: confirme la ruta del caso y elija el modo de revisión de solo lectura.DESPUÉS: lea../tool-index.md; esta habilidad utiliza únicamente la biblioteca estándar de Python 3 y no requiere arranque.DESPUÉS: ejecutepython3 scripts/review_case.py <raíz-del-caso> --format markdown.ACTUAR: resuelva cada error, luego vuelva a ejecutar la revisión antes de afirmar que una entrega está completa.
Dependencias de herramientas
| Herramienta | Requerida | Propósito | Auto-arranque |
|---|---|---|---|
| Python 3.9+ | Sí | Ejecuta el script de revisión de caso de solo lectura | No, use la instalación de Python de la plataforma |
No se requiere acceso a red ni paquetes de terceros.
Flujo de trabajo
Fase 1: Ingreso
Ejecute la revisión contra el directorio del caso existente:
python3 skills/case-review/scripts/review_case.py work/<caso> --format markdown
Confirme que scope.md, timeline.md, workitems.md y evidence/ están presentes. Una revisión no estricta reporta advertencias de alcance, mientras que una revisión estricta trata las advertencias como bloqueadores de la entrega.
建议下一步(选一个编号)
- 修复 scope.md 中的授权、范围或 network_profile 字段
- 继续检查 Evidence 记录的可复现命令和来源
- 导出当前 review 结果并附到阶段性报告
- 换 JSON 输出接入 CI 或其他审查工具
- 暂停,先确认审查范围
Fase 2: Trazabilidad
Revise las verificaciones para:
- IDs de Evidencia que no existen
- Hallazgos sin
evidence_ids - Rutas sin un
path_typepermitido o referencia a Evidencia - Elementos de trabajo y entradas de la línea de tiempo que apuntan a Evidencia desconocida
- Registros de Evidencia no vinculados
- Hallazgos validados con baja confianza
Una observación fuera de línea puede usar repro_command: n/a solo cuando su campo notes documente explícitamente la limitación fuera de línea.
Use JSON cuando otra herramienta necesite campos estables:
python3 skills/case-review/scripts/review_case.py work/<caso> --format json
建议下一步(选一个编号)
- 补写缺失的 Evidence,并保留原始命令
- 将候选 Finding 绑定到 Evidence 后重新审查
- 为调用链或攻击链补充 P-id 和 Path 步骤
- 生成 Markdown handoff summary
- 换回 PRIMARY skill 继续分析
Fase 3: Verificación de fijación
Cuando un registro de Evidencia contenga tanto content_hash como artifact_path, verifique el artefacto local del caso:
python3 skills/case-review/scripts/review_case.py work/<caso> --verify-hashes --strict
El script acepta sha256:<64 caracteres hexadecimales> y comprueba que el artefacto permanece dentro de la raíz del caso. Una discrepancia de hash es un fallo grave.
El ayudante de Evidencia de PowerShell puede registrar un hash mientras agrega un registro:
powershell -File skills/scripts/append-evidence.ps1 -CaseRoot work\<caso> -Id E-001 -Title "Hash de ejemplo" -ReproCommand "sha256sum evidence/sample.bin" -ArtifactPath "evidence\sample.bin"
建议下一步(选一个编号)
- 修复 hash mismatch 或替换已污染的工作副本
- 为未固定的原始文件补充 SHA-256 和 artifact_path
- 继续进入报告生成阶段
- 导出 JSON 结果供 CI 保存
- 暂停并请求人工复核
Fase 4: Entrega
Use el modo estricto antes de un informe final o una entrega a un especialista:
python3 skills/case-review/scripts/review_case.py work/<caso> --strict --format markdown > work/<caso>/report/case-review.md
El comando es de solo lectura con respecto al caso a menos que se use explícitamente una redirección de shell para guardar su salida. La revisión no es asesoramiento legal y no reemplaza los procedimientos organizativos de manejo de evidencia.
建议下一步(选一个编号)
- 将通过的 review 结果交给
docs-generator/生成正式报告 - 回到 PRIMARY skill 补齐新的分析证据
- 归档 Markdown 和 JSON review 结果
- 暂停并请求人工复核
Contrato de comportamiento lingüístico
- Razonamiento interno, selección de herramientas y control de fase: Inglés.
- Mensajes visibles para el usuario, etiquetas de sección, informes y menús de siguiente paso: Chino a menos que el usuario solicite otro idioma.
- Las etiquetas bilingües predeterminadas colocan el chino primero y el inglés segundo, separados por "/".
Límite de arranque
Esta habilidad no tiene dependencia de terceros. Si Python 3 no está disponible, la única acción de recuperación permitida es la ruta de arranque del repositorio cuando una capacidad de Python está registrada para la plataforma actual. Si no hay tal capacidad registrada, deténgase e informe la falta de tiempo de ejecución. No adivine rutas de ejecutables, descargue paquetes ni realice una instalación manual desde dentro de esta habilidad.
Contexto de enrutamiento
Entrada ascendente: cualquier habilidad de ingeniería inversa, forense, CTF o seguridad autorizada que haya producido un paquete de caso.
Salida descendente: docs-generator/ para un informe formal, o la habilidad PRIMARY original cuando el grafo está incompleto.
Módulos relacionados: ops/evidence-finding-path.md, ops/timeline-workitem.md, digital-forensics/, reverse-engineering/ y docs-generator/.
Referencias
- 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/?
- 所有 Finding 是否引用了现存 Evidence?
- 所有 Path 是否包含合法 path_type 和 Evidence 引用?
- 是否执行了 hash verification,或记录了未执行原因?
- 是否以 strict 模式重新运行并保存了 review 结果?