SVGO и ручная проверка XML
SVGO помогает оптимизировать SVG, но не является инструментом анонимизации; после обработки нужно вручную проверить 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 | Имя файла | Видны настоящее имя, название дела, дата |
| 2 | metadata-элемент | Могут остаться автор или сведения инструмента |
| 3 | Комментарии | Остаются рабочие заметки или внутренняя информация |
| 4 | text-элемент | Остается невидимый текст или текст до удаления |
| 5 | id и class | Остаются имена слоев или внутренние слова |
| 6 | URL | Видны внешние ссылки или внутренняя среда |
Искать только свое имя недостаточно.
Проверяйте также название компании, школы, отдела, проекта, почту, топонимы, старые ники и внутренние сокращения.
Нужна и визуальная проверка
Даже если 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 и проверьте содержимое.
В анонимности важно не то, что файл прошел через инструмент, а то, что в итоге осталось.
Связанные инструменты
ExifTool
Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.
Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.
URL : https://exiftool.org/
MAT2
Внешний ресурс, связанный с этой статьей. Открывайте его только если он подходит вашей ситуации и модели угроз.
Почему указано здесь: Он может помочь с темой статьи, но находится вне Anonymity Sense, поэтому перед использованием его нужно проверить.
