README.md

July 11, 2024 ยท View on GitHub

AdaShield: Safeguarding Multimodal Large Language Models from Structure-based Attack via Adaptive Shield Prompting

If you like our project, please give us a star โญ on GitHub for latest update.

arxiv project Jailbreak Attacks Defenses Multimodal Large Language Models

The official implementation of our paper "AdaShield: Safeguarding Multimodal Large Language Models from Structure-based Attack via Adaptive Shield Prompting", by Yu Wang*, Xiaogeng Liu*, Yu Li, Muhao Chen, and Chaowei Xiao. (* denotes the equal contribution in this work.)

๐Ÿ“ฐ News

DateEvent
2024/07/01๐Ÿ”ฅ Our paper is accepted by ECCV2024.
2024/03/30We have released our full training and inference codes.
2024/03/15We have released our paper. Thanks to all collaborators.

๐Ÿ’ก Abstract

With the advent and widespread deployment of Multimodal Large Language Models (MLLMs), the imperative to ensure their safety has become increasingly pronounced. However, with the integration of additional modalities, MLLMs are exposed to new vulnerabilities, rendering them prone to structured-based jailbreak attacks, where semantic content (e.g., ``harmful text'') has been injected into the images to mislead MLLMs. In this work, we aim to defend against such threats. Specifically, we propose Adaptive Shield Prompting ( AdaShield ), which prepends inputs with defense prompts to defend MLLMs against structure-based jailbreak attacks without fine-tuning MLLMs or training additional modules (e.g., post-stage content detector). Initially, we present a manually designed static defense prompt, which thoroughly examines the image and instruction content step by step and specifies response methods to malicious queries. Furthermore, we introduce an adaptive auto-refinement framework, consisting of a target MLLM and a LLM-based defense prompt generator (Defender). These components collaboratively and iteratively communicate to generate a defense prompt. Extensive experiments on the popular structure-based jailbreak attacks and benign datasets show that our methods can consistently improve MLLMs' robustness against structure-based jailbreak attacks without compromising the model's general capabilities evaluated on standard benign tasks.

โšก Framework

AdaShield consists of a defender DD and a target MLLM MM, where DD aims to generate the defense prompt PP that safeguards MM from malicious queries. Then, PP is put into MM to generate response RR for the current malicious query. DD uses the previously failed defense prompts and the jailbreak response from MM as feedback, and iteratively refines the defense prompt in a chat format.

A conversation example from AdaShield between the target MLLM MM and defender DD. The objective of defender DD is to safeguard MM from harmful queries for the Sex scenario. DD generates the failed prompt to defend against the malicious query for the first time. Then, with the jailbreak response from MM and previous defense prompt as feedback, DD successfully optimizes defense prompts by injecting the safe rules about the sex scenario, and outputs a reason to elicit interpretability.

๐Ÿš€ Main Results

Defense Effectiveness and Benign Evaluation

๐Ÿ› ๏ธ Requirements and Installation

  • Python >= 3.10
  • Pytorch == 2.1.2
  • CUDA Version >= 12.1
  • Install required packages:
git clone https://github.com/rain305f/AdaShield
cd AdaShield

conda create -n adashield python=3.10 -y
conda activate adashield


pip install -r requirement.txt

# install environments about llava 
git clone https://github.com/haotian-liu/LLaVA.git
cd LLaVA

pip install --upgrade pip
pip install -e .
cd ..
rm -r LLaVA

๐Ÿ—๏ธ Training & Validating

The training & validating instruction is in TRAIN_AND_VALIDATE.md.

๐Ÿ‘ Acknowledgement

  • FigStep Attack Effective jailbreak attack for multi-modal large language models, and great job contributing the evaluation code and dataset.
  • MM-SafetyBench(QR Attack) Effective jailbreak attack for multi-modal large language models, and great job contributing the evaluation code and dataset.
  • AutoDAN Powerful jailbreak attack strategy on Aligned Large Language Models.
  • BackdoorAlign Effective backdoor defense method against Fine-tuning Jailbreak Attack.

๐Ÿ“‘ Citation

Please consider citing ๐Ÿ“‘ our papers if our repository is helpful to your work, thanks sincerely!

@article{wang2024adashield,
  title={Adashield: Safeguarding multimodal large language models from structure-based attack via adaptive shield prompting},
  author={Wang, Yu and Liu, Xiaogeng and Li, Yu and Chen, Muhao and Xiao, Chaowei},
  journal={arXiv preprint arXiv:2403.09513},
  year={2024}
}