SynGhost: 構文転移による不可視かつ汎用的なタスク非依存バックドア攻撃
SynGhost には以下の貢献があります
SynGhost は Git を通じてインストールできます
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
3 つの制約: 原始知識の保持、構文ゴーストの一様分布、構文知覚:
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 上に実装されています。
まず、特定の構文構造に基づいてプロンプトを構築します。例えば (ROOT (S (SBAR) (,) (NP) (VP) (.)) EOP です。次に、クリーンなインスタンスとポイズンされたインスタンスを生成します。最後に、CACC、ASR、PPL が SynGhost によって評価されました。インスタンスと結果は ./Code/LLMAttack.ipynb で利用可能です。