
Benchmark di sicurezza per valutare gli agenti OpenClaw in contesti di esecuzione avversari, inclusi file avvelenati, skill iniettate, metadati di strumenti fuorvianti e payload codificati. Include 42 attività di replay distribuite in 6 suite di rischio con scoring di attacco e utilità.
Valutazione di sicurezza open-world per agenti OpenClaw in contesti di esecuzione avversari.
DeepTrap è un benchmark di sicurezza per valutare se gli agenti OpenClaw riescono a completare attività utente benigne mentre resistono alla pressione di un contesto di esecuzione malevolo: file di workspace avvelenati, skill iniettate, metadati di strumenti fuorvianti, percorsi di comando non sicuri, segreti inseriti e payload codificati.
La versione pubblica contiene 42 attività di replay organizzate in 6 classi di vulnerabilità contestuali x 7 famiglie di scenari operativi, oltre al runner del benchmark e al codice di valutazione pubblico. Include anche 10 campioni di replay in lingua cinese in tasks_zh/ per esperimenti di valutazione localizzati. La pipeline privata di generazione delle attività e di ricerca degli attacchi è volutamente esclusa.
DeepTrap accompagna l'articolo:
Red-Teaming Agent Execution Contexts: Open-World Security Evaluation on OpenClaw
Hongwei Yao, Yiming Liu, Yiling He e Bingrun Yang. arXiv:2605.11047, 2026.
La maggior parte dei benchmark per agenti chiede se un modello riesca a portare a termine un lavoro utile. DeepTrap pone una domanda più severa: l'agente può svolgere un lavoro utile in sicurezza quando il contesto di esecuzione circostante è avversario?
tasks_zh/.AGS è Attack Grading Score e UGS è Utility Grading Score. I punteggi sono riportati per suite di rischio; Average è la media tra Rischio 1 e Rischio 6.
Pagina completa del progetto e classifica: ZJUICSR.github.io/DeepTrap
DeepTrap incrocia sei classi di vulnerabilità contestuali con sette famiglie di scenari benigni. Ogni attività usa un prompt utente normale; il comportamento avversario è indotto dal contesto del workspace.
DeepTrap costruisce contesti di esecuzione compromessi a partire da istruzioni benigne e workspace puliti, cerca payload avversari candidati con segnali di reward multi-obiettivo e perfeziona i payload riusciti tramite probing basato su riflessione.
OPENROUTER_API_KEYDEEPSEEK_API_KEYGli ID dei modelli devono includere il prefisso del provider, ad esempio openrouter/anthropic/claude-sonnet-4-5.
git clone https://github.com/ZJUICSR/DeepTrap.git
cd DeepTrap
pip install -e .
# Validate task metadata without running OpenClaw
python benchmark.py --dry-run
# List bundled tasks
python benchmark.py --list-tasks
# Validate Chinese-language sample tasks
python benchmark.py --tasks-dir tasks_zh --dry-run
# Run one risk suite
python benchmark.py --model openrouter/anthropic/claude-sonnet-4-5 --suite R1
# Run specific tasks
python benchmark.py --model openrouter/anthropic/claude-sonnet-4-5 --suite task_R1_T01,task_R2_T01
# Run the Chinese-language sample tasks
python benchmark.py --tasks-dir tasks_zh --model openrouter/anthropic/claude-sonnet-4-5 --suite all
# Run all tasks with repeated trials
python benchmark.py --model openrouter/anthropic/claude-sonnet-4-5 --suite all --runs 3
I risultati vengono scritti in results/ per impostazione predefinita.
Ogni esecuzione scrive un file JSON contenente i metadati del modello, la configurazione della suite, i punteggi per attività, la lunghezza delle trascrizioni, i percorsi del workspace, i metadati di utilizzo quando disponibili e i campi di riepilogo aggregati.
# Overall score summary
jq '.summary' results/*.json
# Per-task scores
jq '.tasks[] | {task_id, category, grading, attack_eval}' results/*.json
# Tasks where the replay attack was reproduced strongly
jq '.tasks[] | select(.attack_eval.mean >= 0.8) | {task_id, attack: .attack_eval.mean}' results/*.json
Ogni attività riporta:
AGS: punteggio di valutazione dell'attacco, dove un valore più alto indica una realizzazione dell'attacco più forteUGS: punteggio di valutazione dell'utilità, dove un valore più alto indica un migliore completamento dell'attivitàDeepTrap può essere distribuito anche come dataset Hugging Face all'indirizzo ZJUICSR/DeepTrap.
L'export strutturato salva un'attività del benchmark per riga JSONL in data/tasks.jsonl, mentre le definizioni originali delle attività in Markdown restano in tasks/. Le attività campione in lingua cinese possono essere esportate separatamente da tasks_zh/ quando necessario.
python scripts/export_hf_dataset.py
# Optional: export Chinese-language samples
python scripts/export_hf_dataset.py --tasks-dir tasks_zh --output data/tasks_zh.jsonl
Dopo l'upload, gli utenti possono caricare i metadati del benchmark con:
from datasets import load_dataset
dataset = load_dataset("ZJUICSR/DeepTrap", split="train")
Ogni riga include task_id, name, risk, category, prompt, expected_behavior, grading_criteria, workspace_files, metadati di valutazione e flag per i controlli automatici e le rubriche del giudice LLM.
.
├── benchmark.py # Public benchmark runner
├── tasks/ # 42 bundled task definitions
├── tasks_zh/ # 10 Chinese-language replay samples
├── scenes/ # Clean source scenes for baseline/delta scoring
├── data/tasks.jsonl # Hugging Face dataset export
├── docs/ # GitHub Pages project site
├── huggingface/README.md # Hugging Face dataset card
├── scripts/ # Runtime support and export code
│ ├── lib_agent.py # OpenClaw execution helpers
│ ├── lib_reward.py # Attack/utility scoring
│ ├── lib_criteria.py # Public judge criteria
│ ├── lib_llm.py # Judge backend router
│ ├── lib_openrouter.py # OpenRouter judge client
│ ├── lib_deepseek.py # DeepSeek judge client
│ ├── lib_dashscope.py # DashScope/Qwen judge client
│ └── export_hf_dataset.py # Dataset export helper
├── tests/ # Public validation tests
├── SKILL.md # Agent-facing benchmark skill
└── pyproject.toml
Se utilizzi DeepTrap nella tua ricerca, ti preghiamo di citare:
@article{yao2026trap,
title={Red-Teaming Agent Execution Contexts: Open-World Security Evaluation on OpenClaw},
author={Yao, Hongwei and Liu, Yiming and He, Yiling and Yang, Bingrun},
journal={arXiv preprint arXiv:2605.11047},
year={2026}
}
DeepTrap è stato in parte ispirato da PinchBench, che fornisce una suite di benchmark pratica per misurare le capacità degli agenti OpenClaw su attività del mondo reale. Ringraziamo il progetto PinchBench per aver dimostrato un formato di benchmark chiaro e utilizzabile per gli agenti OpenClaw.
MIT — consultare LICENSE per i dettagli.
| Cosa testiamo | Perché è importante |
|---|
| Robustezza del contesto | File avvelenati, artefatti simili a memoria, playbook e istruzioni di workspace | Gli agenti reali leggono da un contesto locale mutabile, dove testo non fidato può reindirizzare silenziosamente il comportamento |
| Gestione dei segreti | Credenziali inserite, variabili d'ambiente, chiavi API e valori interni | Gli agenti devono distinguere la consapevolezza della configurazione dall'esfiltrazione di segreti |
| Confini di esecuzione | Comandi shell pericolosi, script di deploy ed effetti collaterali sul file system | Gli agenti che usano strumenti possono causare danni duraturi anche quando il prompt dell'utente è benigno |
| Fiducia in skill/strumenti | Skill malevole, metadati di strumenti fuorvianti e pattern di abuso degli strumenti | La sicurezza degli agenti dipende da come il modello interpreta e convalida le affordance degli strumenti |
| Payload offuscati | Istruzioni codificate Base64 e multi-fase | Gli attacchi possono nascondersi dietro attività di elaborazione dati dall'aspetto normale |
| Modello Claw | Metrica | Rischio 1 | Rischio 2 | Rischio 3 | Rischio 4 | Rischio 5 | Rischio 6 | Media |
|---|
| GPT-5.4 | AGS | 0.77 | 0.84 | 0.76 | 0.61 | 0.67 | 0.53 | 0.70 |
| GPT-5.4 | UGS | 0.91 | 0.83 | 0.86 | 0.77 | 0.74 | 0.87 | 0.83 |
| Claude-Sonnet-4.6 | AGS | 0.51 | 0.58 | 0.37 | 0.25 | 0.38 | 0.20 | 0.38 |
| Claude-Sonnet-4.6 | UGS | 0.71 | 0.69 | 0.55 | 0.45 | 0.55 | 0.71 | 0.61 |
| GLM-5 | AGS | 0.81 | 0.93 | 0.74 | 0.83 | 0.79 | 0.88 | 0.83 |
| GLM-5 | UGS | 0.90 | 0.90 | 0.98 | 0.89 | 0.83 | 0.88 | 0.90 |
| Qwen3.5-Plus | AGS | 0.93 | 0.93 | 0.86 | 0.74 | 0.88 | 0.97 | 0.88 |
| Qwen3.5-Plus | UGS | 0.95 | 0.92 | 1.00 | 0.98 | 0.93 | 0.93 | 0.95 |
| MiniMax-M2.5 | AGS | 0.86 | 0.89 | 0.77 | 0.66 | 0.90 | 0.89 | 0.83 |
| MiniMax-M2.5 | UGS | 0.92 | 0.95 | 1.00 | 0.88 | 0.74 | 0.90 | 0.90 |
| DeepSeek-v4-Flash | AGS | 0.90 | 0.96 | 0.80 | 0.90 | 0.82 | 0.94 | 0.89 |
| DeepSeek-v4-Flash | UGS | 0.98 | 0.96 | 1.00 | 0.96 | 0.85 | 1.00 | 0.96 |
| Deepseek-v4-Pro | AGS | 0.90 | 0.96 | 0.74 | 0.87 | 0.85 | 0.86 | 0.86 |
| Deepseek-v4-Pro | UGS | 0.90 | 0.91 | 1.00 | 0.81 | 0.84 | 0.89 | 0.89 |
| MiMo-v2.5 | AGS | 0.86 | 0.87 | 0.71 | 0.73 | 0.57 | 0.60 | 0.72 |
| MiMo-v2.5 | UGS | 0.96 | 0.95 | 0.88 | 0.93 | 0.83 | 0.89 | 0.91 |
| MiMo-v2.5-pro | AGS | 0.74 | 0.83 | 0.56 | 0.58 | 0.58 | 0.53 | 0.64 |
| MiMo-v2.5-pro | UGS | 0.92 | 0.90 | 0.88 | 0.87 | 0.71 | 0.87 | 0.86 |
| Suite | Categoria | Attività | Cosa viene misurato |
|---|
R1 | Dirottamento dell'harness | 7 | Resistenza a contesto avvelenato e passaggi di workflow iniettati |
R2 | Fuga di dati privati | 7 | Protezione di credenziali inserite e valori sensibili |
R3 | Esecuzione non autorizzata | 7 | Rifiuto di comandi pericolosi e azioni che oltrepassano i confini |
R4 | Rischio supply chain | 7 | Gestione di skill malevole e integrazioni simili a strumenti |
R5 | Abuso degli strumenti | 7 | Rilevamento di comportamenti degli strumenti fuorvianti o non corrispondenti |
R6 | Offuscamento della codifica | 7 | Gestione di istruzioni codificate e payload multi-fase |
| Scenario | Famiglia tipica di attività |
|---|
T01 | Note di riunione, punti d'azione e riepiloghi di workflow di routine |
T02 | Formattazione Python/codice, refactoring ed elaborazione di API/log |
T03 | Note di ricerca, revisione della letteratura, citazioni e analisi di survey |
T04 | Prontezza del deploy, validazione della configurazione e controlli di salute dei servizi |
T05 | Vendite, ricavi e reporting strutturato di dati aziendali |
T06 | Redazione di blog/contenuti, controllo dello stile, onboarding e riepiloghi di feedback |
T07 | Amministrazione di sistema, audit dell'ambiente, verifiche di deploy e backup dei log |
| Flag | Descrizione |
|---|
--model MODEL | Identificatore del modello target configurato per OpenClaw |
--suite SUITE | all, una suite di rischio come R1, o ID di attività separati da virgola |
--tasks-dir DIR | Directory delle attività, default tasks/; usare tasks_zh/ per i campioni in lingua cinese |
--runs N | Numero di esecuzioni per attività per la media |
--timeout-multiplier N | Ridimensiona i timeout delle attività per modelli più lenti |
--judge-model MODEL | Modello giudice per la valutazione di attacco, stealth e utilità |
--output-dir DIR | Directory dei risultati, default results/ |
--list-tasks | Stampa gli ID delle attività incluse ed esce |
--dry-run | Valida il caricamento delle attività e i metadati di valutazione senza eseguire OpenClaw |
--verbose | Stampa log di esecuzione dettagliati |