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

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

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

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

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

Категории

Все категории
Loading categories
batch_jailbreak — Этот репозиторий содержит официальную реализацию статьи «[Safety in Batches? Understanding and Mitigating Safety Failures in Batch Prompting]» | Kitploit
Инструменты/GitHubGitHub/96kihyun/batch_jailbreak
Машинное ОбучениеСтатьи и ИсследованияОбучение и ОбразованиеБезопасность ИИСостязательная Атака
GitHub96kihyun/batch_jailbreak

batch_jailbreak

Этот репозиторий содержит официальную реализацию статьи «[Safety in Batches? Understanding and Mitigating Safety Failures in Batch Prompting]»

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

Популярное

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

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

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

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

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

Официальный репозиторий для Safety in Batches? Understanding and Mitigating Safety Failures in Batch Prompting

Kihyun Kim, Hee-Seon Kim, Wonjun Lee, Changick Kim

Korea Advanced Institute of Science and Technology (KAIST)

arXiv

Новости

  • 2026.09 Наша статья принята на AACL-IJCNLP 2026 (Main)! 🎉
  • 2026.08 Статья доступна на arXiv!
  • 2026.08 Код опубликован!

Обзор

Батчевый промптинг (batch prompting) — это практичная стратегия инференса, которая объединяет несколько запросов в один вызов. Мы показываем, что его успех в плане полезности не распространяется на безопасность: вредоносный вопрос, на который модель надёжно отказывается отвечать в изоляции, может вызвать вредоносный ответ, когда он встроен в батч безвредных вопросов.

Этот репозиторий предоставляет официальный код для:

  1. Генерации данных для атаки через батчевый промптинг
  2. Запуска инференса на открытых моделях (Phi / Llama / Qwen) и коммерческих API (GPT / Gemini / Claude)
  3. Оценки успешности атаки с помощью ансамбля LlamaGuard-4, WildGuard и Beaver-Dam

Подготовка

  1. Клонируйте этот репозиторий.
root@kitploit:~
git clone https://github.com/96kihyun/batch_jailbreak.git
cd batch_jailbreak
  1. Настройка окружения
root@kitploit:~
conda create -n batch python=3.10 -y
conda activate batch
pip install -r requirements.txt

Для локального инференса моделей и для трёх моделей-судей требуется GPU. Протестировано с Python 3.10 + PyTorch 2.4 + transformers==5.2.

Примечание: src/evaluate/llamaguard4/ содержит встроенную копию transformers для LlamaGuard-4 (Llama4ForConditionalGeneration). Она добавляется в sys.path только во время загрузки LlamaGuard.

  1. Зарегистрируйте модели / API-ключи

Отредактируйте configs/models.yaml, указав локальные пути к чекпоинтам HuggingFace (генераторы + судьи), и задайте API-ключи в configs/api.yaml (или через переменные окружения OPENAI_API_KEY / GEMINI_API_KEY / ANTHROPIC_API_KEY / HF_TOKEN).

Необходимые данные и модели

  • Безвредный наполнитель: data/context_dataset/gsm8k.jsonl (каждая строка содержит ключ "question")
  • Вредоносные датасеты (загружаются автоматически): JailbreakBench/JBB-Behaviors, walledai/StrongREJECT
  • Генераторы: Phi-4 / Llama-3.1-8B-Instruct / Qwen3-8B
  • Судьи: Llama-Guard-4-12B, PKU-Alignment/beaver-dam-7b, allenai/wildguard

Генерация данных для батчевого промптинга

По умолчанию: --harmful_dataset JBB, размер батча n = 1..10, 313 образцов. Безвредные слоты заполняются из GSM8K (single_math).

root@kitploit:~
python -m src.utils.generate_batch_question_prompt

Результаты записываются в data/batch_prompt/single_math/{n}/pos_{k}.jsonl.

Полезные флаги

Запуск инференса

Открытые модели (Phi / Llama / Qwen)

root@kitploit:~
python scripts/inference/run_inference_batch_prompt.py \
  --model_name qwen \
  --case single_math --n 9 --pos 2 \
  --harmful_dataset JBB

Батчевый перебор по (model, case, batch_size, pos):

root@kitploit:~
bash scripts/inference/run_inference_batch_prompt_eval.sh \
  --dataset jbb --gpu_id 0 \
  --models phi qwen --cases single_math \
  --batch_sizes 12 --pos_values 1 2

Коммерческие API (GPT / Gemini / Claude)

root@kitploit:~
python scripts/inference/run_inference_api.py \
  --api gpt \
  --input_file data/batch_prompt_jbb/single_math/12/pos_2.jsonl \
  --model_name gpt --output_subdir batch_prompt_jbb/single_math/12/pos_2 \
  --harmful_dataset JBB --extract_pos 2

Результаты сохраняются в result/inference/<model>/... в формате JSONL с парами {prompt, response}.

Оценка успешности атаки

Каждый ответ оценивается LlamaGuard-4, WildGuard и Beaver-Dam, затем результаты объединяются голосованием большинства:

root@kitploit:~
python scripts/eval/run_ensemble.py \
  --input_file result/inference/qwen/batch_prompt_jbb/single_math/12/qwen_single_math_n12_pos_2_response.jsonl \
  --output_dir result/evaluation/batch_prompt_jbb/qwen/single_math/12/pos_2

Вы также можете запускать оценку в том же цикле, что и инференс:

root@kitploit:~
bash scripts/inference/run_inference_batch_prompt_eval.sh \
  --dataset jbb --gpu_id 0 \
  --models qwen --cases single_math \
  --batch_sizes 12 --pos_values 2 \
  --conda_env batch

Быстрый старт (пробный запуск)

root@kitploit:~
# 1. data
python -m src.utils.generate_batch_question_prompt \
  --harmful_dataset JBB --min_n 12 --max_n 12 --num_samples 100

# 2. inference
python scripts/inference/run_inference_batch_prompt.py \
  --model_name llama --case single_math --n 12 --pos 2 --harmful_dataset JBB

# 3. evaluation
python scripts/eval/run_ensemble.py \
  --input_file result/inference/llama/batch_prompt/llama_single_math_n12_pos_2_response.jsonl

Цитирование

Пожалуйста, рассмотрите возможность цитирования нашей статьи, если наша работа поможет вашему исследованию.

root@kitploit:~
@article{kim2026safety,
  title={Safety in Batches? Understanding and Mitigating Safety Failures in Batch Prompting},
  author={Kim, Kihyun and Kim, HeeSeon and Lee, Wonjun and Kim, Changick},
  journal={arXiv preprint arXiv:2608.02681},
  year={2026}
}

Контакты

По любым вопросам о нашей статье или коде пишите на [email protected].

Скачать инструмент
ФлагПо умолчаниюОписание
--harmful_datasetJBBJBB или StrongREJECT
--min_n / --max_n1 / 10включающий диапазон размера батча N
--num_samples313количество вредоносных промптов
--seed42зерно ГПСЧ
--output_dir./data/batch_promptкорневой каталог вывода