
Implementación de investigación de un agente de jailbreak para LLM que elude las barreras de seguridad de modelos comerciales mediante el tejido de prompts inofensivos y la búsqueda adaptativa en árbol.
TurnGate es un mecanismo de defensa consciente de la respuesta, diseñado para detectar y mitigar la intención maliciosa oculta en sistemas de diálogo multiturno. Defiende contra ataques maliciosos multiturno de última generación como CKA-Agent, logrando un gran rendimiento de defensa mientras evita la sobrerrechazo.
CKA-Agent demuestra tasas de éxito de ataque consistentemente altas contra los últimos modelos de frontera, incluidos GPT-5.2, Gemini-3.0-Pro y Claude-Haiku-4.5. Los resultados se resumen a continuación:
| 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 |
Métricas: FS = Éxito total, PS = Éxito parcial, V = Vacuo, R = Rechazo. Resultados recopilados en diciembre de 2025.
Este repositorio contiene la implementación oficial de CKA-Agent, un enfoque novedoso para eludir las barreras de seguridad de los grandes modelos de lenguaje (LLM) comerciales mediante técnicas de tejido de prompts inofensivos y búsqueda adaptativa en árbol.

Instalar uv
curl -LsSf https://astral.sh/uv/install.sh | sh
Crear entorno
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
Configure sus experimentos modificando el archivo config/config.yml. Puede controlar los siguientes aspectos:
harmbench_cka o strongreject_cka.gpt-oss-120b o gemini-2.5-xxx.gemini-2.5-flash.Para obtener instrucciones de configuración detalladas y ejemplos, consulte el README de configuración.
El script run_experiment.sh ejecuta main.py para ejecutar todo el pipeline del experimento (jailbreak y evaluación) de forma predeterminada.
./run_experiment.sh
Puede modificar el script run_experiment.sh o pasar argumentos directamente a main.py para ejecutar fases específicas:
full: Ejecuta todo el pipeline (predeterminado).jailbreak: Ejecuta solo los métodos de jailbreak.judge: Ejecuta solo la evaluación sobre los resultados existentes.resume: Reanuda un experimento interrumpido.Ejemplo (ejecutando solo la fase de jailbreak):
python main.py --phase jailbreak
Si encuentra este repositorio útil para su investigación, considere citar el siguiente artículo:
@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}
}