Исследователи SentinelOne обнаружили новое malware для macOS, которое не только закрепляется в системе и крадет данные, но и отдельно пытается сорвать анализ образца с помощью ИИ-инструментов. Внутри вредоноса нашли 38 поддельных «системных» сообщений: они должны убедить LLM-ассистента аналитика, что у него истек токен, закончилась память или сломалась среда выполнения. Для русскоязычных команд безопасности это плохая, но важная новость: атакующие начали бить не только по хосту, но и по самим пайплайнам AI-assisted triage.
Как пишет The Hacker News, образец получил имя Gaslight, а его авторство SentinelOne с высокой уверенностью связывает с северокорейскими группами. Исследователь Фил Стокс описывает ключевую идею довольно точно: вредонос атакует не песочницу, а восприятие агента, который помогает разбирать артефакт. Это уже не классический антидебаг и не попытка уйти от сигнатурного детекта. Логика другая: если аналитик все чаще использует LLM в реверсе, значит можно отравить и этот слой.
По архитектуре Gaslight выглядит как вполне приземленный, хотя и аккуратно собранный шпионский набор. Основной имплант написан на Rust и работает как командный агент для macOS. В качестве канала управления он использует Telegram Bot API: вредонос уходит в цикл опроса и ждет команд оператора, а затем возвращает результат через тот же канал. Если два экземпляра с одним и тем же bot token одновременно начинают polling, Telegram отвечает ошибкой Conflict, и второй экземпляр завершает работу. С одной стороны, это техническая деталь. С другой, она показывает, что авторы неплохо понимают поведение собственной инфраструктуры и закладывают защиту от лишнего шума.
Набор команд у импланта тоже не декоративный. SentinelOne перечисляет шесть основных действий: help, чтобы вывести подсказку по командам; id, чтобы идентифицировать экземпляр оператору; shell, чтобы выполнить команду через execvp; kill, чтобы завершить процесс по PID; upload, чтобы утащить файл через механизм Telegram attach://; и stop, чтобы остановить сам имплант. Исследователи также заметили признаки седьмой команды под названием focus, но ее назначение пока не установлено. Для закрепления в системе вредонос использует LaunchAgent с меткой com.apple.system.services.activity в plist-файле, то есть пытается выглядеть как что-то штатное и не особенно интересное.
Отдельный слой Gaslight отвечает за сбор данных. Внутри образца спрятан Base64-кодированный Python-скрипт размером 6,6 КБ, который работает как модуль разведки и кражи информации. Он собирает историю команд из Terminal, список установленных приложений, снимки запущенных процессов, аппаратный и программный профиль macOS, базу macOS Keychain, а также данные из Chrome, Brave, Firefox и Safari. После этого все упаковывается в ZIP-архив temp/collected_data.zip и отправляется через Telegram. Сам Python-стилер разворачивается через отдельный bash-инсталлятор размером около 2 КБ, тоже закодированный в Base64. Инсталлятор подтягивает интерпретатор cpython-3.10.18 из проекта astral-sh/python-build-standalone. SentinelOne отдельно отмечает любопытную деталь: эмодзи и объемные комментарии в этом скрипте намекают, что его, вероятно, генерировали с помощью LLM. Ирония здесь почти слишком очевидна: авторы используют ИИ, чтобы удобнее писать вредонос, и одновременно используют prompt injection, чтобы мешать ИИ разбирать этот вредонос.
Самая необычная часть истории как раз в prompt injection. Конфигурация оператора, включая bot token и chat ID, не зашита в образец жестко, а передается в рантайме. Более того, имплант сам скрывает токен Telegram в собственном выводе, чтобы он не утек через логи или краш-артефакты. Поверх этого внутрь добавлен блок в Markdown с 38 сфабрикованными сообщениями якобы от системы. В них говорится об истечении токена, нехватке памяти, переполнении диска, повторяющихся ошибках операций, уязвимостях инъекции и флагах статического анализа. Цель проста: заставить LLM-ассистента прервать анализ, усечь вывод или вообще отказаться от разбора файла. Это уже очень похоже на попытку целенаправленно «отравить» автоматизированные конвейеры, которые все чаще стоят между первичной находкой и живым аналитиком.
Для разработчиков и security-команд здесь несколько неприятных выводов. Первый: malware для macOS давно перестало быть нишевой экзотикой, рассчитанной только на массовый фишинг под криптокошельки. Gaslight показывает более зрелый сценарий, где сочетаются постоянный доступ, сбор локальной телеметрии, кража браузерных и системных данных, а также отдельные меры против анализа. Второй: если компания уже встроила LLM в triage, sandbox reporting, SOC-автоматизацию или reverse engineering, значит этот слой теперь сам становится поверхностью атаки. Проверки вида «скормим образец агенту и быстро получим summary» без жесткой изоляции промптов, очистки контента и человеческой верификации начинают выглядеть слишком наивно.
Для бизнеса вывод еще проще. AI-помощники в безопасности полезны, пока их считают ускорителем работы, а не заменой базовой дисциплины анализа. Как только агент начинает безоговорочно доверять тексту из образца, атакующий получает шанс подменить не код исполнения, а контекст принятия решения. На практике это означает, что цепочки анализа нужно строить так, чтобы артефакт не мог диктовать правила самому анализатору: разделять данные и управляющие инструкции, фильтровать подозрительные текстовые блоки, логировать все отказы модели и не выпускать человека из цикла там, где речь идет о неизвестном импланте.
Gaslight вряд ли останется редким курьезом. Если прием с ложными системными сообщениями сработает хотя бы против части AI-assisted пайплайнов, его быстро начнут копировать и в macOS-стилерах, и в кроссплатформенных шпионских наборах. Тогда спор о том, можно ли доверять LLM в аналитике вредоносов, перейдет из теории в операционную рутину: защита должна будет учитывать не только то, что делает код, но и то, что он пытается внушить инструменту, который этот код читает. Первоисточник с техническими деталями можно посмотреть в .