Статьи · Безопасность

Можно ли заразиться вирусом через SVG-файл

SVG долгое время считался «просто картинкой» — безопасной в отличие от .exe или макросов в .docm. Но внутри SVG — это не растровое изображение, а текстовый XML-документ, и в 2026 году злоумышленники массово используют это свойство, чтобы прятать в иконках и вложениях вредоносный JavaScript. Прежде чем доверять файлу расширение .svg (о том, чем вообще открывают SVG в обычных задачах, мы уже писали отдельно), стоит понять, как устроена эта подмена и чем она отличается от опасности в классических опасных расширениях вроде .exe и .js.

Коротко: да, через SVG-файл можно получить вредоносный код — в отличие от JPG/PNG, SVG — это текстовый XML-документ, который умеет выполнять JavaScript и HTML. В 2026 году зафиксированы массовые фишинговые кампании с SVG-вложениями (voicemail-письма, подделки DocuSign/SharePoint), которые обходят почтовые фильтры. Не открывайте SVG из непроверенных писем — проверяйте код или открывайте в безопасном режиме.

Обновлено: 31 октября 2026 Редакция Loadfile Чтение 9 мин
Можно ли заразиться вирусом через SVG-файл
Содержание
  1. Что такое SVG и почему это не «просто картинка»
  2. Как SVG-файл заражает компьютер: механика атаки
  3. Реальные кампании 2026 года: цифры и факты
  4. Почему антивирусы и почтовые фильтры часто пропускают вредоносный SVG
  5. 7 шагов: как проверить SVG-файл перед открытием
  6. Таблица: что ищем в коде SVG
  7. Что делать, если уже открыли подозрительный SVG
  8. Как обезопасить себя заранее
  9. Частые вопросы

Что такое SVG и почему это не «просто картинка»

SVG (Scalable Vector Graphics) — это формат векторной графики, но технически он устроен совсем не так, как JPEG или PNG. JPEG и PNG — это бинарные растровые данные: сетка пикселей, у которой просто нет механизма что-либо «выполнить». SVG-файл — это текстовый документ в формате XML, и открыть его можно в обычном блокноте: внутри будут читаемые теги вроде <svg>, <path>, <circle>, которые браузер интерпретирует и рисует как изображение.

Проблема в том, что спецификация SVG, поддерживаемая браузерами, разрешает внутри того же XML-документа тег <script> с полноценным JavaScript, элемент <foreignObject>, который может встраивать произвольный HTML, и event-обработчики вроде onload или onclick, которые срабатывают прямо в момент открытия файла в браузере. То есть SVG-файл — это не картинка со скрытым кодом «внутри пикселей», а полноценный исполняемый веб-документ, который просто выглядит как картинка. Это и есть ключевое отличие от других форматов изображений: он «вирус через картинку» в буквальном смысле, а не метафорически.

💡
Главное отличие от JPG/PNG

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

Как SVG-файл заражает компьютер: механика атаки

Схема типичной атаки простая: пользователь получает SVG-файл (во вложении письма, в сообщении мессенджера или как «превью» на сайте), открывает его двойным кликом или по ссылке — файл запускается в браузере по умолчанию, встроенный JavaScript выполняется, и дальше сценарий зависит от цели атакующего: показ фальшивой страницы логина, скрытая загрузка вредоносной программы или перенаправление на фишинговый сайт.

Подмена MIME-типа (text/plain вместо image/svg+xml) — почему это обходит фильтры

Один из приёмов, который используют злоумышленники, — указать для SVG-вложения MIME-тип text/plain вместо ожидаемого image/svg+xml. Многие сканеры почтовых вложений настроены анализировать файлы изображений иначе, чем текстовые или HTML-файлы: изображение они, как правило, проверяют только на структурные аномалии декодера, а не на наличие исполняемого кода. Если фильтр классифицирует вложение как «обычный текст», а не как потенциально активный документ, часть проверок, рассчитанных на HTML/JS-вложения, просто не применяется — файл проскакивает мимо специфичных для скриптов эвристик.

Что скрывают внутри — обфусцированный JavaScript, base64, CDATA-блоки

Чтобы вредоносный код не бросался в глаза при беглом просмотре и труднее поддавался сигнатурному анализу, его обфусцируют: кодируют в base64 и декодируют на лету функцией atob(), оборачивают в <![CDATA[ … ]]>-блоки (формально предназначенные для безопасной вставки произвольного текста в XML), либо используют операции вроде XOR для «расшифровки» полезной нагрузки прямо в браузере жертвы. Внешне такой SVG-файл может выглядеть как безобидная иконка или логотип — визуально отрисовывается именно то изображение, которое ожидает увидеть пользователь, а вредоносная часть кода срабатывает параллельно и незаметно.

Как вредоносный код прячется внутри SVG-файла
!
Важно

Наличие в SVG тегов <script>, <foreignObject> или обработчиков onload/onclick само по себе не доказывает заражение — у части легитимных интерактивных SVG-анимаций такие конструкции тоже встречаются. Но для файла из непроверенного источника это весомый повод для подозрения, а не рядовая деталь разметки.

Реальные кампании 2026 года: цифры и факты

SVG-смаглинг (SVG smuggling) — не теоретический риск, а задокументированная тактика, которую в 2026 году зафиксировали несколько независимых команд threat intelligence.

По данным Sophos X-Ops, злоумышленники массово используют SVG-вложения для брендовой подмены — рассылки маскируются под уведомления DocuSign, SharePoint, Dropbox, Google Voice и RingCentral. Исследователи Sophos разобрали кейс, где внутри SVG-файла был зашит base64-кодированный ZIP-архив с кейлоггером, детектируемым как Troj/AutoIt-DHB: пользователь думал, что открывает уведомление о документе, а на деле запускал цепочку заражения.

Отдельную масштабную кампанию описали в Kaseya и INKY: с июня по август 2026 года была зафиксирована рассылка из 26 589 писем, нацеленная на 5527 организаций. Письма маскировались под уведомления о голосовых сообщениях (voicemail) и содержали вредоносные SVG-вложения; по данным того же источника, 75% этих писем успешно прошли спам-фильтр Microsoft 365. Там же отмечен резкий рост самого явления: количество вредоносных SVG-вложений выросло в 50 раз в 2025 году по сравнению с 2024-м.

Ещё одну волну описывает SecurityWeek со ссылкой на Microsoft Threat Intelligence: в период 23–25 февраля 2026 года была замечена кампания с более чем 1,2 млн писем, затронувшая свыше 53 000 организаций в 23 странах — SVG-вложения в ней использовались для браузерного (browser-native) перенаправления жертв на фишинговые страницы без промежуточной загрузки отдельного файла.

Отдельно стоит кейс, который разбирает Habr со ссылкой на исследование Sansec — атака под названием PolyShell, в которой вредоносный код прятался в SVG-изображении размером 1×1 пиксель (классический «невидимый» трекинговый пиксель). Атака затронула порядка 100 интернет-магазинов на платформе Magento: код выполнялся через onload, использовал atob() для декодирования полезной нагрузки и XOR для дополнительной маскировки.

Почему антивирусы и почтовые фильтры часто пропускают вредоносный SVG

Корень проблемы — в том, как исторически классифицируются типы файлов в системах защиты. Большинство антивирусных движков и спам-фильтров много лет оптимизированы на то, чтобы ловить вредоносный код в исполняемых файлах, скриптах и офисных документах с макросами — именно эти категории годами считались основным вектором атак (см. также разбор макросов в Word и Excel как похожего по логике «безопасного на вид» вектора). Файлы изображений традиционно относили к низкому риску и проверяли в первую очередь на структурные аномалии декодера — переполнение буфера, повреждённые заголовки, — а не на наличие активного кода внутри.

SVG формально — изображение по расширению и по MIME-типу image/svg+xml, поэтому многие защитные системы применяют к нему именно эту, более мягкую, логику проверки, а не ту, что используется для HTML- или JS-вложений. В результате SVG-файл с внедрённым <script> может технически считаться «изображением» для фильтра — и при этом вести себя как полноценный исполняемый веб-документ при открытии в браузере.

7 шагов: как проверить SVG-файл перед открытием

Чек-лист ниже не требует специализированных инструментов безопасности — подойдёт для обычного пользователя и небольшой компании без выделенной security-команды.

  1. Проверьте источник письма или файла. Ожидали ли вы вложение от этого отправителя? Совпадает ли адрес с официальным доменом компании, от имени которой пришло письмо? Неожиданный SVG «от DocuSign» или «голосовое сообщение» — уже повод насторожиться.
  2. Откройте файл как текст — НЕ в браузере. Переименуйте расширение на .txt или откройте файл через «Открыть с помощью» → Блокнот / VS Code. Так вы увидите исходный XML-код, но не запустите его — браузер не интерпретирует содержимое текстового файла как исполняемый SVG.
  3. Ищите опасные паттерны в коде. Теги <script> и <foreignObject>, обработчики onload= и onclick=, ссылки, начинающиеся с javascript:, длинные строки data:-URL и любые внешние адреса http(s):// внутри файла — всё это нетипично для простой иконки или логотипа.
  4. Сверьте расширение с реальным MIME-типом письма. Если почтовый клиент или заголовки письма показывают вложение как text/plain или application/octet-stream вместо ожидаемого image/svg+xml, это несовпадение — самостоятельный тревожный сигнал, описанный выше в разделе про подмену MIME-типа.
  5. Прогоните файл через антивирус или онлайн-сканер. Загрузите файл на VirusTotal или проверьте установленным антивирусом — часть вредоносных SVG уже попадала в базы сигнатур после публикации исследований Sophos, Kaseya и Microsoft.
  6. При сомнении — конвертируйте в PNG, а не открывайте оригинал. Рендеринг SVG в растровый формат (например, через онлайн-конвертер или редактор изображений) создаёт новый файл из пикселей — исполняемый код в него физически не переносится, потому что в PNG нет синтаксиса для его хранения.
  7. Не вводите логин и пароль на странице, открывшейся из SVG-вложения. Если после открытия файла браузер показал форму входа (даже похожую на DocuSign, SharePoint или банк) — это, скорее всего, фишинговая страница, а не легитимный сервис.
Проверка SVG-файла перед открытием

Таблица: что ищем в коде SVG

Паттерн в кодеЧто это значитОпасность
<script>Встроенный JavaScript, выполняется при открытии в браузереВысокая
<foreignObject>Встраивание произвольного HTML внутрь SVG-документаВысокая
onload / onclickEvent-обработчики, запускающие код без клика пользователя (onload) или по кликуВысокая
ссылки javascript:Прямой вызов скрипта через псевдопротокол ссылкиВысокая
data:-URLВстроенные данные (часто base64) — могут скрывать полезную нагрузкуСредняя-высокая
внешние <image href="http…">Загрузка внешнего ресурса — подтверждает факт открытия файла атакующемуСредняя
<iframe>Встраивание стороннего веб-контента внутрь SVGВысокая

Что делать, если уже открыли подозрительный SVG

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

  1. Отключитесь от сети. Выключите Wi-Fi или выдерните кабель — это прервёт связь с сервером атакующего, если вредоносный скрипт пытается что-то передать или скачать.
  2. Не вводите никакие логины и пароли на открывшейся странице, даже если вы уже начали это делать — остановитесь и закройте вкладку.
  3. Проверьте компьютер антивирусом — запустите полное сканирование, а не быстрое, чтобы проверить все разделы диска, а не только системные папки.
  4. Если данные всё же были введены — немедленно смените пароли к затронутым сервисам, желательно с другого, незаражённого устройства, и включите двухфакторную аутентификацию там, где её ещё не было.
⚠
Главное правило

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

Как обезопасить себя заранее

  • Не открывайте SVG-вложения из непроверенных писем и сообщений в мессенджерах — особенно под видом голосовых сообщений (voicemail), счетов или уведомлений от сервисов документооборота.
  • Отключите автоматическое превью вложений в почтовом клиенте, если такая настройка доступна — это снижает риск случайного срабатывания скрипта до того, как вы успели проверить файл.
  • Используйте браузерные расширения-санитайзеры или онлайн SVG-сканеры, которые проверяют содержимое файла на опасные теги перед открытием.
  • Для бизнеса — закрепите в политике безопасности правило «SVG = потенциально активный контент», а не «SVG = картинка», и настройте почтовый шлюз на отдельную проверку SVG-вложений, а не общую проверку изображений.

Частые вопросы

Можно ли заразиться вирусом, просто открыв SVG-файл?

Да, если SVG содержит скрипт и открывается в браузере или просмотрщике, который его выполняет. Простой просмотр файла как картинки в проводнике Windows (через панель предпросмотра) безопаснее, чем открытие в браузере, где активный код действительно запускается.

Почему антивирус не находит вирус в SVG?

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

Как отличить безопасный SVG от вредоносного?

Откройте файл как текст (не в браузере) и проверьте на наличие тегов <script>, <foreignObject>, обработчиков onload/onclick, ссылок javascript: или data:. Наличие этих конструкций в файле из непроверенного источника — повод для подозрения.

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

Да. При рендеринге SVG в растровый формат встроенный код не выполняется и физически не переносится в итоговый файл — PNG хранит только пиксели. Стоит лишь сверить, что картинка после конвертации выглядит так же, как ожидалось.

Откуда обычно приходят вредоносные SVG?

Чаще всего — почтовые вложения, маскирующиеся под голосовые сообщения, счета или уведомления сервисов вроде DocuSign и SharePoint. По данным Sophos и Kaseya/INKY, именно такие кампании были массовыми в 2026 году.

Что делать, если я уже открыл подозрительный SVG-файл?

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

Опасны ли SVG-иконки на обычных сайтах?

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

Читайте также