mat2: очищення мета-даних для різних форматів


В мене давно назбиралась колекція дампів різних сторінок, які я зберігаю в PDF для бекапів, локального перегляду (оскільки такий формат складається з одного файлу) а також планую поділитися ними з іншими, опублікувавши десь на хмарі FTP:


Організація гостьового сервера FTP

Організація багатокористувацького файло-обмінника на базі FTP / vsftpd


Як і більшість тодішніх соціально-орієнтованих форматів (от як зображення JPEG з EXIF-інформацією про GPS розташування) PDF - не є "безпечним" виключенням, оскільки може містити в собі як віддалений вміст, вбудований скриптинг так і цифровий відбиток пристрою: версію рушія, дату створення документу, тощо.


Згодом, зайнявся сабжем і першою знайшов утиліту mat2, яка написана мовою Python і розроблялась у якості частини проєкту Tails.


Підтримувані формати


На момент публікації, версія 0.14 підтримує наступні формати:



CLI


mat2, перш за все - інструмент командного рядка, яким власне і користуюся сам.


Встановлення


dnf install mat2

Перевірка залежностей


Перед початком роботи, варто перевірити наявність залежностей, без яких програма може працювати не коректно:


mat2 --dependencies

Повне стирання мета-даних


mat2 /path/to/file

mat2 --inplace /path/to/file

Часткове стирання мета-даних


На прикладі PDF, "Повне стирання" передбачає створення його графічної форми замість текстової. Наскільки я розумію, це потрібно для обфускації фінгерпринтів: шрифтів або можливо ідентифікації системного рендерера. Тому вихідний файл ".cleaned" займатиме замість умовних 100 Кб оригіналу - близько 2 Мб.


Тому, якщо потрібно просто скинути мета-інформацію без додаткової анонімізації, додаємо опцію "--lightweight" (або "-L")


mat2 --lightweight /path/to/file

Перевірка мета-даних


mat2 --show /path/to/file

Наприклад, якщо початковий файл PDF містив такі мета-дані:


$ mat2 -show /path/to/file.pdf
[+] Metadata for /path/to/file.pdf:
    creation-date: 1764124192
    creator: Mozilla Firefox 145.0.1
    format: PDF-1.7
    mod-date: -1
    producer: cairo 1.18.0 (cairographics.org)

то його "очищена" версія виглядатиме так:


$ mat2 --show /path/to/file.cleaned.pdf
[+] Metadata for /path/to/file.cleaned.pdf:
    creation-date: -1
    format: PDF-1.5
    mod-date: -1

Повний список опцій


Інші комбінації підбирайте під власні потреби: їх там не так багато:


mat2 --help

Посилання


Схоже на актуальний репозиторій проєкту

Ще один репозиторій, який чомусь в топах Google (востаннє оновлений 4 роки тому)


GUI


Metadata Cleaner - проста графічна обгортка для mat2 на базі GTK 4.


Встановлення


dnf install metadata-cleaner

Посилання


https://metadatacleaner.romainvigier.fr

https://gitlab.com/rmnvgr/metadata-cleaner



/uk/