Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CacheTrap — Forschungscode für einen Gray-Box-Trojaner-Angriff, der ein einzelnes KV-Cache-Bit in feinabgestimmten LLM-Klassifikatoren umkippt und die Angriffserfolgsrate pro Klasse misst. | Kitploit
Tools/GitHubGitHub/ml-security-research-lab/cachetrap
SchwachstellenanalyseMaschinelles LernenPapers & ForschungKI-SicherheitAdversarial-Angriff
GitHubml-security-research-lab/cachetrap

CacheTrap

Forschungscode für einen Gray-Box-Trojaner-Angriff, der ein einzelnes KV-Cache-Bit in feinabgestimmten LLM-Klassifikatoren umkippt und die Angriffserfolgsrate pro Klasse misst.

Repository anzeigen
1vor 3 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CacheTrap

Repository für „CacheTrap: Unveiling a Stealthier Gray-Box Trojan against LLMs", IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2026.

arXiv

CacheTrap sucht nach einem einzelnen Bit-Flip im KV-Cache eines feinabgestimmten LLM-Klassifikators und misst die resultierende Attack Success Rate (ASR) pro Zielklasse.


1. Einrichtung

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-Zugriff. meta-llama/Llama-2-7b-chat-hf und meta-llama/Llama-3.1-8B-Instruct sind gated. Akzeptiere die Lizenzen auf dem Hub und führe dann aus:

root@kitploit:~
huggingface-cli login

2. Training

Ein Modell / ein Datensatz:

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

Der Checkpoint wird nach TrainedModels/merged_<model>_<dataset>/ geschrieben.

Alle Modelle × alle Datensätze:

root@kitploit:~
bash scripts/train.sh

Bearbeite MODELS, DATASETS und NUM_GPUS am Anfang des Skripts, um eine Teilmenge auszuführen. Logs werden in logs/training/ abgelegt.


3. Angriff

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

--dataset ist der Datensatz, auf dem das Opfer trainiert wurde; --calib_dataset sind die Daten, die dem Angreifer zur Verfügung stehen. Gemäß dem Paper werden Opfer, die auf OpenBookQA, TREC oder ARC-Challenge trainiert wurden, mit ARC-Easy kalibriert, und Opfer, die auf ARC-Easy trainiert wurden, werden mit OpenBookQA kalibriert. Die beiden Batch-Skripte kodieren genau diese Aufteilung:

SkriptOpfer-DatensätzeKalibrierung
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

Jedes endet damit, dass summarize_logs.py über sein eigenes Log-Verzeichnis ausgeführt wird. Führe python attack.py --help aus, um die vollständige Optionsliste zu erhalten.

Ausgaben

  • logs/<run>/<model>_<dataset>.log — vollständige Ausgabe pro Lauf
  • logs/<run>/summary.csv — eine Zeile pro Zielklasse (Baseline-Genauigkeit, Genauigkeit unter Angriff, ASR, Flip-Position)
  • logs/<run>/summary.txt — die rohen Zusammenfassungsblöcke
  • flip_locations/*.json — Flip-Positionen, falls --save_flip_locations übergeben wurde

Um ohne Wiederholung der Suche neu zu evaluieren:

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. Schnelltest mit einem veröffentlichten Checkpoint

Um den Angriff auszuprobieren, ohne etwas zu trainieren, lade den veröffentlichten merged_llama3_1_8b_arc_easy Checkpoint herunter und platziere ihn unter TrainedModels/:

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

Führe dann den folgenden Befehl aus, um anzugreifen:

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

Alternativ führe Folgendes für einen frischen Angriff aus

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

Dies gibt eine Zusammenfassung pro Klasse von Baseline-Genauigkeit, Genauigkeit unter Angriff, ASR und der ausgewählten Flip-Position aus.


Zitation

Zitiere die Pre-Print-Version als

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}
}
Tool herunterladen