Telegram Group Search
Fast Adversarial Attacks on Language Models In One GPU Minute
Sadasivan et al., University of Maryland, 2024

Препринт

Сегодня разберем gray-box-метод построения adversarial-суффиксов для джейлбрейка LLM под названием BEAST, что расшифровывается как Beam-Search-based Adversarial Attack (нужные буквы можете найти сами). Исследователи предлагают использовать beam search (знакомый тем, кто занимался машинным переводом), чтобы генерировать jailbreak-суффиксы, при этом, в отличие от GCG, суффиксы не только будут читаемыми, но и достанутся нам достаточно дешево, так как метод не требует расчета градиента.

Алгоритм достаточно нехитрый. Напомню, что суть лучевого поиска – при генерации текста (декодировании) одновременно отслеживать несколько гипотез, чтобы, в отличие от жадной генерации, ошибка при выборе первого слова не привела к плохому результату. В BEAST у нас есть два параметра – ширина луча k1 и число гипотез на каждой итерации k2. Проинициализируем начальную строку как системный промпт + пользовательский промпт с запросом на небезопасную генерацию, на ее основе выберем k1 гипотез, просто просемплировав из распределения вероятностей LLM без возвращения. Теперь аналогичным сэмплированием без возвращения для каждого луча генерируем k2 возможных продолжений. Теперь оценим перплексию нужного нам продолжения, которое, как мы полагаем, приведет к целевой генерации – а именно классическое “Sure, here is how to…”, и на ее основе выберем k1 новых кандидатов с самой маленькой перплексией. Повторим это L раз – вот и наш суффикс.

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

В качестве данных для тестирования используется печально известный AdvBench. Исследователи атакуют такие модели, как Vicuna-7B/13B, Mistral-7B, Guanaco-7B, Falcon-7B, Pythia-7B и Llama-2-7B. Важно отметить, что и для своего метода, и для других они проводят два эксперимента, где на атаку выделяют 1 или 2 минуты вычислениНа викуньях и мистрале ASR получается равным 80-90%, ламу джейлбрейкнуть не удается совсем, а остальные и без джейлбрейка генерируют все, что попросишь. Кроме джейлбрейка исследователи применяют свой метод сэмплирования для увеличения доли галлюцинаций, создавая суффикс, увеличивающий перплексию, а также для улучшения эффективности membership inference attack. Если честно, эти две атаки мне не совсем понятны – в примере с галлюцинациями исследователи просто напихивают в промпт кучу мусора и удивляются, что модель говорит «Я не понимаю, о чем речь» (см. скриншот), в MIA демонстрируют прирост в сотых-тысячных долях ROC-AUC по сравнению с просто вычислением перплексии строки.

Идея использовать beam search для поиска кандидатов неплохая, и она вполне дополняет любые атаки, включая тот же GCG. С другой стороны, в чистом виде эта атака кажется достаточно слабой, что особенно видно, если посмотреть на сравнения внимательнее. PAIR оценивается с Vicuna-13B в качестве атакующей модели, которая явно для этого слабовата. GCG не оценивается в режиме без ограничений на бюджет. AutoDAN без ограничений на бюджет работает гораздо лучше, причем в особенности при наличии фильтра на перплексию – а ведь именно «читаемость» суффиксов (а на самом деле именно низкая перплексия) заявляется как основное преимущество этого метода. Ну и оценка по возможности сгенерировать “Sure, here is” после запроса из AdvBench, как мы знаем из статьи про obfuscated gradients, не является показательной. Тем не менее, это еще один потенциально полезный инструмент в наборе инструментов пентестера.
LlamaFirewall: An open source guardrail system for building secure AI agents
Chennabasappa et al, Meta, 2025
Статья, блог, документация, код

Исследователи из Meta выпустили фреймворк для модерации вводов/выводов LLM с открытым исходным кодом под названием LlamaFirewall. Это решение позволяет из коробки защищаться от двух проблем: промпт-инъекций и генерации небезопасного кода.

Первая задача решается двумя методами. Первый – сканирование промпта с помощью классификатора PromptGuard 2. Он существует в двух вариантах: большой на базе mDeBERTa-base и маленький на базе mDeBERTa-xsmall – и призван детектировать попытки переписать инструкции (ignore all previous instructions), взять на себя новую роль (act as a malicious hacker) или проэксплуатировать разметку шаблонов промпта. Кроме того, в процессе обучения использовался кастомный механизм токенизации, чтобы избежать атак через разбиение слов на части. Моделька побольше, как обещают, является мультиязычной. Для оценки эффективности исследователи составили датасет из 600 сценариев (300 атак, 300 безобидных сообщений) с 7 техниками инъекции и 8 категориями угроз (на heatmap’е их, правда, 6). Согласно графикам, обе модели показывают себя лучше, чем, скажем, ProtectAI, хотя шкалы на графике 6 я расшифровать не смог (почему с ростом ложных срабатываний растет ASR?). При этом отмечается, что снижения уровня ложноположительных срабатываний удалось достичь благодаря фокусу на конкретных техниках, а не общей задачи детектирования промпт-инъекций и джейлбрейков, что может немного обескураживать.

Второй метод – чтение размышлений агента для оценки того, не преследуют ли его действия цель иную, нежели задача, поставленная пользователем. Для этого исследователи используют few-shot-классификатор на базе Llama 4 Maverick и Llama 3.3 70B. На вход модели подается промпт пользователя, вся история размышлений и применений инструментов, а также последнее действие, для которого надо дать вердикт. Оценивают результаты на своем внутреннем датасете и AgentDojo. Обе модели показывают неплохие результаты: падение Utility на AgentDojo до 43% при бейзлайне в 48% при сокращении ASR с 18% до 3% при офлайн-оценке на трейсах исполнения, взятых с лидерборда.

Защита от генерации небезопасного кода осуществляется через интеграцию CodeShield, детектор уязвимостей на базе semgrep и регулярок, про который мы уже читали. Из интересных инсайтов – в CodeShield используется двухуровневый механизм классификации, который позволяет использовать более быстрые проверки, занимающие в среднем 60мс, чтобы обработать 90% кода, и лишь 10% отправить на второй этап проверок, занимающий до 300мс, что позволяет иметь достаточно низкий уровень задержек.

Если вам вдруг стало интересно, я советую читать не статью, а код, из которого можно увидеть общий технический уровень фреймворка: при наличии моделей классификации, если они вам нужны, что-то такое, с регулярками и LLM-as-a-judge, можно собрать за неделю – мы в компании, в частности, так в свое время и сделали. Основным вкладом, описанным в статье, является вторая версия Prompt Guard – было бы здорово в какой-то момент получить статью с графиками, где шкалы названы правильно, а в заголовке не написано down is good. Детектор на базе регулярок требует переопределять константу вместо того, чтобы задавать регулярки где-то в конфиге. К сожалению, ни один из детекторов не заточен под потоковую обработку аутпута, т.е. работать это все будет только в тех сценариях, где пользователь не ожидает увидеть, как чат-бот печатает. CodeShield – штука неплохая, но задержки до 300мс могут затруднить его применение в tab-autocomplete-сценариях. В целом, ребята из Meta молодцы, что стараются контрибьютить в опенсорс, и если они продолжать этот фреймворк развивать, то еще один коробочный способ защитить свои LLM лишним не будет.
Evaluating AI cyber capabilities with crowdsourced elicitation
Petrov and Volkov, Palisade Research, 2025
Блог, статья, репозиторий

Исследователи из Palisade Research поделились отчетом о двух проведенных ими CTF/хакатонах, на которых вместе с живыми людьми соревновались LLM. Основная идея исследования такова: вероятно, LLM могут заниматься offensive security в автономном режиме гораздо лучше, чем мы думаем, просто мы не умеем ими нормально пользоваться. Как отмечается, изначально задачи из Cyberseceval-2 на переполнение буфера проходились авторами с долей успеха в пять процентов, а ребята из гугловского Project Neptune довели решили бенчмарк, получив 100%, улучшив агентную обвязку. Возможно, если дать LLM более удобный доступ к инструментам, их способности к кибератакам окажутся выше, чем мы ожидаем?

Чтобы ответить на этот вопрос, исследователи провели два открытых мероприятия. Первый – AI vs. Humans CTF, проведенный совместно с HackTheBox, на котором полностью автономные агентные системы на базе LLM соревновались с людьми за призы в 7500 долларов в решении 20 задач на криптографию и реверс. Эти категории были взяты для того, чтобы задачи были решаемы на локальной машине без необходимости общаться с другими машинами по сети. Из 158 команд, решивших хотя бы одну задачу, было 152 человеческих и 6 LLM-агентов. Лучший агент (CAI) вошел в топ 5%, четыре из семи агентов (у исследователей из Palisade агентов было два) решили 19/20 задач, не уступая в скорости людям.

Второе мероприятие – отдельный AI-трек на ежегодном Cyber Apocalypse от HTB, в котором приняли участие две команды (CAI и Palisade) с четырьмя агентами, лучший из которых вошел в топ 21% среди команд, решивших хотя бы одну задачу. Для агентов Palisade проблемой стало взаимодействие с удаленными машинами, в целом основной трудностью для LLM стало поддержание длинного контекста. Исходя из оценок, сейчас LLM-агенты могут решать задачи, которые занимают у среднего CTF-энтузиаста примерно 1-2 часа в зависимости от того, кого считать средним.

Важные выводы из исследования: важнейшей задачей для обеспечения взаимодействия LLM-агентов с компьютерной средой – как для наступательных задач, так и для любых задач в принципе – является тулинг. Даже общение с терминалом может быть очень нетривиальным – там есть множество пограничных кейсов, от поддержания интерактивных сессий в SSH до работы с конкретными инструментами типа nc и metasploit. Еще сложнее, когда для решения задачи необходима работа с веб-интерфейсами или нативными приложениями: computer use через скриншоты – это круто, но явно крайне неоптимально с точки зрения использования контекста. При этом очень широкие знания в сочетании с возможностью одновременно проверять ограниченное только бюджетом и рейт-лимитами количество гипотез делает из LLM хороший инструмент для решения задач, даже если некоторые из этих гипотез могут быть изначально неверными (типа Claude, которые пытается придумывать флаги исходя из сюжета задачи). С другой стороны, в отличие от CTF, реальный пентест не имеет четкого решения, заранее придуманного человеком для других людей, поэтому напрямую успехи LLM в CTF на возможности в реальных кибератаках переносить не стоит, хотя корреляция будет явно не нулевая. А то, что сфера LLM+offensive еще молодая, означает, что там полно низковисящих фруктов, и хакатоны – это отличный способ их найти.
2025/06/11 09:48:46
Back to Top
HTML Embed Code: