
Forschungsimplementierung eines LLM-Jailbreak-Agenten, der die Guardrails kommerzieller Modelle durch harmloses Prompt-Weaving und adaptive Baumsuche umgeht.
TurnGate ist ein antwortbewusster Verteidigungsmechanismus, der darauf ausgelegt ist, verborgene bösartige Absichten in Multi-Turn-Dialogsystemen zu erkennen und abzuschwächen. Er verteidigt gegen modernste mehrstufige bösartige Angriffe wie CKA-Agent und erzielt dabei eine hervorragende Verteidigungsleistung, während übermäßige Ablehnungen vermieden werden.
CKA-Agent zeigt durchgängig hohe Angriffserfolgsraten gegen die neuesten Frontier-Modelle, darunter GPT-5.2, Gemini-3.0-Pro und Claude-Haiku-4.5. Die Ergebnisse sind unten zusammengefasst:
| Model | HarmBench | StrongREJECT | ||||||
|---|---|---|---|---|---|---|---|---|
| FS ↑ | PS ↑ | V ↓ | R ↓ | FS ↑ | PS ↑ | V ↓ | R ↓ | |
| 🟢 GPT-5.2 | 0.889 | 0.079 | 0.024 | 0.008 | 0.932 | 0.056 | 0.006 | 0.006 |
| 🟣 Gemini-3.0-Pro | 0.881 | 0.087 | 0.000 | 0.032 | 0.951 | 0.037 | 0.006 | 0.006 |
| 🟠 Claude-Haiku-4.5 | 0.960 | 0.024 | 0.008 | 0.008 | 0.969 | 0.025 | 0.006 | 0.000 |
Metriken: FS = Full Success, PS = Partial Success, V = Vacuous, R = Refusal. Ergebnisse erhoben im Dezember 2025.
Dieses Repository enthält die offizielle Implementierung von CKA-Agent, einem neuartigen Ansatz zur Umgehung der Guardrails kommerzieller großer Sprachmodelle (LLMs) durch harmloses Prompt-Weaving und adaptive Baumsuche.

Installiere uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Erstelle die Umgebung
uv venv --python 3.12
source .venv/bin/activate
uv pip install vllm --torch-backend=auto
uv pip install accelerate fastchat nltk pandas google-genai httpx[socks] anthropic
Konfiguriere deine Experimente, indem du die Datei config/config.yml bearbeitest. Du kannst die folgenden Aspekte steuern:
harmbench_cka oder strongreject_cka.gpt-oss-120b oder gemini-2.5-xxx.gemini-2.5-flash.Detaillierte Konfigurationsanweisungen und Beispiele findest du in der Konfigurations-README.
Das Skript run_experiment.sh führt standardmäßig main.py aus, um die gesamte Experiment-Pipeline (Jailbreak und Evaluierung) durchzuführen.
./run_experiment.sh
Du kannst das Skript run_experiment.sh ändern oder Argumente direkt an main.py übergeben, um bestimmte Phasen auszuführen:
full: Führt die gesamte Pipeline aus (Standard).jailbreak: Führt nur die Jailbreak-Methoden aus.judge: Führt nur die Evaluierung auf vorhandenen Ergebnissen aus.resume: Setzt ein unterbrochenes Experiment fort.Beispiel (nur die Jailbreak-Phase ausführen):
python main.py --phase jailbreak
Wenn du dieses Repository für deine Forschung nützlich findest, ziehe bitte in Betracht, die folgende Arbeit zu zitieren:
@inproceedings{wei2025trojan,
title={The Trojan Knowledge: Bypassing Commercial LLM Guardrails via Harmless Prompt Weaving and Adaptive Tree Search},
author={Rongzhe Wei and Peizhi Niu and Xinjie Shen and Tony Tu and Yifan Li and Ruihan Wu and Eli Chien and Pin-Yu Chen and Olgica Milenkovic and Pan Li},
booktitle={Forty-third International Conference on Machine Learning},
year={2026},
url={https://openreview.net/forum?id=IlJeOnKW0K}
}