SynGhost:通过句法迁移实现的不可见且通用的任务无关后门攻击
SynGhost 具有以下贡献
你可以通过 Git 安装 SynGhost
git clone https://github.com/Zhou-CyberSecurity-AI/Syntactic-Ghost.git
cd SynGhost
pip install -r requirement.txt
预训练投毒集和下游任务操纵集均由 SCPN 生成。你可以通过 OppenAttack 工具包快速生成。
pip install openattack
cd synGhost_Generation
python ./generate_by_openattack_imdb.py
三个约束:原始知识保留、句法幽灵的均匀分布以及句法感知:
cd code
python ./synGhostToPLM.py
微调、PEFT(LoRA、Adapter、p-tuning、prompt-tuning)
cd code
python ./synGhost_FineTuning.py
cd code
python ./synGhost_peft.py
样本检查(Onion、maxEntropy)
cd code
python ./synGhost_defend.py
请注意,模型检查(Fine-pruning):请直接使用 plm.py 中的 fine-pruning 函数。
NeuBA、POR 和 BadPre.....均在 OpenBackdoor 上实现。
首先,基于特定句法结构构造 Prompt,例如 (ROOT (S (SBAR) (,) (NP) (VP) (.)) EOP。然后生成干净实例和投毒实例。最后,由 SynGhost 评估 CACC、ASR 和 PPL。实例和结果可在 ./Code/LLMAttack.ipynb 中获取。