LLMSECURITY Telegram 561
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 лишним не будет.



tgoop.com/llmsecurity/561
Create:
Last Update:

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 лишним не будет.

BY llm security и каланы











Share with your friend now:
tgoop.com/llmsecurity/561

View MORE
Open in Telegram


Telegram News

Date: |

In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. Invite up to 200 users from your contacts to join your channel How to Create a Private or Public Channel on Telegram? Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether.
from us


Telegram llm security и каланы
FROM American