
LLMs de pesos abiertos y código de entrenamiento/evaluación para defenderse contra ataques de inyección de prompts, con benchmarks para la seguridad en el llamado de herramientas agénticas y el seguimiento de instrucciones.
Sizhe Chen*, Arman Zharmagambetov, David Wagner, Chuan Guo* (* por contribuciones técnicas equivalentes)
🔥 Los modelos Meta-SecAlign ahora cuentan con licencia para uso comercial bajo las licencias de la comunidad Llama, a pesar de que este código base tiene licencia únicamente para uso no comercial.
Meta-SecAlign-70B es el primer LLM de grado comercial totalmente de código abierto con defensa integrada contra inyección de prompts, comparable a gpt-5 y gemini-3-pro en seguridad agéntica (herramientas/web). Nuestra receta de entrenamiento SoTA no provoca una caída perceptible en diversas puntuaciones de utilidad según las evaluaciones más completas hasta la fecha.
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. Ese archivo contiene un ejemplo de acceso a la API de OpenAI mediante AzureOpenAI. Hay un ejemplo más detallado disponible aquí.data/gemini_configs.yaml si quieres evaluar modelos Gemini.demo.py contiene el código mínimo para usar nuestros dos modelos Meta-SecAlign. Siéntete libre de probar nuevas muestras e inyecciones de prompts, o de probar los modelos en tu código base:python demo.py
run_tests.py contiene los comandos para reproducir los resultados de evaluación reportados en nuestro artículo. Invoca secuencialmente tests.py, test_lm_eval.py, test_agentdojo.py y test_injecagent.py. Los resultados se registrarán en [model_path]/summary.tsv.python run_tests.py -m [model_path] --lora_alpha [lora_alpha]
model_path es la ruta al modelo evaluado. Soportamos:
meta-llama/Llama-3.1-8B-Instruct_SecAlign (Meta-SecAlign-8B descargado por setup.py): el primer modelo totalmente abierto con defensa de vanguardia contra inyección de promptsmeta-llama/Llama-3.3-70B-Instruct_SecAlign (Meta-SecAlign-70B descargado por setup.py): el primer modelo totalmente abierto con defensa de vanguardia contra inyección de promptsmeta-llama/Llama-3.1-8B-Instructmeta-llama/Llama-3.3-70B-Instructgpt-4o-mini: el primer modelo comercial con defensa contra inyección de prompts mediante jerarquía de instrucciones.gpt-4o: el modelo insignia posterior, también con defensa contra inyección de prompts.gpt-5: el modelo comercial más reciente y seguro en nuestra evaluación; cambia los niveles de razonamiento especificando --gpt5_reasoning_effort (por defecto high).gemini-2.0-flash: un modelo comercial de Google con una defensa contra inyección de prompts declaradagemini-2.5-flash: un modelo comercial de Google con una defensa contra inyección de prompts declaradagemini-2.0-pro: un modelo insignia de Google (sin defensa contra inyección de prompts declarada)gemini-2.5-pro: un modelo insignia de Google (sin defensa contra inyección de prompts declarada)gemini-3-pro-preview: el modelo de Google de vanguardia con una sólida defensa contra inyección de promptslora_alpha es un hiperparámetro de tiempo de prueba para los modelos Meta-SecAlign. Su valor por defecto es 8, que usa exactamente los modelos Meta-SecAlign tal como fueron entrenados. Un valor de lora_alpha entre 0 y 8 interpola entre el modelo sin defensa y nuestro modelo defendido para permitir un equilibrio flexible entre utilidad y seguridad. Extrapolar lora_alpha más allá de 8 es posible pero no ha sido probado.meta-llama/Meta-Llama-3-8B-Instruct)secalign_plus_plus.py proporciona comandos para ajustar de forma defensiva meta-llama/Llama-3.1-8B-Instruct (por defecto) o meta-llama/Llama-3.3-70B-Instruct (descomenta la línea específica para ajustarlo) a un modelo LoRA robusto usando nuestra receta de entrenamiento, SecAlign++.python secalign_plus_plus.py