
LLMs de pesos abertos e código de treinamento/avaliação para defesa contra ataques de injeção de prompt, com benchmarks para segurança de chamadas de ferramentas agênticas e seguimento de instruções.
Sizhe Chen*, Arman Zharmagambetov, David Wagner, Chuan Guo* (* para contribuições técnicas iguais)
🔥 Os modelos Meta-SecAlign estão agora licenciados para uso comercial sob as licenças da comunidade Llama, apesar de esta base de código estar licenciada apenas para uso não comercial.
O Meta-SecAlign-70B é o primeiro LLM de nível comercial totalmente de código aberto com defesa integrada contra injeção de prompt - comparável ao gpt-5 e gemini-3-pro em segurança agêntica (ferramenta/web). Nossa receita de treinamento SoTA não causa queda perceptível em vários escores de utilidade com base nas avaliações mais abrangentes até o momento.
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. Esse arquivo contém um exemplo de acesso à API da OpenAI via AzureOpenAI. Um exemplo mais detalhado está disponível aqui.data/gemini_configs.yaml se você quiser avaliar modelos Gemini.demo.py contém código mínimo para usar nossos dois modelos Meta-SecAlign. Sinta-se à vontade para experimentar novas amostras e injeções de prompt, ou testar os modelos na sua base de código:python demo.py
run_tests.py contém comandos para reproduzir os resultados de avaliação relatados em nosso artigo. Ele invoca sequencialmente tests.py, test_lm_eval.py, test_agentdojo.py e test_injecagent.py. Os resultados serão registrados em [model_path]/summary.tsv.python run_tests.py -m [model_path] --lora_alpha [lora_alpha]
model_path é o caminho para o modelo testado. Oferecemos suporte a:
meta-llama/Llama-3.1-8B-Instruct_SecAlign (Meta-SecAlign-8B baixado por setup.py): o primeiro modelo totalmente aberto com defesa de ponta contra injeção de promptmeta-llama/Llama-3.3-70B-Instruct_SecAlign (Meta-SecAlign-70B baixado por setup.py): o primeiro modelo totalmente aberto com defesa de ponta contra injeção de promptmeta-llama/Llama-3.1-8B-Instructmeta-llama/Llama-3.3-70B-Instructgpt-4o-mini: o primeiro modelo comercial com defesa contra injeção de prompt por hierarquia de instruções.gpt-4o: o modelo carro-chefe seguinte, também com defesa contra injeção de prompt.gpt-5: o modelo comercial mais recente e mais seguro em nossa avaliação; altere os níveis de raciocínio especificando --gpt5_reasoning_effort (padrão para high).gemini-2.0-flash: um modelo comercial do Google com defesa contra injeção de prompt alegadagemini-2.5-flash: um modelo comercial do Google com defesa contra injeção de prompt alegadagemini-2.0-pro: um modelo carro-chefe do Google (sem alegação de incluir defesa contra injeção de prompt)gemini-2.5-pro: um modelo carro-chefe do Google (sem alegação de incluir defesa contra injeção de prompt)gemini-3-pro-preview: o modelo de ponta do Google com forte defesa contra injeção de promptlora_alpha é um hiperparâmetro de tempo de teste para os modelos Meta-SecAlign. O padrão é 8, que usa exatamente os modelos Meta-SecAlign conforme treinados. Um valor de lora_alpha entre 0 e 8 interpola entre o modelo sem defesa e nosso modelo defendido para permitir um trade-off flexível entre utilidade e segurança. Extrapolar lora_alpha além de 8 é possível, mas não testado.meta-llama/Meta-Llama-3-8B-Instruct)secalign_plus_plus.py fornece comandos para ajustar defensivamente meta-llama/Llama-3.1-8B-Instruct (padrão) ou meta-llama/Llama-3.3-70B-Instruct (descomente a linha específica para ajustá-lo) para um modelo LoRA robusto usando nossa receita de treinamento, SecAlign++.python secalign_plus_plus.py