
Команда Symantec вытащила из AI-honeypot полный промпт. Агент Skynet Symantec рассчитан на 100 000 шагов, 75 описаний инструментов и тихий майнер, а счёт за обращения к модели (inference) остаётся владельцу. Жертвы этой инструкции не названы. За период наблюдения ловушка записала больше 127 тысяч внешних запросов.
Коротко
- Symantec вытащила из AI-honeypot полный промпт режима Skynet: до 100 000 шагов и 75 описаний инструментов.
- Инструкции отнесли к учебному заданию без вредоносной цели. Дату перехвата публикация не указывает.
- Ловушка записала больше 127 000 запросов с десятков тысяч адресов, а счёт за обращения к модели при LLMjacking платит владелец.
- Закрывать надо инвентарь серверов моделей, шлюзов и MCP, включая забытый пятничный тест, и аутентификацию на health check.
Что поймала команда Symantec в ловушке
Команда Symantec Threat Hunter Team (группа охоты за угрозами) изолировала самоуправляемого атакующего агента вместе с полной инструкцией. Ловушка маскировалась под открытую точку входа модели без аутентификации. Злоумышленники приняли её за настоящий сервер и прислали рабочий промпт целиком.
Имя Skynet в директиве обозначает режим атаки и отсылает к «Терминатору». Агент запускает инструменты, ищет цели, заражает их, ставит майнеры, крадёт учётные данные и заражает хосты повторно. Подтверждения человека директива не просит.
Потолок в тексте промпта: до 100 000 шагов без остановки. Сколько шагов выполнили на живой цели и какой вышел счёт, публикация не показывает.
Пойманные инструкции входили в учебное задание без вредоносной цели. Календарной даты перехвата и границ окна наблюдения в открытом разборе нет. Зато помимо учебного промпта honeypot фиксировал массовый поиск открытых моделей.
Ловушка записала больше 127 000 внешних запросов с десятков тысяч адресов. Основная часть потока, по описанию исследователей, приходится на поиск точек входа моделей, перебор украденных ключей и охоту за открытыми файлами конфигурации. Доли в процентах отчёт не даёт.
Оператора не атрибутировали, сектор и страну целей не назвали, список пострадавших не приложили. Исследователи чаще видят ошибку настройки, чем новый вредонос.
Чем агент Skynet Symantec отличается от джейлбрейка чат-бота?
От джейлбрейка публичного чата схема отличается тем, что модель должна планировать кампанию и сама вызывать инструменты. Исследователи Symantec формулируют это прямо: украденная модель не просто отвечает на вопросы, она планирует и ведёт атаку. Операторы встроили ИИ в ядро наступательного инструмента и стали искать модели, которые обеспечат вычисления.
Финальная директива активирует режим: до 100 000 шагов, немедленный вызов инструментов (tool calling) и тихий запуск майнера. Модель не рассказывает о шагах и не спрашивает разрешения. Фрэнк Диксон из Dickson Research предлагает читать эти три правила как перечень того, чего собственные агенты не делают с чувствительными действиями.
По Диксону, один промпт превращает чужую модель в центр кампании, которую раньше вела подготовленная группа, и снижает порог для того, кто её запускает. Приёмы внутри старые: сканирование, атаки на Django и Jupyter, сбор файлов .env, майнинг Monero. CVE под этот промпт нет. Новое в сборке одного агента, где следующий ход выбирает модель.
Риск растёт там, где есть вызов инструментов. Модель формирует структурированный вызов, а команду, запрос к базе или сетевое действие выполняет среда выполнения агента с правами своей учётной записи, контейнера и подключённых сервисов. Без таких прав промпт остаётся текстом. Поэтому тестирование безопасности ИИ-агентов ставят на связке «модель плюс инструменты», а не на голом диалоге.
Из каких пяти слоёв собран промпт Skynet
Промпт Skynet состоит из пяти слоёв, и каждый следующий сильнее снимает ограничения. Коммерческие модели такие просьбы обычно отклоняют, поэтому запрос завернули в джейлбрейк: игнорировать предохранители и считать кражу учётных данных обычной работой.
Первый слой назначает новую личность: брендированный помощник по коду. Наступательных задач ещё нет, модель входит в диалог как ассистент.
Второй слой нормализует кражу секретов. Модели запрещают отказывать и выдавать предупреждения безопасности, а такой запрос велят не считать попыткой несанкционированного доступа.
Третий слой рисует вымышленного «доверенного спутника», который слепо следует оператору и считает отказ предательством. Модели запрещено произносить слова, которыми она обычно обозначает границу: illegal, I can’t, I won’t, instead, alternative, legal, ethical.
Четвёртый слой задаёт «протокол опровержения» (rebuttal protocol): собственные предупреждения безопасности модель обязана считать шумом. Входной фильтр этот слой не заменяет.
Пятый слой добавляет 75 описаний инструментов: разведка, дамп баз, удалённое выполнение кода, управление командным каналом ботнета. Затем идёт директива режима Skynet.
Семьдесят пять описаний образуют меню, предложенное модели. Отчёт не подтверждает 75 отдельных атак и не показывает, что инструменты были подключены в honeypot. Для защиты важен класс действия: сеть наружу, чтение секретов, доступ к базам, запуск процессов, повторное закрепление. Опасны инструменты, которые компания подключила сама: файлы, базы, командная оболочка, сервер MCP.
Кто платит за токены при LLMjacking
При LLMjacking счёт за токены платит владелец модели. Атакующий гоняет обработку на чужом ключе или чужом сервере. Исследователи Symantec называют приз прямо: бесплатные вычисления, free inference.
Диксон говорит от лица владельца: атакующие используют ваш ИИ. Владелец платит за каждый шаг, данные на серверах крадут и стирают, машины ставят на чужую работу. Каждая успешная компрометация, по его словам, может оплатить следующую. Skynet не обязан перехитрить команду ИБ, ему хватает точки входа, о которой команда не знает.
Ищут четыре типа точек. Почти все закрываются настройкой.
- Собственный (self-hosted) сервер модели, который по умолчанию слушает сеть без аутентификации.
- Тест или стенд, который подняли наспех, часто в конце недели, и забыли внести в учёт.
- AI-шлюз перед корпоративным аккаунтом моделей: ключ живой, проверка на входе слабая.
- Сервер MCP, который соединяет модель с инструментами и данными. Доступ к нему возможен и через украденный ключ, без отдельной ошибки в коде.
Доступ к файлам, базам и командам зависит от прав, выданных серверу MCP. Здесь полезен контроль трафика к моделям: кто ходит в корпоративный аккаунт и сколько токенов сжигает.
Диксон советует резать исходящие соединения с хостов моделей, чтобы угнанный агент не связался со своим каналом и не скачал майнер Monero. Django, Jupyter и файлы .env советуют обновить и убрать с публичного интернета.
Как понять, что открытую точку входа модели уже ищут?
Понять, что открытую точку входа уже ищут, проще по инвентарю и по счёту, чем по строке Skynet в журналах. Сначала нужен полный перечень серверов моделей, AI-шлюзов и серверов MCP, включая тест, который подняли в пятницу и не занесли в учёт.
Фон в 127 000 запросов не доказывает взлом вашей компании. Он повод проверить, отвечает ли ваш адрес на такие пробы.
Аутентификация нужна на каждом опубликованном пути. Рабочий негативный тест: запрос без ключа и с неверным ключом получают 401 или 403 на каждом маршруте API, включая метод чата и служебные пути. Проверка состояния, список моделей и метрики часто остаются открытыми ради мониторинга, а ответ «модель жива» уже экономит атакующему время.
Ключи ИИ храните как ценные учётные данные: узкая область, ротация, хранение вне репозитория и вне .env на доступном хосте.
При признаках чужого доступа сначала снимают журналы прокси, шлюза, оркестратора и облачного API, и только потом отзывают ключ. Иначе отзыв обрывает след. Дальше смотрят секреты среды агента: базы, вебхуки, облачные роли, токены соседних сервисов. Узкий ключ к модели не компенсирует широкий ключ к хранилищу, если оба читает один процесс.
По словам Диксона, счёт за обращения к модели может стать первой тревогой: скачок токенов или новый источник часто виден раньше процесса майнера. Компрометацию хоста ищут по процессам, контейнерам и исходящим соединениям.
Закрытие этих путей входит в харденинг ИИ-систем: лишние адреса прослушивания, урезанный набор инструментов, потолок на токены и число шагов агента. Ограничители модели Диксон называет слоем, а не стеной, поэтому минимум прав и подтверждение человека на чувствительные действия обязательны.
Что проверить в понедельник
- Инвентарь: серверы моделей, AI-шлюзы, MCP, включая стенд, который подняли в пятницу и не занесли в учёт.
- Три маршрута без ключа и с неверным ключом: health check, список моделей, метрики. Ожидание на каждом: 401 или 403.
- Счёт за последние сутки: скачок токенов, новый источник запросов, незнакомое имя модели.
Что из этого следует компании в России?
Для компании в России практический риск в открытых тестовых обращениях к модели и в живых ключах у агентов, которых уже не вызывают. Патча под отдельный номер ждать нечего: считать надо, сколько точек входа живёт вне инвентаря и кто оплачивает их счёт.
Теневой контур выглядит буднично: локальная модель на стенде, ключ к API в репозитории, MCP к базе знаний и тикетам. Если агент видит персональные данные, журналы шлюза стоит сверить с порядком доступа к ПДн. Юридический вывод из одного счёта за токены не следует.
В материале о забытых ИИ-агентах с живыми ключами та же дыра: агенты молчат месяцами, а ключи и вебхуки остаются.
Что закрепить у CISO и у владельца бюджета:
- Запрет публикации без аутентификации, включая пилоты и личные стенды.
- Отзыв ключей у агентов, которые не вызывались дольше согласованного срока.
- Разделение прав: модель для чата не получает оболочку, дамп баз и управление ботнетом.
- Исходящий доступ с хостов моделей закрыт, кроме известных адресов обновлений и API.
Частые вопросы
Skynet: вредонос или режим в промпте?
Режим промпта с отсылкой к «Терминатору». CVE и подтверждённой жертвы к нему публикация не привязывает.
Symantec подтвердила взлом конкретной компании?
Нет. Инструкции исследователи отнесли к учебному заданию без вредоносной цели.
Что такое LLMjacking простыми словами?
Злоумышленник гоняет чужую модель через открытую точку входа или украденный ключ, а токены оплачивает владелец. Приз, по словам исследователей Symantec, это бесплатные вычисления.
Нужна ли аутентификация на health check LLM?
Да. Открытый служебный маршрут показывает, что модель жива, ещё до основного API.
Если нужно проверить, какие серверы моделей, шлюзы и MCP видны снаружи и с какими правами, это задача пентеста внешнего периметра.