SecAlign: Defending Against Prompt Injection with Preference Optimization
Sizhe Chen, Arman Zharmagambetov, Saeed Mahloujifar, Kamalika Chaudhuri, David Wagner, Chuan Guo
TL;DR
SecAlign tackles the pressing problem of prompt-injection attacks in LLM-enabled systems by formulating defense as preference optimization. It constructs a preference dataset that pairs prompt-injected inputs with secure and insecure outputs and applies Direct Preference Optimization to train models to prefer secure outputs without sacrificing utility. Across optimization-free and optimization-based attacks, SecAlign achieves state-of-the-art security (often <10% ASR) while maintaining performance on standard benchmarks, and demonstrates strong generalization to unseen attacks and domains. The work links LLM security to alignment, shows practical deployment potential with LoRA-based fine-tuning, and opens avenues for multi-modal and real-world defense integration. It also provides an open-source implementation, signaling tangible impact for robust, secure LLM-integrations in software systems.
Abstract
Large language models (LLMs) are becoming increasingly prevalent in modern software systems, interfacing between the user and the Internet to assist with tasks that require advanced language understanding. To accomplish these tasks, the LLM often uses external data sources such as user documents, web retrieval, results from API calls, etc. This opens up new avenues for attackers to manipulate the LLM via prompt injection. Adversarial prompts can be injected into external data sources to override the system's intended instruction and instead execute a malicious instruction. To mitigate this vulnerability, we propose a new defense called SecAlign based on the technique of preference optimization. Our defense first constructs a preference dataset with prompt-injected inputs, secure outputs (ones that respond to the legitimate instruction), and insecure outputs (ones that respond to the injection). We then perform preference optimization on this dataset to teach the LLM to prefer the secure output over the insecure one. This provides the first known method that reduces the success rates of various prompt injections to <10%, even against attacks much more sophisticated than ones seen during training. This indicates our defense generalizes well against unknown and yet-to-come attacks. Also, SecAlign models are still practical with similar utility to the one before defensive training in our evaluations. Our code is at https://github.com/facebookresearch/SecAlign
