Learn

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

Проверка метаданных SVG

SVG — файл изображения, но внутри это текст.

В отличие от изображения, которое выглядит как PNG или JPEG, SVG-файл может сохранять в XML фигуры, текст, комментарии, имена слоев, сведения инструментов, ID, описания и другое.

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

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

В этой статье разобрано, какая информация остается в SVG и что проверять перед публикацией.

SVG — изображение с читаемым содержимым

SVG — сокращение от Scalable Vector Graphics, формата, который описывает векторное изображение через XML.

Круги, линии, текст, контуры, цвета и координаты записываются как теги и атрибуты. Поэтому SVG можно отображать в браузере как изображение и одновременно читать в текстовом редакторе.

Элемент внутри SVGИнформация, которая может остатьсяОсторожность для анонимности
text-элементТекст внутри изображенияИногда остается и невидимый текст
metadata-элементАвтор, инструмент, описаниеВидна среда создания
КомментарииРабочие заметки, именаНе видны внешне, поэтому легко пропустить
id и classИмена слоев и компонентовОстаются названия проектов или внутренние слова
Имя файлаИмя, название дела, датаВидно при передаче как есть

Опасность SVG в том, что внешний вид и внутреннее содержимое не совпадают.

Текст, который как будто удален с экрана, может остаться внутри XML.

Остается информация дизайнерских инструментов

SVG часто экспортируют из дизайнерских инструментов и инструментов построения схем.

При этом могут остаться название инструмента, настройки экспорта, имена слоев, имена объектов и название шаблона.

Остающаяся информацияПримерОсторожность
Инструмент созданияIllustrator, Figma, Inkscape и другиеУгадывается среда создания
Имя слояclient-logo, school-mapВидны название дела или организации
ID объектаuser-name, draft-titleВидно исходное назначение
КомментарииTODO, рабочие заметкиОстается внутренняя информация
Название шаблонаШаблон с названием компанииВедет к принадлежности

Одно название инструмента иногда не является большой проблемой.

Но название компании, школы, дела, внутреннего проекта или имя пользователя напрямую связано с анонимностью.

Осторожно с невидимым текстом

В SVG может оставаться невидимый или слишком мелкий текст.

Например, если имя из исходной схемы только вынесли за пределы области просмотра, сделали прозрачным или скрыли слой, текст иногда остается внутри XML.

СостояниеВнешний видСодержимое
Прозрачный текстНе виденОстается как text-элемент
Текст вне областиНе отображаетсяОстается с координатами
Скрытый слойНе виденИногда остается информация слоя
Мелкий текстЛегко не заметитьЧитается при увеличении или XML-проверке

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

Для SVG, которому нужна анонимность, важно не публиковать только после внешней проверки.

Что проверять

Перед публикацией SVG проверяют следующую информацию.

Пункт проверкиПочему смотреть
Имя автораМожет остаться личное имя или имя аккаунта
Название компании или школыВидна принадлежность или дело
Имена слоев и IDИногда остается название внутреннего проекта
КомментарииОстаются рабочие заметки или информация до удаления
Невидимый текстОстается текст, которого не видно внешне
Имя файлаВидно при передаче как есть

Способ проверки простой.

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

Как обращаться с инструментами оптимизации SVG

Для SVG есть инструменты оптимизации, которые удаляют ненужные метаданные и атрибуты.

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

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

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

Но пропуск через инструмент не гарантирует безопасность.

Что останется, зависит от настроек. Инструмент в основном удаляет ненужные атрибуты и метаданные; он не оценивает смысл текста, фона и видимой информации в изображении.

Даже при использовании SVGO итоговое содержимое проверяет человек.

Безопасно ли конвертировать в PNG

При конвертации SVG в PNG или другое растровое изображение текстовая XML-информация обычно перестает выходить наружу.

Но это не делает файл полностью безопасным.

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

Что уменьшается при конвертацииЧто остаетсяОсторожность
XML-комментарииТекст, видимый на изображенииНужна визуальная проверка
Имена слоевЛоготипы и фонВидны принадлежность или место
ID объектовМетаданные изображения после конвертацииПроверять и выходной файл

Конвертация — один из полезных способов.

Но после нее все равно проверяют внешний вид и информацию файла.

Практический порядок перед передачей

Перед публикацией SVG закрепляют порядок проверки.

Сначала копируют исходный файл и делают отдельный файл для публикации. Затем открывают содержимое в текстовом редакторе и ищут имена и названия организаций. После этого отображают в браузере и проверяют оставшийся видимый текст и логотипы. В конце смотрят, нет ли персональной информации в имени публикационного файла.

ПорядокДействиеЦель
1Скопировать исходный файлРазделить материал до редактирования и публикационную версию
2Открыть как текстПроверить информацию внутри XML
3Искать имена и названия организацийНайти прямые признаки
4Показать в браузереПроверить видимую утечку
5Переименовать файлУбрать внешнюю информацию

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

Чем сильнее спешка, тем важнее не решать только по внешнему виду.

Для высокорисковых SVG пересмотреть формат публикации

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

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

Но и PNG не убирает фон и видимый текст.

Смена формата нужна не для уменьшения проверки, а для выбора другого типа проверяемой информации.

Итоги

SVG отображается как изображение, но внутри это текст.

В нем могут оставаться имя автора, название компании, школы, имена слоев, ID, комментарии, невидимый текст и рабочие заметки.

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

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

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

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

Metadata inspection

ExifTool

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

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

URL : https://exiftool.org/

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

MAT2

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

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

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

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

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