Ouvrir une .logarchive dans le navigateur, sur tout OS
Pas à pas : ouvrir une .logarchive, un dossier diagnostics ou un export log show dans Unified Log Parser, trier les constats, cibler et exporter.
En bref. Unified Log Parser décode les journaux unifiés macOS dans un onglet de navigateur : déposez une .logarchive (ou les dossiers diagnostics et uuidtext, un ZIP, un .tar.gz UAC ou un export log show) et vous obtenez des constats, une bande temporelle, des filtres et des exports — sous Windows, Linux ou macOS, sans rien envoyer en ligne. Ce tutoriel s'appuie sur l'exemple synthétique intégré.
Étape 1 : charger les journaux
Ouvrez la page d'accueil et déposez vos fichiers. Le parseur reconnaît les fichiers tracev3 à leurs premiers octets (00 10 00 00), les fichiers uuidtext et dsc à leur chemin, et les exports à leur contenu : les noms de dossiers importent donc peu, tant que l'arborescence uuidtext/XX/… est conservée. Une .logarchive est un dossier : faites-la glisser, ou compressez-la d'abord avec ditto.
Les gros magasins (un dossier Persist complet peut contenir plusieurs millions d'entrées) demandent une minute ; la ligne de progression indique chaque fichier traité. Si la mémoire est limitée, ouvrez Options d'import pour les gros volumes avant de déposer les fichiers : ne conservez qu'une fenêtre temporelle, ou ignorez les signposts et les entrées Info ou Debug pendant la lecture.
Pour suivre ce tutoriel, cliquez sur Essayer un exemple. Cela charge un export NDJSON synthétique du Mac FIN-MBP-03 daté du 14 septembre 2026, généré par un script du projet : environ 700 entrées d'activité de fond ordinaire, dans lesquelles est tissée une intrusion fictive.
Étape 2 : vérifier les sources
L'espace de travail s'ouvre en plein écran (Échap pour en sortir). Regardez d'abord Sources. Pour des fichiers tracev3, cet onglet affiche le modèle matériel, le build de macOS, les sessions de démarrage, le nombre de fichiers uuidtext et dsc disponibles, ainsi que les enregistrements timesync. Des avertissements apparaissent lorsque des fichiers de chaînes ou timesync manquent, lorsque certains messages n'ont pas pu être entièrement restitués (« non résolus »), ou lorsqu'une option d'import a écarté des entrées.
Étape 3 : examiner les constats
L'onglet Constats regroupe les entrées correspondant à des règles sélectionnées : échecs d'authentification, sudo, autorisations TCC sensibles, décisions Gatekeeper, agents de lancement et éléments de connexion, montages de volumes, commandes shell, etc. Chaque carte explique pourquoi c'est important et indique la première et la dernière occurrence, les processus impliqués et des entrées d'exemple.
Dans l'exemple, l'histoire se lit de haut en bas :
- 10:04 Partage d'écran : une authentification échouée, puis une réussie pour
dana.whitlockdepuis203.0.113.45. - 10:06 Safari télécharge
tools.zipdepuisfiles.example; le fichier est mis en quarantaine. - 10:07
syspolicydconstate que le binaire n'est pas notarié ; l'utilisateur choisit « Ouvrir quand même » (Open Anyway). - 10:08–10:09 Terminal démarre et obtient l'accès complet au disque (
kTCCServiceSystemPolicyAllFiles). - 10:12–10:13
sudo(après un mot de passe erroné) amorce un LaunchAgent,com.example.updater.plist, que Background Task Management enregistre. - 10:36–10:47 un volume USB
EXFILest monté, des fichiers préparés dans~/Library/Caches/.sync/y sont copiés avecditto, Safari ouvretransfer.example, puis le volume est éjecté. - 10:49–10:50 la commande
logsert à lire les entrées sudo ; l'écran est verrouillé et la session se termine.
Aucun de ces éléments ne prouve à lui seul une intrusion ; réunis, en 46 minutes d'une même session, ils racontent une histoire qui mérite d'être consignée.
Étape 4 : cibler la plage temporelle
La bande de densité montre la répartition des entrées dans le temps. Par défaut, elle couvre du 1er au 99e centile, pour qu'une seule entrée à l'horloge aberrante n'écrase pas le reste ; la mention « +N plus tôt / plus tard » signale ce qui se trouve en dehors. Faites glisser pour sélectionner, utilisez le clavier sur les poignées (un pas correspond à une barre), saisissez des bornes à la seconde ou choisissez un préréglage. Depuis n'importe quelle entrée, Autour ±5 min / ±1 h / ±24 h centre la plage sur celle-ci. La plage s'applique à chaque compteur, constat et export, et elle est conservée dans l'adresse de la page (#from=…&to=…) : un rechargement ou un lien partagé la restaure. Dans l'exemple, Afficher 10:00–10:55 UTC définit la fenêtre de l'incident.
Étape 5 : lire le journal
L'onglet Journal liste chaque entrée de la plage, avec un affichage virtualisé pour que des millions de lignes défilent sans à-coups. La recherche porte à la fois sur le message, le processus, le subsystem et la catégorie (expressions régulières et respect de la casse s'activent d'un clic) ; choisissez les types, ou ouvrez Champs pour filtrer par processus, subsystem, catégorie et PID. Les termes sont séparés par des virgules, !terme exclut et =terme impose une correspondance exacte — !mdworker, !WindowServer fait taire le bruit. Les Préréglages de tri au-dessus du tableau appliquent en un clic des filtres DFIR courants. Cliquez sur une ligne pour voir tous ses champs, les indicateurs qu'elle a déclenchés et des pivots : ce processus, ce PID, ce subsystem.
Étape 6 : exporter
Exporter enregistre les entrées actuellement affichées — filtres et plage temporelle appliqués — en CSV, en NDJSON avec les noms de champs de log show (réimportable ici ou dans d'autres outils), en JSON avec des métadonnées sur les fichiers sources, la plage et les filtres, ou en CSV Timesketch. Les noms de fichiers reprennent la plage, par exemple …_2026-09-14T100000Z-2026-09-14T105500Z.csv. Voir exporter et construire des chronologies.
Limites à garder en tête
La restitution suit le parseur macos-unifiedlogs de Mandiant, validé par comparaison avec log show sur une archive réelle (environ 99 % des messages identiques) ; les signposts sont présentés différemment. Pour un rapport, confirmez les entrées clés avec log show. L'article sur les requêtes de triage explique ce que recherche chaque constat.