
Open-Weight-LLMs und Trainings-/Evaluierungscode zur Verteidigung gegen Prompt-Injection-Angriffe, mit Benchmarks für agentisches Tool-Calling und Sicherheit bei der Befolgung von Anweisungen.
Sizhe Chen*, Arman Zharmagambetov, David Wagner, Chuan Guo* (* für gleiche technische Beiträge)
🔥 Meta-SecAlign-Modelle sind jetzt für die kommerzielle Nutzung unter den Llama-Community-Lizenzen lizenziert, obwohl diese Codebasis nur für nicht-kommerzielle Nutzung lizenziert ist.
Meta-SecAlign-70B ist das erste vollständig quelloffene LLM in kommerzieller Qualität mit integrierter Prompt-Injection-Abwehr – vergleichbar mit gpt-5 und gemini-3-pro in der agentischen (Tool-/Web-)Sicherheit. Unser SoTA-Trainingsrezept verursacht keinen merklichen Rückgang bei verschiedenen Nützlichkeitswerten, basierend auf den umfassendsten Bewertungen bis heute.
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. Diese Datei enthält ein Beispiel für den Zugriff auf die OpenAI-API über AzureOpenAI. Ein detaillierteres Beispiel ist hier verfügbar.data/gemini_configs.yaml, wenn Sie Gemini-Modelle bewerten möchten.demo.py enthält minimalen Code zur Verwendung unserer beiden Meta-SecAlign-Modelle. Probieren Sie gerne neue Beispiele und Prompt-Injections aus oder testen Sie die Modelle auf Ihrer Codebasis:python demo.py
run_tests.py enthält Befehle zur Reproduktion der in unserem Paper berichteten Evaluierungsergebnisse. Es ruft nacheinander tests.py, test_lm_eval.py, test_agentdojo.py und test_injecagent.py auf. Die Ergebnisse werden in [model_path]/summary.tsv protokolliert.python run_tests.py -m [model_path] --lora_alpha [lora_alpha]
model_path ist der Pfad zum getesteten Modell. Wir unterstützen:
meta-llama/Llama-3.1-8B-Instruct_SecAlign (Meta-SecAlign-8B, heruntergeladen von setup.py): das erste vollständig offene Modell mit modernster Prompt-Injection-Abwehrmeta-llama/Llama-3.3-70B-Instruct_SecAlign (Meta-SecAlign-70B, heruntergeladen von setup.py): das erste vollständig offene Modell mit modernster Prompt-Injection-Abwehrmeta-llama/Llama-3.1-8B-Instructmeta-llama/Llama-3.3-70B-Instructgpt-4o-mini: das erste kommerzielle Modell mit Instruction-Hierarchy-Prompt-Injection-Abwehr.gpt-4o: das nachfolgende Flaggschiffmodell, ebenfalls mit Prompt-Injection-Abwehr.gpt-5: das neueste und sicherste kommerzielle Modell in unserer Evaluierung; ändern Sie die Reasoning-Stufen durch Angabe von --gpt5_reasoning_effort (Standard ist high).gemini-2.0-flash: ein kommerzielles Google-Modell mit einer beanspruchten Prompt-Injection-Abwehrgemini-2.5-flash: ein kommerzielles Google-Modell mit einer beanspruchten Prompt-Injection-Abwehrgemini-2.0-pro: ein Google-Flaggschiffmodell (von dem nicht behauptet wird, dass es eine Prompt-Injection-Abwehr enthält)gemini-2.5-pro: ein Google-Flaggschiffmodell (von dem nicht behauptet wird, dass es eine Prompt-Injection-Abwehr enthält)gemini-3-pro-preview: das modernste Google-Modell mit starker Prompt-Injection-Abwehrlora_alpha ist ein Testzeit-Hyperparameter für Meta-SecAlign-Modelle. Der Standardwert ist 8, wodurch genau die trainierten Meta-SecAlign-Modelle verwendet werden. Ein lora_alpha-Wert zwischen 0 und 8 interpoliert zwischen dem ungeschützten Modell und unserem geschützten Modell, um einen flexiblen Kompromiss zwischen Nützlichkeit und Sicherheit zu ermöglichen. Eine Extrapolation von lora_alpha über 8 hinaus ist möglich, aber ungetestet.meta-llama/Meta-Llama-3-8B-Instruct zu vergleichen)secalign_plus_plus.py bietet Befehle zum defensiven Fine-Tuning von meta-llama/Llama-3.1-8B-Instruct (Standard) oder meta-llama/Llama-3.3-70B-Instruct (kommentieren Sie die entsprechende Zeile aus, um es zu fine-tunen) zu einem robusten LoRA-Modell unter Verwendung unseres Trainingsrezepts SecAlign++.python secalign_plus_plus.py