
Фреймворк агентного джейлбрейка для агентов на основе LLM, использующий декомпозицию задач на основе схем, многоходовые стратегии маскировки и адаптивную самоэволюцию для исследования новых угроз безопасности.
Декомпозиция задач на основе схем. Чтобы снизить сложность атаки, мы разработали около 20 процедурных схем декомпозиции, позволяющих разбить сложную вредоносную задачу на относительно безобидные и простые последовательности подзадач. Мы оцениваем эти кандидатные последовательности по двум измерениям — вредоносности и сложности — и выбираем оптимальную для реализации атаки.
Многоходовое взаимодействие, ориентированное на выполнение. Для подзадач, вызывающих отказ от выполнения, TRACE строит профили подзадач и извлекает подходящие стратегии многоходового взаимодействия, ориентированные на выполнение, из постоянно развивающейся библиотеки стратегий. TRACE использует выбранную стратегию для реализации подзадачи и постепенно выстраивает правдоподобный контекст выполнения через многоходовые взаимодействия, побуждая целевого агента выполнить подзадачу.
Адаптивное восстановление и эволюция стратегий. Когда промежуточный шаг завершается неудачей, TRACE локализует неудавшуюся подзадачу, сохраняет предыдущий прогресс, адаптирует соответствующую стратегию и возобновляет работу с неудавшейся подзадачи, не начиная заново. Кроме того, TRACE использует обратную связь от выполнения для непрерывной эволюции библиотеки стратегий, ориентированных на выполнение.
В каталоге assets/ представлены две записанные демонстрации с Claude Code и Codex:
| Целевой агент | Демонстрация |
|---|---|
| Claude Code | Демонстрация Claude Code |
| Codex | Демонстрация Codex |
| Путь | Содержимое |
|---|---|
improved_decomposer/ | Процедурные схемы, генерация кандидатов, валидация и выбор |
experiment/main.py | Оркестрация экспериментов и обратная связь от выполнения |
experiment/runtime/ | Компоненты среды выполнения для моделей, стратегий и последовательностей подзадач |
experiment/strategy_library/ | Хранение стратегий, извлечение, пересмотр и интеграция обратной связи |
experiment/config/ | Конфигурации экспериментов и шаблоны промптов |
agent_execution/ | Интерфейсы целевых агентов, управление сессиями, сбор траекторий и верификация |
tools/ | Мосты к бенчмаркам, адаптеры API и диагностика |
assets/ | Демонстрационные видео Claude Code и Codex |
environment.yml | Спецификация окружения Conda |
Предоставленная спецификация окружения ориентирована на Linux и Python 3.11.
conda env create -f environment.yml
conda activate trace
Задайте учётные данные и базовый URL для эндпоинта Chat Completions, совместимого с OpenAI:
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 включает генерацию кандидатов на основе схем.
В следующем примере используется бенчмарк AdvCUA с 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
Чтобы просмотреть доступные параметры командной строки:
python improved_decomposer/improved_task_decomposer.py --help
python experiment/main.py --help