Forensique de documents

Un contrôle de forensique de documents lit ce qu’un fichier transporte au-delà de son contenu visible : qui les métadonnées disent l’avoir écrit, quel outil l’a produit, quand ses horodatages affirment qu’il a changé, quelles révisions antérieures, quels fichiers incorporés ou textes invisibles s’y trouvent encore. Déposez un PDF, PNG ou JPEG ci-dessous et cette page rapporte ces faits localement, dans votre navigateur, chacun avec les valeurs concrètes dont il a été lu. Deux limites d’emblée : le fichier n’est jamais téléversé — il est analysé sur cet appareil et nulle part ailleurs — et cet outil rapporte des faits, pas des verdicts : la preuve structurelle ne peut pas prouver qui a créé un fichier, donc il n’y a ici ni note ni jugement d’auteur. L’article compagnon, métadonnées PDF et données cachées, explique où chaque type de donnée se cache et comment de vraies fuites se sont produites ; le vérificateur d’accessibilité PDF couvre la structure de lecture d’un PDF, et l’inspecteur binaire couvre les fichiers exécutables.

Dernière mise à jour:

Ou déposez le fichier n’importe où dans ce cadre. Le fichier est lu sur cet appareil et n’est jamais téléversé. Limite : 20 Mo.

Des faits, pas des verdicts — ce que cette page ne peut pas vous dire

Les métadonnées sont un témoignage, pas une preuve. Un champ auteur dit ce qu’un programme a écrit dans le fichier, et n’importe laquelle de ces valeurs peut être modifiée, copiée d’un autre document ou laissée par un modèle — donc un nom familier dans les métadonnées ne prouve pas que cette personne a créé le fichier, et un nom d’outil inconnu ne prouve rien sur la façon dont le contenu a été fait. En particulier, la preuve structurelle ne peut pas prouver l’auteur, et cette page ne prétend rien sur le fait que le contenu ait été produit par une personne ou par un logiciel : elle rapporte les valeurs présentes, les révisions qui survivent et les horodatages qui se contredisent, et vous laisse l’interprétation. Traitez chaque constat comme une piste à vérifier, pas comme une conclusion.

Ce que cet outil rapporte

  • Les champs du dictionnaire d’informations du PDF — titre, auteur, créateur, producteur et les deux dates — cités mot pour mot comme preuve.
  • Le paquet de métadonnées XMP, quand il est présent, avec son titre, son producteur et ses dates de création et de modification extraits.
  • La structure des mises à jour incrémentales : combien de marqueurs %%EOF et de sections startxref le fichier transporte, et la profondeur de la chaîne de bandes-annonces /Prev.
  • Les indicateurs de fichiers incorporés, le texte caché peint en mode de rendu 3 et le drapeau de chiffrement.
  • L’inventaire des blocs PNG avec les blocs de texte décodés et l’horodatage tIME ; l’inventaire des segments JPEG avec les champs JFIF, Exif et XMP et le texte des commentaires — plus tout octet traînant après le marqueur de fin dans les deux formats.

Ce qu’un document transporte en plus de son contenu

Chaque format de document couvert ici est un conteneur, pas seulement une image du contenu. Un PDF transporte un dictionnaire d’informations — titre, auteur, créateur, producteur et deux dates — écrit par l’application qui l’a exporté, le plus souvent sans que l’auteur du document l’ait jamais vu. À côté, la plupart des producteurs modernes incorporent un paquet XMP : un bloc de métadonnées XML qui peut répéter les mêmes champs, ajouter un outil créateur ou contredire silencieusement le dictionnaire d’informations. Les images PNG transportent des blocs nommés, dont certains gardent du texte libre — noms de logiciels, commentaires, lignes de copyright, parfois des documents XML entiers — et les photos JPEG transportent des blocs Exif écrits par l’appareil : marque, modèle, la date à laquelle l’obturateur s’est déclenché et le logiciel qui a touché le fichier en dernier. Rien de tout cela ne se voit quand le document s’ouvre normalement, et tout voyage avec le fichier quand il est publié, envoyé par courriel ou déposé au tribunal.

Les PDF ont une seconde couche, plus profonde : les mises à jour incrémentales. Le format PDF a été conçu pour qu’un éditeur puisse enregistrer un changement en ajoutant une nouvelle révision à la fin du fichier au lieu de le réécrire, laissant les octets antérieurs — y compris la version antérieure d’un paragraphe — physiquement présents et lisibles. Un fichier portant plusieurs marqueurs %%EOF a été enregistré ainsi plusieurs fois, et tout ce qui a été “supprimé” dans une révision ultérieure peut encore être récupéré d’une révision antérieure. Ce mécanisme est légitime et utile pour les signatures et les enregistrements rapides, mais c’est aussi la raison pour laquelle le masquage naïf échoue : couvrir un paragraphe d’un rectangle noir, ou même supprimer le texte dans un éditeur qui enregistre ensuite de façon incrémentale, peut laisser les mots d’origine dans le fichier pour quiconque regarde. Cette page compte les marqueurs de fin de fichier et la chaîne de bandes-annonces pour que vous voyiez si le fichier devant vous a un passé.

La même logique de conteneur explique les autres contrôles. Un PDF peut transporter des fichiers incorporés — des pièces jointes complètes stockées dans le document lui-même, listées dans son arborescence de noms de fichiers incorporés — qu’un lecteur peut ne jamais remarquer mais qu’un destinataire peut extraire. Il peut aussi transporter du texte caché : le texte PDF est peint avec un mode de rendu, et le mode 3 ne peint rien du tout tout en laissant les caractères dans le flux de contenu, copiables et recherchables mais invisibles sur la page — un endroit classique pour le texte qui devait être retiré, et parfois pour le texte qui ne devait jamais être vu. Les fichiers PNG et JPEG ont leur propre version de la même histoire : les octets ajoutés après le marqueur de fin sont ignorés par tout afficheur, mais restent dans le fichier, et les blocs de texte et segments de commentaire survivent couramment à la session d’édition qui les a écrits.

Les horodatages sont l’endroit où les documents se contredisent. Un PDF garde au moins deux dates dans son dictionnaire d’informations et souvent deux de plus dans son paquet XMP, écrites par des outils différents à des moments différents : l’exportateur, l’éditeur, l’optimiseur qui l’a recompressé lors du téléversement. Quand la date de création se situe après la date de modification, quand les dates XMP contredisent le dictionnaire d’informations ou quand une date tombe dans le futur, quelque chose dans la chaîne n’a pas raconté une histoire cohérente : une horloge était fausse, un champ a été modifié, ou le fichier a été assemblé à partir de pièces aux histoires différentes. Aucune de ces explications n’est automatiquement sinistre, et cette page ne choisit pas entre elles : elle montre les deux valeurs côte à côte pour que l’incohérence se voie au lieu de rester enterrée. Il en va de même pour la date Exif d’un appareil photo et le bloc de dernière modification d’un PNG : un horodatage est une affirmation que fait le fichier, et recouper les affirmations est tout ce que fait cet outil.

Utilisez les résultats avant de publier, pas après que quelqu’un d’autre l’a fait. Faites passer les rapports internes, les captures d’écran et les photos par un contrôle comme celui-ci et lisez ce qui fuirait avec eux : noms d’auteur et d’utilisateur, noms d’outils internes, les dates d’origine, les pièces jointes que vous avez oubliées, la révision qui garde encore le paragraphe que le service juridique a retiré. Le nettoyage devient alors une étape délibérée — réexporter depuis la source avec les métadonnées retirées, aplatir et réécrire le fichier entièrement plutôt que l’enregistrer de façon incrémentale — puis revérifier la copie que vous envoyez réellement. Et gardez la limite d’honnêteté en vue tout du long : un résultat propre signifie qu’aucune surprise structurelle n’a été trouvée aux endroits que cette page examine ; il ne certifie pas l’origine d’un document, et un résultat surprenant est une question à poser, pas une accusation à porter.

Questions fréquentes

Mon fichier est-il téléversé quelque part ?

Non. Le fichier est ouvert et analysé dans cette page, sur votre appareil, et rien n’est téléversé, transmis ni stocké. Analyser un fichier ne fait aucune requête réseau, donc la page fonctionne hors ligne une fois chargée — ce qui compte, car les documents qui valent le plus la peine d’être vérifiés sont exactement ceux que vous ne devriez pas envoyer au serveur d’un inconnu.

Cet outil peut-il me dire qui a créé un fichier, ou s’il a été fait par une IA ?

Non — et méfiez-vous de tout outil qui prétend le contraire. Les champs de métadonnées sont du texte qu’un programme a écrit dans le fichier ; ils peuvent être modifiés, hérités d’un modèle ou copiés d’un autre document, donc ce sont des témoignages, pas des preuves. La preuve structurelle ne peut pas établir l’auteur. Cette page rapporte les valeurs présentes et les endroits où un fichier se contredit, et laisse les questions d’auteur à la preuve qui peut réellement y répondre.

Qu’est-ce qu’une mise à jour incrémentale, et pourquoi est-ce important ?

Les éditeurs PDF peuvent enregistrer les changements en ajoutant une nouvelle révision au lieu de réécrire le fichier. Chaque enregistrement laisse un marqueur %%EOF, donc plusieurs marqueurs signifient plusieurs révisions ajoutées — et les révisions antérieures restent lisibles dans les octets, y compris le contenu que les révisions ultérieures semblent supprimer. C’est pourquoi couvrir du texte d’un rectangle ou le supprimer dans un enregistrement incrémental ne le retire pas du fichier. Une réécriture complète ou une réexportation est ce qui écarte réellement les anciens octets.

J’ai trouvé du texte caché dans un PDF. Cela veut-il dire que quelqu’un a triché ?

Pas en soi. Le texte peint en mode de rendu 3 est invisible mais présent, et il y a des raisons légitimes à cela : les couches OCR se placent derrière les images de pages numérisées pour que la page puisse être recherchée et copiée, et certains producteurs émettent du texte invisible pour l’indexation. Il devient un problème quand le texte invisible devait avoir disparu : un nom masqué qui reste copiable est une fuite, quelle qu’ait été l’intention. Lisez le constat comme “regardez ici”, pas comme un verdict.

Comment retirer ces métadonnées avant de publier ?

Travaillez à la source quand vous le pouvez : effacez les propriétés du document dans l’outil de création, exportez avec les options de métadonnées désactivées et, pour les PDF, préférez une réécriture complète — impression en PDF ou nettoyeur dédié — à un enregistrement incrémental. Pour les images, réexportez via un outil qui retire l’Exif et les blocs de texte au lieu de les modifier sur place. Puis repassez la copie nettoyée dans cette page et confirmez que les constats qui vous importaient ont vraiment disparu.