Learn

284 статейКатегория: Все
Метаданные

SVGO и ручная проверка XML

Перед публикацией SVG иногда используют инструмент оптимизации вроде SVGO.

Это делают, чтобы уменьшить ненужные атрибуты, комментарии, метаданные и размер файла.

Это полезная работа.

Но при проверке анонимности нельзя сказать: «файл прошел через SVGO, значит безопасен». Информация, которую удаляет инструмент, и информация, которую должен увидеть человек, различаются.

В этой статье разобрано, зачем использовать SVGO и почему после этого нужна ручная проверка как XML.

Что такое SVGO

SVGO — инструмент для оптимизации SVG-файлов.

Его используют, чтобы удалить ненужные атрибуты и метаданные и сделать SVG легче. В официальном репозитории можно проверить использование, плагины и настройки.

URL: https://github.com/svg/svgo

Здесь рассматривается использование в локальной среде после проверки официальной информации. Если загрузить SVG в онлайн-сервис оптимизации, информация внутри XML и имя файла могут передаваться наружу.

SVGO удобен, но это не специализированный инструмент анонимизации.

Его цель в основном оптимизация. Он не решает и не удаляет всю информацию, связанную с анонимностью.

Что может уменьшить инструмент

В зависимости от настроек SVGO может уменьшать комментарии, метаданные, ненужные атрибуты, пустые элементы и другое.

Что иногда можно уменьшитьОписаниеОсторожность
КомментарииУдаление XML-комментариевЗависит от настроек
Метаданныеmetadata-элементы и похожееЭто не обязательно вся информация
Ненужные атрибутыАтрибуты, не нужные для отображенияid и class могут остаться
Пустые элементыНеиспользуемые элементыНе значит, что вся скрытая информация распознана
Размер файлаУменьшение лишней записиСамо по себе не является анонимностью

Оптимизация — важный этап перед публикацией.

Но оптимизация и анонимизация — не одно и то же.

Почему нужна ручная проверка

Инструмент не полностью понимает смысл строк.

Например, без контекста нельзя понять, project-alpha — внутреннее название проекта или просто ID фигуры. То же касается имени слоя school-map: связано ли оно с анонимностью, зависит от содержания публикации.

Информация, которая может остатьсяПочему смотрит человек
id и classНужно понять, не внутренние ли это слова или названия дел
text-элементНужно проверить, отображаемый это текст или скрытый
Имя файлаНе относится к обработке инструментом
Смысл внутри изображенияФон и логотипы оптимизация не удаляет
Контекстная информацияИногда понятна только связанным людям

В анонимности смотрят не только структуру файла, но и смысл.

Проверку смысла в итоге выполняет человек.

Порядок ручной проверки

После оптимизации через SVGO или похожий инструмент откройте SVG в текстовом редакторе.

Проверяйте в таком порядке.

ПорядокЧто проверятьПричина
1Имя файлаВидны настоящее имя, название дела, дата
2metadata-элементМогут остаться автор или сведения инструмента
3КомментарииОстаются рабочие заметки или внутренняя информация
4text-элементОстается невидимый текст или текст до удаления
5id и classОстаются имена слоев или внутренние слова
6URLВидны внешние ссылки или внутренняя среда

Искать только свое имя недостаточно.

Проверяйте также название компании, школы, отдела, проекта, почту, топонимы, старые ники и внутренние сокращения.

Нужна и визуальная проверка

Даже если XML чистый, информация может оставаться как видимое изображение.

Логотип, вывеска, карта, школьная эмблема, бейдж, имя пользователя, экранное уведомление, уникальный дизайн диаграммы — оптимизация этого не удаляет.

Видимая информацияОстающийся рискЧто проверять
ЛоготипВидна организация или сервисПри необходимости заменить
КартаВидны привычные места или локацияСнизить детализацию
Экранный UIВидны аккаунт или уведомленияПроверить до краев
Уникальная диаграммаСвязывается с прошлыми материаламиОсторожно с повторным использованием шаблона

SVG проверяют и как XML-содержимое, и как видимое изображение.

Одной стороны недостаточно.

Выбор между SVG и PNG

Когда нужна анонимность, можно выбрать публикацию не SVG, а PNG или другого формата.

После PNG-конвертации XML-комментарии и id обычно не выходят наружу.

Но видимая информация остается и в PNG. Кроме того, в изображении после конвертации могут появиться свои метаданные.

СпособПлюсОсторожность
Публиковать как SVGЧеткое масштабирование, удобно редактироватьПроверять информацию внутри XML
Публиковать после SVGOМожно уменьшить лишнюю записьНужна ручная проверка
Публиковать как PNGМожно уменьшить XML-информациюСмотреть информацию в изображении и метаданные

Подходящий формат зависит от цели и риска.

Если не нужно публиковать редактируемую схему, PNG тоже может быть вариантом.

Управлять настройками и исходными файлами

При использовании SVGO нужно думать не только об обработанном SVG, но и о настройках и исходном файле.

Если отправить исходный файл в той же папке, вместе с ним может уйти информация до оптимизации. В файле настроек тоже могут быть название проекта или внутренние комментарии.

ОбъектЧто проверятьПричина
Исходный SVGНе осталась ли необработанная информацияЕго могут случайно передать
Выходной SVGЧто осталось после оптимизацииЭто итоговый публикуемый файл
Файл настроекВнутренние комментарии и путиИногда попадает в передачу
Имя папкиНазвание дела или организацииВидно при передаче zip
READMEРабочие заметки и ответственныеИногда идет вместе при публикации

В анонимности не всегда достаточно смотреть только обработанный файл.

Проверяйте, не попали ли в загружаемую папку или zip исходники и заметки.

Даже при автоматизации в конце смотрит человек

Если SVGO используется каждый раз по одному порядку, автоматизация помогает.

Но автоматизация не отменяет проверку. Скорее, это подготовка к финальному человеческому просмотру.

После автоматической обработки откройте содержимое в текстовом редакторе, отобразите в браузере, проверьте имя файла и вложенные файлы.

Для высокорисковых файлов можно рассмотреть проверку другим человеком. Но этому человеку тоже придется передать файл, поэтому место консультации выбирают осторожно.

Если публикуемый объект не отдельный файл, а zip или папка, проверяйте не только выходной SVG, но и вложенные материалы.

Старые SVG, исходные данные, рабочие заметки и файлы настроек могут попасть рядом с оптимизированным файлом и раскрыть информацию из другого места.

Итоги

SVGO — удобный инструмент для оптимизации SVG.

Он иногда уменьшает комментарии, метаданные, ненужные атрибуты и похожую информацию.

Но SVGO не является специализированным инструментом анонимизации. Внутренние слова, id, class, text-элементы, имя файла и видимую информацию в изображении нужно проверять человеку с учетом контекста.

Перед публикацией после обработки SVGO или похожим инструментом откройте файл как XML и проверьте содержимое.

В анонимности важно не то, что файл прошел через инструмент, а то, что в итоге осталось.

Связанные инструменты

Metadata inspection

ExifTool

Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://exiftool.org/

Открыть внешний сайт
Metadata removal

MAT2

Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.

Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.

URL : https://0xacab.org/jvoisin/mat2

Открыть внешний сайт

Связанные статьи