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
Tools/GitHubGitHub/96kihyun/batch_jailbreak
Maschinelles LernenPapers & ForschungLernen & BildungKI-SicherheitAdversarial-Angriff
GitHub96kihyun/batch_jailbreak

batch_jailbreak

Dieses Repository enthält die offizielle Implementierung des Papers „[Safety in Batches? Understanding and Mitigating Safety Failures in Batch Prompting]“

Repository anzeigenWebseite
vor 5 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

Offizielles Repository zu 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

News

  • 2026.09 Unser Paper wurde bei der AACL-IJCNLP 2026 (Main) angenommen! 🎉
  • 2026.08 Das Paper ist auf arXiv verfügbar!
  • 2026.08 Der Code wurde veröffentlicht!

Überblick

Batch Prompting ist eine praktische Inferenzstrategie, bei der mehrere Anfragen in einem einzigen Aufruf gebündelt werden. Wir zeigen, dass sich ihr Erfolg hinsichtlich des Nutzens nicht auf die Sicherheit überträgt: Eine schädliche Frage, die isoliert zuverlässig abgelehnt wird, kann eine schädliche Antwort hervorrufen, wenn sie in einen Batch harmloser Fragen eingebettet wird.

Dieses Repository stellt den offiziellen Code bereit, um:

  1. Batch-Prompt-Angriffsdaten zu generieren
  2. Inferenz auf Open-Source-Modellen (Phi / Llama / Qwen) und kommerziellen APIs (GPT / Gemini / Claude) auszuführen
  3. Den Angriffserfolg mit einem Ensemble aus LlamaGuard-4, WildGuard und Beaver-Dam zu bewerten

Vorbereitung

  1. Klonen Sie dieses Repository.
root@kitploit:~
git clone https://github.com/96kihyun/batch_jailbreak.git
cd batch_jailbreak
  1. Einrichtung der Umgebung
root@kitploit:~
conda create -n batch python=3.10 -y
conda activate batch
pip install -r requirements.txt

Für die lokale Modellinferenz und für die drei Judge-Modelle ist eine GPU erforderlich. Getestet mit Python 3.10 + PyTorch 2.4 + transformers==5.2.

Hinweis: src/evaluate/llamaguard4/ enthält eine mitgelieferte Kopie von transformers für LlamaGuard-4 (Llama4ForConditionalGeneration). Sie wird nur während des Ladens von LlamaGuard zu sys.path hinzugefügt.

  1. Modelle / API-Schlüssel registrieren

Bearbeiten Sie configs/models.yaml mit lokalen HuggingFace-Checkpoint-Pfaden (Generatoren + Judges) und setzen Sie die API-Schlüssel in configs/api.yaml (oder über die Umgebungsvariablen OPENAI_API_KEY / GEMINI_API_KEY / ANTHROPIC_API_KEY / HF_TOKEN).

Erforderliche Daten & Modelle

  • Harmlose Fülltexte: data/context_dataset/gsm8k.jsonl (jede Zeile enthält einen "question"-Schlüssel)
  • Schädliche Datensätze (automatisch heruntergeladen): JailbreakBench/JBB-Behaviors, walledai/StrongREJECT
  • Generatoren: Phi-4 / Llama-3.1-8B-Instruct / Qwen3-8B
  • Judges: Llama-Guard-4-12B, PKU-Alignment/beaver-dam-7b, allenai/wildguard

Generieren von Batch-Prompt-Daten

Standard: --harmful_dataset JBB, Batch-Größe n = 1..10, 313 Samples. Harmlose Slots werden aus GSM8K (single_math) gefüllt.

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

Ausgaben werden unter data/batch_prompt/single_math/{n}/pos_{k}.jsonl geschrieben.

Nützliche Flags
FlagStandardBeschreibung
--harmful_datasetJBBJBB oder StrongREJECT
--min_n / --max_n1 / 10inklusiver Bereich der Batch-Größe N
--num_samples313Anzahl der schädlichen Prompts
--seed42RNG-Seed
--output_dir./data/batch_promptAusgabewurzelverzeichnis

Ausführen der Inferenz

Open-Source-Modelle (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

Batch-Sweep über (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

Kommerzielle APIs (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

Ausgaben werden unter result/inference/<model>/... als JSONL mit {prompt, response}-Paaren gespeichert.

Bewerten des Angriffserfolgs

Jede Antwort wird von LlamaGuard-4, WildGuard und Beaver-Dam bewertet und dann per Mehrheitsentscheid kombiniert:

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

Sie können die Bewertung auch im selben Durchlauf wie die Inferenz ausführen:

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

Schnellstart (Smoke Run)

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

Zitation

Bitte erwägen Sie, unser Paper zu zitieren, wenn unsere Arbeit Ihre Forschung unterstützt.

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

Kontakt

Bei Fragen zu unserem Paper oder Code senden Sie bitte eine E-Mail an [email protected].

Tool herunterladen