← tous les projets
forensictoolagentsi.a· 5 min de lecture

AI TRACER (forensic tool)

AI Tracer reconstitue l'activité d'un agent IA à partir des traces locales, la recoupe avec les journaux du système et produit un rapport d'expertise vérifiable, avec sa chaîne de possession.

Lux
voir le code sur GitHub ↗
AI Tracer

AI Tracer — Forensic des agents IA

Ce que l'IA a fait sur ce poste, reconstitué et prouvé.

AI Tracer reconstitue l'activité d'un agent IA à partir des traces locales, la recoupe avec les journaux du système et produit un rapport d'expertise vérifiable, avec sa chaîne de possession.


Site Plateformes Déploiement Licence Statut


Fonctionnement · Détections · Rapport · Garanties · Démarrage · Documentation


Ce dépôt héberge le site vitrine de l'outil AI Tracer (aitrace.fr), publié automatiquement sur GitHub Pages. L'outil aitrace lui-même est réservé aux professionnels et distribué sous licence.


🔎 Fonctionnement

Trois questions, une seule analyse. Qu'a fait l'IA ? Qu'a fait le système pendant ce temps ? Quelque chose de suspect s'est-il produit ? AI Tracer répond aux trois en un passage.

Diagramme (source ci-dessous)
Source du diagramme
flowchart LR
    subgraph S["Sources — lecture seule, SHA-256"]
        A1[Transcripts & sous-agents]
        A2[Prompts · réponses · commandes]
        A3[Fichiers · web · MCP · hooks]
        A4[Journaux système<br/>EVTX · journald · syslog]
    end

    A1 & A2 & A3 --> C1
    A4 --> C2

    subgraph P["AI Tracer"]
        C1["① Collecter<br/>l'activité de l'IA"] --> C2["② Corréler<br/>avec le système"]
        C2 --> C3["③ Signaler<br/>ce qui doit être examiné"]
    end

    C3 --> R["📄 Dossier auto-contenu<br/>report.html · findings · chains · manifest"]

    style P fill:#0B1533,stroke:#001D91,color:#F2F4FA
    style R fill:#E0001A,stroke:#E0001A,color:#FFFFFF
    style S fill:#F2F4FA,stroke:#DDE1EA,color:#0B1533
ÉtapeCe qu'elle fait
① CollecterTranscripts et sous-agents, prompts, réponses, commandes, fichiers modifiés, accès web et MCP, configuration, hooks et extensions. Les identifiants ne sont jamais lus.
② CorrélerChaque processus est rattaché à la commande IA qui l'a lancé. Ce qui s'est passé pendant l'activité de l'IA sans venir d'elle ressort en priorité.
③ SignalerInjections de prompt, commandes dangereuses, caractères masqués, indicateurs de compromission : classés par gravité, chacun renvoyé à sa source.

Un récit, pas une liste d'alertes

AI Tracer relie une injection reçue par un canal non fiable aux actions de la même session qui ont suivi :

T          Injection reçue      Dans le résultat d'une page web lue par l'agent
T + 6 s    Lecture d'une clé SSH  Fichier sensible ouvert par l'agent
T + 13 s   Envoi réseau          Accès sortant dans la même session

🚨 Détections

Orienter l'examen, sans décider à la place de l'expert. Chaque signalement porte sa gravité, ses techniques MITRE ATT&CK, sa catégorie OWASP LLM et le fichier et la ligne d'où il vient.

  • Injection de prompt — dans les sorties d'outils, fichiers lus, pages web, résultats MCP et contenus collés.
  • Caractères Unicode masqués — balises Unicode, largeur nulle, contrôles bidirectionnels. Le message caché est décodé.
  • Commandes suspectes — téléchargement puis exécution, reverse shell, vol d'identifiants, effacement de journaux, persistance. Les commandes encodées sont déobfusquées.
  • Indicateurs de compromission — hôtes, IP et empreintes recoupés avec votre propre liste d'IOC.
  • Intégrité des journaux — effacements, journaux commencés trop tard, journalisation des processus absente.
  • Mode permissif — une commande suspecte lancée sans contrôle des permissions voit sa gravité relevée.

📄 Le rapport

Un dossier auto-contenu, prêt à verser. Un rapport HTML autonome, sans ressource externe. Des fichiers structurés pour vos outils. Des empreintes pour tout vérifier.

E:\cas42\run-01\
├── report.html            Synthèse, détections, chronologie filtrable, chaîne de possession
├── findings.json
├── findings.sarif.json    Signalements au format SARIF 2.1.0
├── chains.json            Scénarios injection → actions
├── events.json / .csv     Chronologie complète, protégée contre l'injection de formules
├── correlation.json
├── case.json
├── manifest.json          Contexte d'exécution et empreinte de chaque source
├── evidence/
└── SHA256SUMS.txt         Empreintes de tous les fichiers du rapport

Chaque événement de la chronologie renvoie à son origine exacte, fichier et ligne, pour revenir à la source.


🛡️ Garanties

GarantieDétail
Chaîne de possessionAffaire, examinateurs, scellés, machine, compte, ligne de commande, version de l'outil et empreinte agrégée des sources, consignés à chaque analyse.
Écriture confinéeSeul le dossier de sortie est écrit. L'outil refuse un dossier non vide ou situé dans une zone de preuve.
Gestion des affairesUn registre suit chaque affaire, sur plusieurs machines, et permet de reprendre l'analyse là où elle s'était arrêtée.
Limites affichéesLa détection est heuristique et le dit. Les angles morts, comme une journalisation absente, sont signalés dans le rapport.

Un exécutable, rien à installer · Lecture seule · SHA-256 revérifié · Windows, Linux, macOS (poste en fonctionnement ou image montée).


▶️ Démarrage rapide

aitrace.exe --case CAS-42 --all-users --since 7d \
  --tz local --collect-raw --out E:\cas42\run-01

Sources ouvertes en lecture seule, hachées en SHA-256. Rapport écrit dans E:\cas42\run-01.

Quelques options courantes (voir la documentation complète) :

OptionRôle
--case / --case-idIdentifiant de l'affaire
--examinerExaminateur(s) consigné(s) dans la chaîne de possession
--all-usersAnalyser tous les comptes du poste
--since / --until / --windowFenêtre temporelle de l'analyse
--iocListe d'indicateurs de compromission à recouper
--collect-rawConserver les sources brutes dans evidence/
--sealSceller l'affaire
--resumeReprendre une analyse interrompue
--outDossier de sortie (doit être vide, hors zone de preuve)

👥 Pour qui

  • Experts judiciaires — un rapport structuré et traçable à joindre à l'expertise.
  • Services d'enquête — une analyse sur poste saisi ou image disque, hors ligne.
  • Réponse à incident — comprendre vite ce qu'un agent IA compromis a touché.

Version actuelle : Claude Code (CLI, IDE) et Claude Desktop.


📬 Contact & licence

AI Tracer est réservé aux professionnels et distribué sous licence. Nous présentons l'outil et un rapport type sur un jeu de données de démonstration — demande via aitrace.fr ou joam.brochard@aitrace.fr.

© 2026 Joam Brochard — Tous droits réservés · Mentions légales · Confidentialité

Markdown supporté · Ctrl+Entrée pour publierSe connecter pour publier

chargement de la discussion…