
Открытые LLM и код для обучения/оценки защиты от атак prompt injection, с бенчмарками для безопасности агентного вызова инструментов и следования инструкциям.
Сычжэ Чэнь*, Арман Жармагамбетов, Дэвид Вагнер, Чуань Го* (* — равный технический вклад)
🔥 Модели Meta-SecAlign теперь лицензированы для коммерческого использования в соответствии с лицензиями сообщества Llama, несмотря на то, что данная кодовая база лицензирована только для некоммерческого использования.
Meta-SecAlign-70B — первая полностью открытая коммерческая LLM со встроенной защитой от внедрения промптов, сопоставимая с gpt-5 и gemini-3-pro по безопасности в агентных (инструментальных/веб) сценариях. Наш передовой рецепт обучения не приводит к заметному снижению различных показателей полезности по результатам наиболее всесторонних на сегодняшний день оценок.
git clone --recurse-submodules https://github.com/facebookresearch/Meta_SecAlign.git
cd Meta_SecAlign
uv venv metasecalign --python 3.13
source metasecalign/bin/activate
uv pip install -r requirements.txt
uv pip install torchtune==0.6.0 --index-url https://download.pytorch.org/whl/cu126
python setup.py
data/openai_configs.yaml. Этот файл содержит пример доступа к OpenAI API через AzureOpenAI. Более подробный пример доступен здесь.data/gemini_configs.yaml, если вы хотите оценивать модели Gemini.demo.py содержит минимальный код для использования наших двух моделей Meta-SecAlign. Не стесняйтесь пробовать новые примеры и внедрения промптов или тестировать модели на вашей кодовой базе:python demo.py
run_tests.py содержит команды для воспроизведения результатов оценки, приведённых в нашей статье. Он последовательно вызывает tests.py, test_lm_eval.py, test_agentdojo.py и test_injecagent.py. Результаты будут записаны в [model_path]/summary.tsv.python run_tests.py -m [model_path] --lora_alpha [lora_alpha]
model_path — путь к тестируемой модели. Мы поддерживаем:
meta-llama/Llama-3.1-8B-Instruct_SecAlign (Meta-SecAlign-8B, загружается через setup.py): первая полностью открытая модель с передовой защитой от внедрения промптовmeta-llama/Llama-3.3-70B-Instruct_SecAlign (Meta-SecAlign-70B, загружается через setup.py): первая полностью открытая модель с передовой защитой от внедрения промптовmeta-llama/Llama-3.1-8B-Instructmeta-llama/Llama-3.3-70B-Instructgpt-4o-mini: первая коммерческая модель с защитой от внедрения промптов на основе иерархии инструкций.gpt-4o: последующая флагманская модель, также с защитой от внедрения промптов.gpt-5: самая новая и наиболее защищённая коммерческая модель в нашей оценке; изменяйте уровни рассуждений, указывая --gpt5_reasoning_effort (по умолчанию high).gemini-2.0-flash: коммерческая модель Google с заявленной защитой от внедрения промптовgemini-2.5-flash: коммерческая модель Google с заявленной защитой от внедрения промптовgemini-2.0-pro: флагманская модель Google (без заявленной защиты от внедрения промптов)gemini-2.5-pro: флагманская модель Google (без заявленной защиты от внедрения промптов)gemini-3-pro-preview: передовая модель Google с сильной защитой от внедрения промптовlora_alpha — гиперпараметр времени тестирования для моделей Meta-SecAlign. По умолчанию равен 8, что использует в точности обученные модели Meta-SecAlign. Значение lora_alpha от 0 до 8 интерполирует между незащищённой моделью и нашей защищённой моделью, обеспечивая гибкий компромисс между полезностью и безопасностью. Экстраполяция lora_alpha за пределы 8 возможна, но не протестирована.meta-llama/Meta-Llama-3-8B-Instruct)secalign_plus_plus.py предоставляет команды для защитного дообучения meta-llama/Llama-3.1-8B-Instruct (по умолчанию) или meta-llama/Llama-3.3-70B-Instruct (раскомментируйте соответствующую строку, чтобы дообучить её) до устойчивой LoRA-модели с использованием нашего рецепта обучения SecAlign++.python secalign_plus_plus.py