Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CacheTrap — 针对灰盒木马攻击的研究代码,该攻击通过翻转微调LLM分类器中单个KV缓存位,并测量各类别的攻击成功率。 | Kitploit
工具/GitHubGitHub/ml-security-research-lab/cachetrap
漏洞分析机器学习论文与研究AI 安全对抗性攻击
GitHubml-security-research-lab/cachetrap

CacheTrap

针对灰盒木马攻击的研究代码,该攻击通过翻转微调LLM分类器中单个KV缓存位,并测量各类别的攻击成功率。

查看仓库
13天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CacheTrap

“CacheTrap:揭示一种针对 LLM 的更隐蔽灰盒木马” 的代码仓库, IEEE/ACM 国际计算机辅助设计会议(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. 训练

单个模型 / 单个数据集:

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 进行校准。两个批处理脚本正是按照这一划分编写的:

脚本受害者数据集校准数据集
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 — 每个目标类别一行(基线准确率、攻击下的准确率、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}
}
下载工具