Новости · Безопасность файлов

Как вредоносный код спрятали в SVG-картинках с флагами — и антивирусы промолчали

Обычные на вид иконки флагов стран, лежащие в папке с картинками репозитория, оказались тайником для целого набора шпионского софта. Аналитики Elastic Security Labs описали кампанию, в которой злоумышленники раздробили вредонос на кусочки и спрятали их внутри SVG-изображений — так, что ни один антивирус не поднял тревогу. Разбираемся, как текстовая природа формата SVG снова обернулась угрозой и что из этого следует для всех, кто работает с файлами.

21 июля 2026 Редакция LoadFile Чтение 5 мин
Иконка файла-изображения из цветных плиток-флагов, распадающаяся на фрагменты скрытого кода

Коротко: 18 июля 2026 года Elastic Security Labs раскрыла кампанию Contagious Interview (REF9403). Четырёхэтапный вредонос OtterCookie разбили на части и спрятали в HTML-комментариях внутри SVG-картинок с флагами стран; отдельный JavaScript собирал их по алфавиту и запускал. На момент анализа образцы не детектировал ни один антивирус.

Что произошло

18 июля 2026 года исследователи Elastic Security Labs опубликовали разбор кампании, которую отслеживают под кодом REF9403 и связывают с давно известной операцией Contagious Interview — её приписывают группировке, действующей в интересах КНДР. Схема заражения старая: жертве под видом собеседования на позицию разработчика предлагают выполнить «тестовое задание» — скачать и запустить проект из репозитория. Новым оказался способ доставки полезной нагрузки.

Вместо того чтобы держать вредоносный код открыто, атакующие спрятали его внутри графических файлов. В служебной папке с ассетами лежали десятки безобидных на вид SVG-картинок с флагами странAE.svg, AF.svg и так далее. Для человека и для системы это были просто иконки. Но каждый файл нёс в себе фрагмент зашифрованной начинки.

Как работала стеганография в SVG

Стеганография — это сокрытие данных внутри других данных так, чтобы сам факт передачи был незаметен. Обычно её связывают с растровыми картинками, где биты прячут в пикселях. Здесь же злоумышленники использовали то, что формат SVG — это не набор пикселей, а текстовый XML-документ, в который можно вписать что угодно, в том числе комментарии.

Полезную нагрузку разбили на множество кусочков в кодировке Base64 и разложили по одному в HTML-комментарий каждого флага — в конструкцию вида <!-- ... -->. Затем в проекте лежал JavaScript-файл serverValidation.js, который выполнял всю сборку:

  1. читал список файлов в папке через fs.readdirSync() и оставлял только с расширением .svg;
  2. сортировал их по алфавиту — чтобы куски сложились в правильном порядке;
  3. регулярным выражением вытаскивал содержимое комментария из каждого флага;
  4. склеивал фрагменты, декодировал Base64 и запускал результат через eval().

Показательна и деталь маскировки: для декодирования применили не стандартные Buffer.from или atob(), а самописную функцию — именно чтобы не попадаться на типовые сигнатуры анализаторов. Внешне serverValidation.js выглядел как рутинная проверка на сервере, а по сути был сборщиком вредоноса из «картинок».

Что разворачивалось на машине жертвы

Собранная из флагов нагрузка оказалась четырёхэтапной и, по оценке Elastic, пересекается по признакам с известными семействами OTTERCOOKIE и BEAVERTAIL. По данным Elastic Security Labs, набор модулей включал:

  • кражу учётных данных из браузеров и данных криптокошельков;
  • сбор файлов с машины разработчика;
  • троян удалённого доступа (RAT) на основе Socket.IO;
  • перехват буфера обмена и дроппер исполняемого файла под Windows.

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

!
Почему это важно

Опасность нёс не «вирусный» файл, а набор обычных картинок плюс безобидный на вид скрипт. По отдельности ни один элемент не выглядел вредоносным — угроза собиралась только при запуске проекта. Это ровно тот случай, когда доверять нужно источнику, а не расширению файла.

Что это значит для работы с файлами

SVG всё чаще становится вектором атаки: ещё в отчётах 2025–2026 годов доля вредоносных SVG-вложений выросла в десятки раз, и мы подробно разбирали это в материале про опасные вложения RAR, SVG и PDF. Свежая кампания добавляет к картине новый нюанс: вредоносным может быть не только «одиночный» файл, но и связка внешне чистых элементов. Практические выводы:

  1. С осторожностью запускайте чужой код «из тестовых заданий». Просьба клонировать репозиторий и «просто запустить проект» на собственной машине — классический приём этой кампании. Проверяйте такой код в изолированной среде.
  2. Помните, что SVG — это текст, а не картинка. Присланный по почте или скачанный файл SVG можно открыть в текстовом редакторе: подозрительны как теги <script>, так и объёмные блоки Base64 внутри комментариев «изображения».
  3. Не полагайтесь только на антивирус. Как показал случай, детект по сигнатурам может молчать. Незнакомые файлы стоит дополнительно прогонять через онлайн-сервисы — как это делать, описано в гайде проверить файл на вирусы.

Базовые правила безопасной работы с загрузками, вложениями и резервными копиями собраны в разделе безопасность файлов. Главный принцип 2026 года остаётся прежним: безопасность файла определяется не его форматом, а тем, откуда он пришёл и что предлагает сделать.

Источники

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