Révision du Graphe de Preuves
Utilisez cette compétence lorsqu'un cas de rétro-ingénierie, forensique, CTF ou sécurité autorisée nécessite une remise défendable. Elle audite le package existant work/<case>/ sans modifier le cas ni toucher à une cible.
Périmètre
Cette compétence couvre :
- Les métadonnées de portée et la préparation cible-activité
- La structure des enregistrements de preuves et les champs de reproductibilité
- Les références depuis les éléments de travail et les entrées de chronologie vers les Preuves
- Les Constatations structurées et les Chemins dans le rapport Markdown
- La vérification optionnelle SHA-256 pour les artefacts locaux
- Un résultat de révision Markdown ou JSON pour une remise de rapport
Elle NE DOIT PAS effectuer de reconnaissance, d'exploitation, d'instrumentation dynamique ou de modifications de cible. Ces actions appartiennent à la compétence d'analyse routée et nécessitent le portail de portée du cas.
ACTION REQUISE
MAINTENANT: lisez../field-journal/precedent-reverse.mdet confirmez qu'il s'agit d'une révision d'un package de cas autorisé existant.MAINTENANT: confirmez le chemin du cas et choisissez le mode de révision en lecture seule.SUIVANT: lisez../tool-index.md; cette compétence utilise uniquement la bibliothèque standard Python 3 et ne nécessite pas d'amorçage.SUIVANT: exécutezpython3 scripts/review_case.py <case-root> --format markdown.ACTION: résolvez chaque erreur, puis relancez la révision avant de déclarer une remise terminée.
Dépendances d'outil
| Outil | Requis | Objectif | Amorçage auto |
|---|---|---|---|
| Python 3.9+ | Oui | Exécute le script de révision en lecture seule | Non, utilisez l'installation Python de la plateforme |
Aucun accès réseau ni package tiers n'est requis.
Flux de travail
Phase 1 : Réception
Exécutez la révision sur le répertoire de cas existant :
python3 skills/case-review/scripts/review_case.py work/<case> --format markdown
Confirmez que scope.md, timeline.md, workitems.md et evidence/ sont présents. Une révision non stricte signale des avertissements de portée tandis qu'une révision stricte traite les avertissements comme des bloqueurs de remise.
Prochaine étape suggérée (choisir un numéro)
- Corrigez les champs d'autorisation, de portée ou
network_profiledans scope.md - Continuez à vérifier les commandes reproductibles et les sources des enregistrements de Preuves
- Exportez le résultat actuel de la révision et joignez-le au rapport intermédiaire
- Passez à la sortie JSON pour l'intégration CI ou d'autres outils de révision
- Arrêtez-vous, confirmez d'abord le périmètre de révision
Phase 2 : Traçabilité
Révisez les vérifications pour :
- Les IDs de Preuves qui n'existent pas
- Les Constatations sans
evidence_ids - Les Chemins sans
path_typeautorisé ou référence de Preuve - Les éléments de travail et entrées de chronologie pointant vers des Preuves inconnues
- Les enregistrements de Preuves non liés
- Les Constatations validées avec une faible confiance
Une observation hors ligne peut utiliser repro_command: n/a uniquement lorsque son champ notes documente explicitement la limitation hors ligne.
Utilisez JSON lorsqu'un autre outil a besoin de champs stables :
python3 skills/case-review/scripts/review_case.py work/<case> --format json
Prochaine étape suggérée (choisir un numéro)
- Rédigez les Preuves manquantes et conservez la commande d'origine
- Liez la Constatation candidate à la Preuve puis réexaminez
- Ajoutez des P-id et des étapes de Chemin pour la chaîne d'appels ou d'attaques
- Générez un résumé de remise Markdown
- Revenez à la compétence PRINCIPALE pour poursuivre l'analyse
Phase 3 : Vérification de fixité
Lorsqu'un enregistrement de Preuve contient à la fois content_hash et artifact_path, vérifiez l'artefact local :
python3 skills/case-review/scripts/review_case.py work/<case> --verify-hashes --strict
Le script accepte sha256:<64 chars hexadécimaux> et vérifie que l'artefact reste dans la racine du cas. Une non-correspondance de hachage est un échec dur.
L'outil d'aide PowerShell pour les Preuves peut enregistrer un hachage tout en ajoutant un enregistrement :
powershell -File skills/scripts/append-evidence.ps1 -CaseRoot work\<case> -Id E-001 -Title "Exemple de hachage" -ReproCommand "sha256sum evidence/sample.bin" -ArtifactPath "evidence\sample.bin"
Prochaine étape suggérée (choisir un numéro)
- Corrigez la non-correspondance de hachage ou remplacez la copie de travail contaminée
- Ajoutez SHA-256 et
artifact_pathpour les fichiers originaux non fixés - Continuez vers la phase de génération de rapport
- Exportez le résultat JSON pour sauvegarde CI
- Arrêtez-vous et demandez une validation humaine
Phase 4 : Remise
Utilisez le mode strict avant un rapport final ou une remise à un spécialiste :
python3 skills/case-review/scripts/review_case.py work/<case> --strict --format markdown > work/<case>/report/case-review.md
La commande est en lecture seule en ce qui concerne le cas, sauf si une redirection shell est explicitement utilisée pour sauvegarder sa sortie. La révision n'est pas un avis juridique et ne remplace pas les procédures organisationnelles de traitement des preuves.
Prochaine étape suggérée (choisir un numéro)
- Transmettez le résultat de révision réussi à
docs-generator/pour générer un rapport formel - Revenez à la compétence PRINCIPALE pour ajouter de nouvelles preuves d'analyse
- Archivez les résultats de révision Markdown et JSON
- Arrêtez-vous et demandez une validation humaine
Contrat de comportement linguistique
- Raisonnement interne, sélection d'outils et contrôle de phase : anglais.
- Messages visibles par l'utilisateur, étiquettes de sections, rapports et menus de prochaine étape : chinois sauf si l'utilisateur demande une autre langue.
- Étiquettes bilingues par défaut : chinois en premier, anglais en second, séparés par
/.
Limite d'amorçage
Cette compétence n'a aucune dépendance tierce. Si Python 3 n'est pas disponible, la seule action de récupération autorisée est le chemin d'amorçage du référentiel lorsqu'une capacité Python est enregistrée pour la plateforme actuelle. Si aucune capacité de ce type n'est enregistrée, arrêtez-vous et signalez l'environnement d'exécution manquant. Ne devinez pas les chemins d'exécutables, ne téléchargez pas de packages et n'effectuez pas d'installation manuelle depuis cette compétence.
Contexte de routage
Entrée amont : toute compétence de rétro-ingénierie, forensique, CTF ou sécurité autorisée qui a produit un package de cas.
Sortie aval : docs-generator/ pour un rapport formel, ou la compétence PRINCIPALE d'origine lorsque le graphe est incomplet.
Modules associés : ops/evidence-finding-path.md, ops/timeline-workitem.md, digital-forensics/, reverse-engineering/ et docs-generator/.
Références
- NIST SP 800-86 : Guide d'intégration des techniques forensiques dans la réponse aux incidents
- SWGDE Meilleures pratiques pour les acquisitions forensiques informatiques
- SWGDE Meilleures pratiques pour l'archivage des preuves numériques et multimédias
Auto-vérification de fin de tâche
- Ai-je examiné scope.md, timeline.md, workitems.md et evidence/ ?
- Toutes les Constatations référencent-elles des Preuves existantes ?
- Tous les Chemins contiennent-ils un
path_typevalide et une référence de Preuve ? - La vérification de hachage a-t-elle été effectuée, ou la raison de son absence a-t-elle été enregistrée ?
- Le résultat de la révision a-t-il été exécuté à nouveau en mode strict et sauvegardé ?