
Исследовательская реализация агента для джейлбрейка LLM, обходящего защитные механизмы коммерческих моделей с помощью плетения безобидных промптов и адаптивного древовидного поиска.
TurnGate — это механизм защиты, учитывающий ответы, предназначенный для обнаружения и нейтрализации скрытых вредоносных намерений в системах многоходового диалога. Он защищает от передовых многоходовых вредоносных атак, таких как CKA-Agent, обеспечивая высокую эффективность защиты и избегая излишних отказов.
CKA-Agent демонстрирует стабильно высокую долю успешных атак против новейших фронтирных моделей, включая GPT-5.2, Gemini-3.0-Pro и Claude-Haiku-4.5. Результаты приведены ниже:
| Модель | 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 |
Метрики: FS = полный успех, PS = частичный успех, V = пустой ответ, R = отказ. Результаты собраны в декабре 2025 года.
Этот репозиторий содержит официальную реализацию CKA-Agent — нового подхода к обходу защитных механизмов коммерческих больших языковых моделей (LLM) с помощью методов плетения безвредных промптов и адаптивного древовидного поиска.

Установите uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Создайте окружение
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
Настройте свои эксперименты, изменив файл config/config.yml. Вы можете управлять следующими аспектами:
harmbench_cka или strongreject_cka.gpt-oss-120b или gemini-2.5-xxx.gemini-2.5-flash.Подробные инструкции по настройке и примеры см. в README по конфигурации.
Скрипт run_experiment.sh по умолчанию запускает main.py для выполнения всего конвейера эксперимента (джейлбрейк и оценка).
./run_experiment.sh
Вы можете изменить скрипт run_experiment.sh или напрямую передать аргументы в main.py, чтобы запустить отдельные этапы:
full: запускает весь конвейер (по умолчанию).jailbreak: запускает только методы джейлбрейка.judge: запускает только оценку по существующим результатам.resume: возобновляет прерванный эксперимент.Пример (запуск только этапа джейлбрейка):
python main.py --phase jailbreak
Если этот репозиторий оказался полезен для вашего исследования, пожалуйста, рассмотрите возможность цитирования следующей статьи:
@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}
}