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 лишним не будет.
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 лишним не будет.
group-telegram.com/llmsecurity/565
Create:
Last Update:
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 лишним не будет.
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:
group-telegram.com/llmsecurity/565