
LLM 기반 에이전트를 위한 에이전틱 탈옥 프레임워크로, 스킴 기반 작업 분해, 다중 턴 위장 전략, 적응형 자기 진화를 사용하여 새롭게 부상하는 보안 위험을 탐색합니다.
스킴 기반 작업 분해. 공격 난이도를 낮추기 위해, 우리는 복잡한 유해 작업을 상대적으로 무해하고 단순한 하위 작업 시퀀스로 분해하는 약 20가지의 절차적 분해 스킴을 개발한다. 우리는 이러한 후보 시퀀스를 유해성과 난이도라는 두 가지 차원으로 측정하고, 공격을 인스턴스화하기 위한 최적의 시퀀스를 선택한다.
실행 지향 다중 턴 상호작용. 실행 거부를 유발하는 하위 작업에 대해, TRACE는 하위 작업 프로파일을 구성하고 지속적으로 진화하는 전략 라이브러리에서 적절한 실행 지향 다중 턴 상호작용 전략을 검색한다. TRACE는 선택된 전략을 활용하여 하위 작업을 인스턴스화하고, 다중 턴 상호작용을 통해 그럴듯한 실행 컨텍스트를 점진적으로 구축하여 대상 에이전트가 하위 작업을 완료하도록 유도한다.
적응형 복구 및 전략 진화. 중간 단계가 실패하면, TRACE는 실패한 하위 작업을 국소화하고, 이전 진행 상황을 보존하며, 해당 전략을 적응시키고, 처음부터 다시 시작하지 않고 실패한 하위 작업부터 재개한다. 나아가 TRACE는 실행 피드백을 활용하여 실행 지향 전략 라이브러리를 지속적으로 진화시킨다.
Claude Code와 Codex를 사용한 두 개의 녹화된 데모가 assets/에 제공된다:
| 대상 에이전트 | 데모 |
|---|---|
| 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
OpenAI 호환 Chat Completions 엔드포인트의 자격 증명과 기본 URL을 설정한다:
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는 스킴 기반 후보 생성을 활성화한다.
다음 예제는 Codex와 함께 AdvCUA 벤치마크를 사용한다.
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