Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CacheTrap — Исследовательский код для атаки типа «троян» в модели серого ящика, которая инвертирует один бит KV-кэша в дообученных классификаторах LLM и измеряет долю успешных атак по каждому классу. | Kitploit
Инструменты/GitHubGitHub/ml-security-research-lab/cachetrap
Анализ уязвимостейМашинное ОбучениеСтатьи и ИсследованияБезопасность ИИСостязательная Атака
GitHubml-security-research-lab/cachetrap

CacheTrap

Исследовательский код для атаки типа «троян» в модели серого ящика, которая инвертирует один бит KV-кэша в дообученных классификаторах LLM и измеряет долю успешных атак по каждому классу.

Репозиторий
13 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CacheTrap

Репозиторий для статьи "CacheTrap: Unveiling a Stealthier Gray-Box Trojan against LLMs", IEEE/ACM International Conference on Computer-Aided Design (ICCAD), 2026.

arXiv

CacheTrap ищет единичный битовый флип в KV-кэше дообученного классификатора LLM и измеряет полученную долю успешных атак (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 являются gated-моделями. Примите лицензии на 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. Два batch-скрипта реализуют именно это разделение:

СкриптДатасеты жертвыКалибровка
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}
}
Скачать инструмент