Vous découvrez Genox ? Genox Cybersecurity AI en trois minutes → Signaler un incident (24 h/24)
Verdict trace

Lire la trace
d'un verdict

Pour chaque verdict, Threat Correlator enregistre ce qu'il a examiné, les outils qu'il a appelés et les preuves sur lesquelles repose sa conclusion. Nous n'avons pas encore de traces d'exécution réelles à publier. Cette page décrit donc la structure d'une trace et en lit un exemple du début à la fin.

Structure

Ce que contient une trace

Lue de haut en bas, elle suit l'ordre dans lequel le verdict a été construit.
Un verdict comporte plusieurs étapes (step), et chaque étape regroupe une observation, des appels d'outils, des preuves et un raisonnement.

ChampContenuPoints à vérifier à la lecture
input_hashSHA-256 de l'ensemble des entrées du verdictCette valeur permet de vérifier qu'une réexécution a utilisé les mêmes entrées
sourcesProvenance des entrées (EDR, passerelle de messagerie, proxy, etc.) et plage horaireS'il manque une source, le périmètre du verdict se réduit d'autant
steps[].observationLe fait relevé à cette étapeC'est un résumé des journaux d'origine : vérifiez qu'il correspond aux preuves ci-dessous
steps[].tool_callOutil appelé, arguments et résumé du résultatVérifiez les arguments comme la plage horaire ou le nom d'hôte
steps[].evidenceID de la preuve, emplacement d'origine et hashLe résultat de la vérification automatique de la présence du journal cité dans la source est joint
steps[].reasoningCe qui permet de passer des preuves à la conclusion, avec l'ID de technique ATT&CKChaque phrase du raisonnement doit renvoyer à un ID de preuve
verdict · confidenceLibellé du verdict, niveau de risque, confiance et raisons qui l'ont abaisséeVérifiez que la raison d'une confiance faible est bien indiquée
recommended_actionsActions recommandées et nécessité ou non d'une approbationL'isolement d'un hôte et le verrouillage d'un compte exigent toujours une approbation
approvalID du rôle approbateur, décision (approbation, modification ou refus), heure et commentaireLe délai d'approbation se lit aussi ici
versionsVersion du modèle, du modèle de prompt et de la politiqueIl suffit que la formulation du prompt change pour que le critère du verdict change
replayRésultat d'une réexécution ultérieure dans les mêmes conditions et écart avec le verdict d'origineLes phrases peuvent différer. On vérifie que le libellé et le niveau de risque sont identiques
Example trace

Lisons une trace d'exemple depuis le début

Trace d'exemple · il ne s'agit ni de données clients ni d'une exécution réelle. Nous l'avons construite en enchaînant des techniques des premières phases d'un rançongiciel documentées dans MITRE ATT&CK (pièce jointe de phishing, exécution de PowerShell, suppression des clichés instantanés). Noms d'hôte, comptes, heures et niveaux de confiance sont illustratifs, et les domaines et adresses IP utilisent des valeurs réservées à la documentation (.example, 203.0.113.0/24).

Trace d'exemple · ni données clients ni exécution réellefin-ws-0412
1 ObservationE-mail reçu avec pièce jointe à macro · T1566.00109:12
2 ObservationWINWORD.EXE lance powershell.exe · T1059.00109:14
3 ObservationSuppression des clichés instantanés via vssadmin · T149009:14
VerdictVrai positif · préparation d'un rançongiciel · CRITICAL · confiance 0,9109:15
ApprobationIsolement de l'hôte approuvé (analyst-07)09:17
RéexécutionLibellé et risque identiques, quelques phrases différentes22/10

Par où commencer

Regardez d'abord pourquoi la confiance du verdict s'est arrêtée à 0,91. Dans cet exemple, la trace indique qu'aucun chiffrement de fichiers n'avait encore été observé et que le hash de l'exécutable téléchargé ne correspondait à rien dans le renseignement sur les menaces. À l'inverse, une trace affichant une confiance élevée sans aucune raison de l'abaisser mérite davantage de méfiance.

Ensuite, la ligne d'approbation. Selon la politique, l'isolement d'un hôte ne se déclenche jamais automatiquement. La trace montre aussi qu'entre le verdict et l'approbation, le temps que l'analyste lise les preuves, il s'est écoulé un peu plus de 2 minutes.

Lecture étape par étape

  1. Réception de l'e-mail (step 1). Le journal de la passerelle de messagerie contient un message de billing@invoice-notice.example avec la pièce jointe devis_1021.docm. L'IA a récupéré les métadonnées du message d'origine avec mail.search(message_id=…) et les informations du domaine avec intel.domain_whois("invoice-notice.example"). Résultat : domaine créé trois jours plus tôt. La phrase de raisonnement est « pièce jointe Office à macro associée à un domaine récent, T1566.001 possible » et renvoie aux preuves E1 et E2. Cette étape seule n'a pas suffi pour rendre un verdict.
  2. Exécution de PowerShell (step 2). L'événement Sysmon 1 (création de processus) contient une ligne avec WINWORD.EXE comme parent et powershell.exe -NoP -W Hidden -enc JABjAD0A… comme enfant. L'IA a obtenu l'arborescence des processus avec edr.process_tree(host="fin-ws-0412", from="09:12", to="09:20"), puis a décodé la commande et constaté qu'elle téléchargeait https://203.0.113.45/u.ps1. La requête baseline.parent_child(host, 30d) a montré qu'aucune application Office n'avait lancé PowerShell sur cet hôte au cours des 30 derniers jours. Raisonnement : T1059.001 ; preuves : E3 et E4.
  3. Suppression des clichés instantanés (step 3). L'événement Sysmon 11 (création de fichier) enregistre C:\Users\user01\AppData\Local\Temp\upd.exe, puis, une vingtaine de secondes plus tard, l'événement 1 montre vssadmin.exe delete shadows /all /quiet avec upd.exe pour parent. intel.hash_lookup n'a renvoyé aucune correspondance. Le raisonnement cite T1490 (Inhibit System Recovery) ; la fiche T1490 d'ATT&CK recense d'ailleurs plusieurs rançongiciels qui suppriment les clichés instantanés avant de chiffrer.
  4. Verdict. Vrai positif, phase de préparation de l'exécution d'un rançongiciel, risque CRITICAL, confiance 0,91. Deux raisons d'abaisser la confiance sont indiquées : « pas de modification massive de fichiers observée » et « hash de upd.exe sans correspondance dans le renseignement ».
  5. Actions recommandées et approbation. Isoler l'hôte du réseau (approbation requise), rappeler les e-mails portant le même hash de pièce jointe, bloquer le domaine expéditeur et 203.0.113.45. analyst-07 a approuvé l'isolement à 09:17 avec le commentaire « vérifier les sessions SMB du serveur de fichiers ». Les deux blocages relevaient de la politique de réponse automatique convenue avec le client et ont été exécutés sans approbation.
  6. Réexécution. Le lendemain, avec le même input_hash, la même version de modèle et la même version de politique, le libellé et le risque étaient identiques, la confiance était de 0,89 et la formulation du raisonnement différait en partie. Les phrases n'entrant pas dans la comparaison, le résultat est enregistré comme « identique ».
Raw record

La même trace au format brut

Voici l'exemple ci-dessus reporté tel quel au format de la trace, en version abrégée.
Les noms de champs sont illustratifs ; le format d'export réel sera documenté au lancement.

// Trace d'exemple · ni données clients ni exécution réelle
{
  "trace_id": "VT-EXAMPLE-0001",
  "input_hash": "sha256:9f3a…c21e",
  "sources": [
    {"type": "mail_gateway", "range": "09:00~09:20"},
    {"type": "edr_sysmon",   "host": "fin-ws-0412", "range": "09:00~09:20"}
  ],
  "steps": [
    {"n": 1,
     "observation": "Pièce jointe à macro (devis_1021.docm), domaine expéditeur créé il y a 3 jours",
     "tool_calls": ["mail.search(message_id=…)", "intel.domain_whois(\"invoice-notice.example\")"],
     "evidence": [{"id": "E1", "ref": "mailgw/2026/10/21/09.log#L2207", "sha256": "1c0d…7be2", "verified": true},
                  {"id": "E2", "ref": "intel/whois/invoice-notice.example", "verified": true}],
     "reasoning": "E1+E2 : pièce jointe de spearphishing possible", "attack": ["T1566.001"]},
    {"n": 2,
     "observation": "WINWORD.EXE → powershell.exe -NoP -W Hidden -enc …",
     "tool_calls": ["edr.process_tree(host=\"fin-ws-0412\", from=\"09:12\", to=\"09:20\")",
                    "baseline.parent_child(host=\"fin-ws-0412\", window=\"30d\")"],
     "evidence": [{"id": "E3", "ref": "sysmon:EventID=1 RecordID=884213", "verified": true},
                  {"id": "E4", "ref": "baseline/fin-ws-0412/parent_child", "verified": true}],
     "reasoning": "E3 : une application Office exécute du PowerShell encodé, E4 : sans précédent sur 30 jours",
     "attack": ["T1059.001"]},
    {"n": 3,
     "observation": "Création de upd.exe puis vssadmin.exe delete shadows /all /quiet",
     "tool_calls": ["edr.process_tree(…)", "intel.hash_lookup(\"sha256:3b7e…a19f\")"],
     "evidence": [{"id": "E5", "ref": "sysmon:EventID=11 RecordID=884240", "verified": true},
                  {"id": "E6", "ref": "sysmon:EventID=1 RecordID=884251", "verified": true}],
     "reasoning": "E6 : suppression des moyens de récupération, phase précédant le chiffrement", "attack": ["T1490"]}
  ],
  "verdict": {"label": "true_positive", "severity": "critical",
              "summary": "Phase de préparation de l'exécution d'un rançongiciel",
              "confidence": 0.91,
              "confidence_notes": ["Pas de modification massive de fichiers observée", "Hash de upd.exe sans correspondance dans le renseignement"]},
  "recommended_actions": [
    {"action": "isolate_host", "target": "fin-ws-0412", "requires_approval": true},
    {"action": "recall_mail", "match": "attachment_sha256", "requires_approval": false},
    {"action": "block", "targets": ["invoice-notice.example", "203.0.113.45"], "requires_approval": false}
  ],
  "approval": {"action": "isolate_host", "by": "analyst-07", "decision": "approved",
               "at": "2026-10-21T09:17:40+09:00", "comment": "Vérifier les sessions SMB du serveur de fichiers"},
  "versions": {"model": "correlator-model-x.y", "prompt_template": "triage-vNN", "policy": "auto-response-YYYY.MM"},
  "replay": {"at": "2026-10-22T10:05:12+09:00", "same_input_hash": true,
             "label_match": true, "severity_match": true, "confidence": 0.89,
             "text_diff": "Formulation du raisonnement en partie différente"}
}

verified est le résultat de la vérification automatique de la présence du journal cité dans le stockage d'origine. Si une seule valeur vaut false, le verdict est suspendu et transmis à un analyste. La façon dont nous comptabilisons cette vérification est décrite dans la rubrique sur la détection des citations inventées de la page consacrée à la qualité des verdicts de l'IA.

How to use it

Ce que fait de la trace celui qui la reçoit

La trace d'un verdict ne reste pas un journal interne réservé à Genox.
Nous la concevons en partant du principe que l'équipe sécurité du client et les auditeurs l'ouvriront eux-mêmes.

Audits

Si, lors d'un audit ou d'une enquête sur un incident, on vous demande « pourquoi avoir isolé cet hôte ? », une trace suffit à répondre. Ce qui a été vu se trouve dans evidence, qui a approuvé dans approval, et le modèle et la politique en service à ce moment dans versions. Les preuves sont conservées sous forme d'emplacement et de hash : alignez donc la durée de conservation des journaux d'origine sur celle des traces de verdicts.

Analyse des faux positifs

Quand un verdict est confirmé comme faux positif, on cherche l'étape où il a dérapé. Argument d'appel d'outil erroné, requête sur le comportement de référence revenue vide, raisonnement qui va au-delà des preuves : en suivant les step un par un, on le voit généralement. Quand nous présentons des faux positifs dans le rapport mensuel, nous joignons cette même trace.

Amélioration des règles

Si des verdicts voient leur confiance abaissée pour la même raison de façon répétée, on repère où ajuster le périmètre de collecte ou les règles de détection. Dans l'exemple ci-dessus, les journaux d'audit du serveur de fichiers ne figuraient pas dans sources, si bien qu'on n'a pas pu vérifier l'existence d'un mouvement latéral. Après une modification de la politique, on réexécute les verdicts passés avec la nouvelle version et on examine les écarts.

What's next

Nous publierons des traces réelles
dès qu'elles seront prêtes

Dans l'environnement isolé du Research Lab, nous reproduisons des techniques d'attaque publiques et rassemblons les traces des verdicts rendus par Threat Correlator. Lorsque nous aurons accumulé des traces d'exécution exemptes de données clients, nous les publierons ici sans retouche. D'ici là, toutes les traces de cette page sont des exemples.

Nos engagements pour la publication

  • Les traces de verdicts erronés seront publiées avec celles des verdicts justes
  • L'ID de la technique reproduite et la procédure suivie seront indiqués
  • Chaque trace portera les versions du modèle et de la politique ; si une version change, nous ajouterons le résultat de la réexécution
  • Les noms d'hôte et les comptes de l'environnement isolé ne recouperont pas ceux des environnements clients réels

Parlez à un expert
sécurité de Genox.

Nous contacter