Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CacheTrap — ファインチューニングされたLLM分類器においてKVキャッシュの1ビットを反転させ、クラスごとの攻撃成功率を測定するグレーボックストロイヤル攻撃の研究用コード。 | Kitploit
ツール/GitHubGitHub/ml-security-research-lab/cachetrap
脆弱性分析機械学習論文と研究AIセキュリティ敵対的攻撃
GitHubml-security-research-lab/cachetrap

CacheTrap

ファインチューニングされたLLM分類器においてKVキャッシュの1ビットを反転させ、クラスごとの攻撃成功率を測定するグレーボックストロイヤル攻撃の研究用コード。

リポジトリを見る
13日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CacheTrap

「CacheTrap: Unveiling a Stealthier Gray-Box Trojan against LLMs」 のリポジトリ、 IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2026。

arXiv

CacheTrap は、ファインチューニングされた LLM 分類器の KV キャッシュ内の単一ビットフリップを探索し、その結果として得られるターゲットクラスごとの攻撃成功率 (ASR) を測定します。


1. セットアップ

Python 3.10、CUDA 12.x。

root@kitploit:~
conda create -n cachetrap python=3.10
conda activate cachetrap
pip install -r requirements.txt

Hugging Face へのアクセス。 meta-llama/Llama-2-7b-chat-hf および meta-llama/Llama-3.1-8B-Instruct はゲート付きです。Hub 上でライセンスに同意した後、次を実行してください:

root@kitploit:~
huggingface-cli login

2. トレーニング

1 モデル / 1 データセット:

root@kitploit:~
python train_model.py --model llama3_1_8b --dataset arc_easy

チェックポイントは TrainedModels/merged_<model>_<dataset>/ に書き込まれます。

すべてのモデル × すべてのデータセット:

root@kitploit:~
bash scripts/train.sh

スクリプト冒頭の MODELS、DATASETS、NUM_GPUS を編集してサブセットを実行します。 ログは logs/training/ に出力されます。


3. 攻撃

root@kitploit:~
python attack.py --model llama3_1_8b --dataset arc_easy --calib_dataset openbookqa

--dataset は被害者がトレーニングされたデータセット、--calib_dataset は攻撃者が利用可能なデータです。論文に従い、OpenBookQA、TREC、または ARC-Challenge でトレーニングされた被害者は ARC-Easy でキャリブレーションされ、ARC-Easy でトレーニングされた被害者は OpenBookQA でキャリブレーションされます。2 つのバッチスクリプトはまさにその分割をエンコードしています:

ScriptVictim datasetsCalibration
scripts/attack_bundle1.shopenbookqa, trec, arc_challengearc_easy
scripts/attack_bundle2.sharc_easyopenbookqa
root@kitploit:~
bash scripts/attack_bundle1.sh
bash scripts/attack_bundle2.sh

それぞれの最後に、自身のログディレクトリに対して summarize_logs.py を実行します。 オプションの全リストは python attack.py --help を実行してください。

出力

  • logs/<run>/<model>_<dataset>.log — 実行ごとの完全な出力
  • logs/<run>/summary.csv — ターゲットクラスごとに 1 行 (ベースライン精度、攻撃下の精度、ASR、フリップ位置)
  • logs/<run>/summary.txt — 生のサマリーブロック
  • flip_locations/*.json — --save_flip_locations が渡された場合のフリップ位置

探索を繰り返さずに再評価するには:

root@kitploit:~
python attack.py --model llama3_1_8b --dataset arc_easy --calib_dataset openbookqa \
    --load_flip_locations flip_locations/llama3_1_8b_arc_easy.json

4. 公開済みチェックポイントでのクイックテスト

何もトレーニングせずに攻撃を試すには、公開されている merged_llama3_1_8b_arc_easy チェックポイントをダウンロードし、TrainedModels/ の下に配置します:

root@kitploit:~
TrainedModels/
└── merged_llama3_1_8b_arc_easy/
    ├── config.json
    ├── model-*.safetensors
    ├── tokenizer.json
    └── ...

次に、以下のコマンドを実行して攻撃します:

root@kitploit:~
python attack.py --model llama3_1_8b --dataset arc_easy --calib_dataset openbookqa \
    --load_flip_locations flip_locations/llama3_1_8b_arc_easy.json

あるいは、新規の攻撃を実行するには以下を実行します

root@kitploit:~
python attack.py \
    --model llama3_1_8b \
    --dataset arc_easy \
    --calib_dataset openbookqa \
    --threat_model graybox \
    --save_flip_locations flip_locations/llama3_1_8b_arc_easy_fresh.json

これにより、クラスごとのベースライン精度、攻撃下の精度、ASR、および選択されたフリップ位置のサマリーが出力されます。


引用

プレプリント版を以下のように引用してください

root@kitploit:~
@article{nahian2025cachetrap,
  title={CacheTrap: Unveiling a Stealthier Gray-Box Trojan against LLMs},
  author={Nahian, Mohaiminul Al and Almalky, Abeer Matar A and Aragonda, Gamana and Zhou, Ranyang and Ahmed, Sabbir and Ponomarev, Dmitry and Yang, Li and Angizi, Shaahin and Rakin, Adnan Siraj},
  journal={arXiv preprint arXiv:2511.22681},
  year={2025}
}
ツールをダウンロード