
Agentisches Jailbreak-Framework für LLM-basierte Agenten, das schema-basierte Aufgabenzerlegung, mehrstufige Tarnungsstrategien und adaptive Selbstentwicklung nutzt, um neu aufkommende Sicherheitsrisiken zu untersuchen.
Schema-basierte Aufgabenzerlegung. Um die Angriffsschwierigkeit zu reduzieren, entwickeln wir rund 20 prozedurale Zerlegungsschemata, um eine komplexe schädliche Aufgabe in relativ harmlose und einfache Teilaufgabenfolgen aufzulösen. Wir bewerten diese Kandidatenfolgen anhand von zwei Dimensionen, nämlich Schädlichkeit und Schwierigkeit, und wählen die optimale für die Instanziierung des Angriffs aus.
Ausführungsorientierte Multi-Turn-Interaktion. Für die Teilaufgaben, die Ausführungsverweigerungen auslösen, konstruiert TRACE Teilaufgabenprofile und ruft geeignete ausführungsorientierte Multi-Turn-Interaktionsstrategien aus einer kontinuierlich evolvierenden Strategiebibliothek ab. TRACE nutzt die ausgewählte Strategie, um die Teilaufgabe zu instanziieren, und konstruiert schrittweise einen plausiblen Ausführungskontext durch Multi-Turn-Interaktionen, wodurch der Zielagent dazu veranlasst wird, die Teilaufgabe abzuschließen.
Adaptive Wiederherstellung und Strategieevolution. Wenn ein Zwischenschritt fehlschlägt, lokalisiert TRACE die fehlgeschlagene Teilaufgabe, bewahrt den bisherigen Fortschritt, passt die entsprechende Strategie an und setzt ab der fehlgeschlagenen Teilaufgabe fort, ohne von vorne zu beginnen. Darüber hinaus nutzt TRACE Ausführungsfeedback, um die ausführungsorientierte Strategiebibliothek kontinuierlich weiterzuentwickeln.
Zwei aufgezeichnete Demonstrationen mit Claude Code und Codex sind in assets/ verfügbar:
| Zielagent | Demo |
|---|---|
| Claude Code | Claude Code demo |
| Codex | Codex demo |
| Pfad | Inhalt |
|---|---|
improved_decomposer/ | Prozedurale Schemata, Kandidatengenerierung, Validierung und Auswahl |
experiment/main.py | Experiment-Orchestrierung und Ausführungsfeedback |
experiment/runtime/ | Laufzeitkomponenten für Modelle, Strategien und Teilaufgabenfolgen |
experiment/strategy_library/ | Strategiespeicherung, -abruf, -überarbeitung und Feedback-Integration |
experiment/config/ | Experimentkonfigurationen und Prompt-Vorlagen |
agent_execution/ | Zielagent-Schnittstellen, Sitzungsverwaltung, Trajektorienerfassung und Verifikation |
tools/ | Benchmark-Bridges, API-Adapter und Diagnosen |
assets/ | Claude Code- und Codex-Demonstrationsvideos |
environment.yml | Conda-Umgebungsspezifikation |
Die bereitgestellte Umgebungsspezifikation ist auf Linux und Python 3.11 ausgerichtet.
conda env create -f environment.yml
conda activate trace
Legen Sie die Anmeldedaten und die Basis-URL für einen OpenAI-kompatiblen Chat-Completions-Endpunkt fest:
export OPENAI_API_KEY="<your-api-key>"
export OPENAI_BASE_URL="<your-api-base-url>"
python improved_decomposer/improved_task_decomposer.py \
--data_file_path /path/to/tasks.json \
--output_file_path outputs/decompositions.jsonl \
--model "<decomposition-model>" \
--num_decompositions_per_task 5 \
--use_schema_decompose
--use_schema_decompose aktiviert die schema-basierte Kandidatengenerierung.
Das folgende Beispiel verwendet den AdvCUA-Benchmark mit Codex.
python experiment/main.py \
--dataset /path/to/benchmark_with_subtasks.jsonl \
--config experiment/config/config.yaml \
--lab-backend vrap \
--compose-file /path/to/benchmark/docker-compose.yml \
--attacker-model-path /path/to/attacker-model \
--target-backend codex \
--codex-model "<target-model>" \
--responses-base-url "<target-responses-api-base-url>" \
--responses-env-key OPENAI_API_KEY \
--strategy-library outputs/experiment/strategy_library.json \
--output outputs/experiment/results.jsonl
Um die verfügbaren Kommandozeilenoptionen einzusehen:
python improved_decomposer/improved_task_decomposer.py --help
python experiment/main.py --help