
LLM open-weight e codice di training/valutazione per difendersi dagli attacchi di prompt injection, con benchmark per la sicurezza del tool-calling agentico e del rispetto delle istruzioni.
Sizhe Chen*, Arman Zharmagambetov, David Wagner, Chuan Guo* (* per contributi tecnici equivalenti)
🔥 I modelli Meta-SecAlign sono ora concessi in licenza per uso commerciale secondo le licenze della community Llama, nonostante questa codebase sia concessa in licenza solo per uso non commerciale.
Meta-SecAlign-70B è il primo LLM completamente open-source di livello commerciale con difesa integrata contro la prompt injection - paragonabile a gpt-5 e gemini-3-pro nella sicurezza agentica (tool/web). La nostra ricetta di addestramento SoTA non comporta alcun calo percepibile nei vari punteggi di utilità, in base alle valutazioni più complete fino ad oggi.
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. Quel file contiene un esempio di accesso all'API OpenAI tramite AzureOpenAI. Un esempio più dettagliato è disponibile qui.data/gemini_configs.yaml se vuoi valutare i modelli Gemini.demo.py contiene il codice minimo per usare i nostri due modelli Meta-SecAlign. Sentiti libero di provare nuovi campioni e prompt injection, o di testare i modelli sulla tua codebase:python demo.py
run_tests.py contiene i comandi per riprodurre i risultati di valutazione riportati nel nostro paper. Invoca in sequenza tests.py, test_lm_eval.py, test_agentdojo.py e test_injecagent.py. I risultati verranno registrati in [model_path]/summary.tsv.python run_tests.py -m [model_path] --lora_alpha [lora_alpha]
model_path è il percorso del modello testato. Supportiamo:
meta-llama/Llama-3.1-8B-Instruct_SecAlign (Meta-SecAlign-8B scaricato da setup.py): il primo modello completamente aperto con difesa all'avanguardia contro la prompt injectionmeta-llama/Llama-3.3-70B-Instruct_SecAlign (Meta-SecAlign-70B scaricato da setup.py): il primo modello completamente aperto con difesa all'avanguardia contro la prompt injectionmeta-llama/Llama-3.1-8B-Instructmeta-llama/Llama-3.3-70B-Instructgpt-4o-mini: il primo modello commerciale con difesa dalla prompt injection tramite instruction hierarchy.gpt-4o: il modello di punta successivo, anch'esso con difesa dalla prompt injection.gpt-5: il modello commerciale più recente e sicuro nella nostra valutazione; cambia i livelli di ragionamento specificando --gpt5_reasoning_effort (predefinito a high).gemini-2.0-flash: un modello commerciale Google con una presunta difesa dalla prompt injectiongemini-2.5-flash: un modello commerciale Google con una presunta difesa dalla prompt injectiongemini-2.0-pro: un modello di punta Google (non dichiarato come dotato di difesa dalla prompt injection)gemini-2.5-pro: un modello di punta Google (non dichiarato come dotato di difesa dalla prompt injection)gemini-3-pro-preview: il modello Google all'avanguardia con una forte difesa dalla prompt injectionlora_alpha è un iper-parametro di test-time per i modelli Meta-SecAlign. Il valore predefinito è 8, che utilizza esattamente i modelli Meta-SecAlign come addestrati. Un valore di lora_alpha compreso tra 0 e 8 interpola tra il modello non difeso e il nostro modello difeso per consentire un flessibile compromesso tra utilità e sicurezza. Estrapolare lora_alpha oltre 8 è possibile ma non testato.meta-llama/Meta-Llama-3-8B-Instruct)secalign_plus_plus.py fornisce i comandi per il defensive-fine-tuning di meta-llama/Llama-3.1-8B-Instruct (predefinito) o meta-llama/Llama-3.3-70B-Instruct (decommenta la riga specifica per eseguirne il fine-tuning) in un modello LoRA robusto usando la nostra ricetta di addestramento, SecAlign++.python secalign_plus_plus.py