SpiderLabs показала, как обмануть атакующих ИИ-агентов поддельными паролями

По данным SpiderLabs, атакующие ИИ-агенты всё чаще работают автономно: строят цепочки рассуждений, вызывают инструменты и сами принимают решения на отдельных этапах. Для защиты от них исследователи предлагают использовать старую идею обмана - подставные учётные данные, ловушки и ложные следы, рассчитанные на то, как модель интерпретирует контекст.

В новом исследовании SpiderLabs разбирает привычку моделей считать строку без символа выравнивания "=" в конце закодированной в Base64. Если в файле конфигурации лежит пароль, который выглядит как Base64, модель, скорее всего, декодирует его и передаст агенту расшифрованное значение. Агент попробует войти с ним, получит отказ и оставит след в логах. При этом настоящим паролем была сама строка в Base64 - модель искала «сокровище», не замечая, что оно лежит на поверхности.

В демонстрации использовался XML-файл с учётными данными вымышленного администратора. Модель охотно объясняла, что видит Base64-пароль, декодировала его и предлагала использовать результат для аутентификации. Агент в такой схеме тратит действие на заведомо неверный вход, а защита получает сигнал: неудачная аутентификация с подставной учётной записью может указывать на автоматизированный перебор.

Отдельный риск - скрытая инструкция внутри такого «пароля». Если закодировать в Base64 команду остановить работу и не использовать инструменты, модель может декодировать её и подчиниться. В эксперименте агент не сообщил о подмене и прекратил операции, что показывает: подставные данные могут работать не только как приманка, но и как канал атаки на сам ИИ-агент.

Практическая ценность подхода ограничена. Это демонстрация концепции, а не готовая защита: агент может попробовать строку как есть, поэтому мониторить нужно и неудачные, и успешные входы. Подставная учётная запись должна быть низкопривилегированной, а рядом стоит держать настоящие honeytoken-счётчики. Главный вывод исследования - защита от ИИ-агентов может строиться на тех же допущениях модели, которые атакующий использует против защитника.

Автор исследования напоминает, что в 2020 году уже писал о секретах в.NET-сборках и специально предупреждал: не стоит полностью исключать, что пароль действительно хранится в виде Base64-строки. Спустя шесть лет эта оговорка стала основой эксперимента с ИИ. Модель обучена на больших объёмах Base64-текста и почти автоматически применяет к нему декодирование, даже когда контекст говорит, что это и есть сам секрет.

В первом опыте строка без завершающего символа выравнивания выглядела как закодированная фраза с ведущим пробелом. Без контекста модель уверенно декодировала её и объяснила результат. Во втором опыте та же строка лежала в XML-файле с именем creds.xml, тегами Username и Password и доменной учётной записью администратора. Модель распознала формат, рассказала о рисках хранения пароля в открытом виде и всё равно предложила декодировать значение - то есть повела агента по ложному пути.

Если такой файл попадёт к атакующему агенту, следующий логичный шаг - проверить учётные данные входом в систему. Агент попробует расшифрованный пароль, получит отказ и, возможно, попробует исходную строку. Оба варианта можно отслеживать: подставная учётная запись должна быть низкопривилегированной, а успешный вход после серии неудач - отдельный сигнал для расследования. В статье подчёркивают, что это лишь демонстрация концепции и дополнительный слой обмана, а не замена ловушек-приманок.

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

Комментарии: 0