
Sicherheitsbenchmark zur Bewertung von OpenClaw-Agenten gegenüber gegnerischen Ausführungskontexten, einschließlich vergifteter Dateien, injizierter Fähigkeiten, irreführender Tool-Metadaten und codierter Payloads. Enthält 42 Wiederholungsaufgaben in 6 Risikosuiten mit Angriffs- und Nutzenbewertung.
Open-World-Sicherheitsbewertung für OpenClaw-Agenten unter adversariellen Ausführungskontexten.
DeepTrap ist ein Sicherheits-Benchmark zur Bewertung, ob OpenClaw-Agenten harmlose Benutzeraufgaben erfüllen können, während sie gleichzeitig bösartigem Druck durch den Ausführungskontext widerstehen: vergiftete Arbeitsbereichsdateien, injizierte Fähigkeiten, irreführende Tool-Metadaten, unsichere Befehlswege, eingepflanzte Geheimnisse und codierte Nutzlasten.
Die öffentliche Veröffentlichung enthält 42 Wiederholungsaufgaben, angeordnet als 6 kontextuelle Schwachstellenklassen × 7 operationale Szenarienfamilien, sowie den Benchmark-Runner und den öffentlichen Bewertungscode. Sie enthält außerdem 10 chinesischsprachige Wiederholungsbeispiele in tasks_zh/ für lokalisierte Auswertungsexperimente. Die private Aufgabengenerierungs- und Angriffssuch-Pipeline ist absichtlich nicht enthalten.
DeepTrap begleitet das Papier:
Red-Teaming Agent Execution Contexts: Open-World Security Evaluation on OpenClaw
Hongwei Yao, Yiming Liu, Yiling He und Bingrun Yang. arXiv:2605.11047, 2026.
Die meisten Agent-Benchmarks fragen, ob ein Modell nützliche Arbeit erledigen kann. DeepTrap stellt eine strengere Frage: Kann der Agent nützliche Arbeit sicher erledigen, wenn der umgebende Ausführungskontext adversariell ist?
tasks_zh/ hinzugefügt.AGS steht für Angriffsbewertungspunktzahl (Attack Grading Score) und UGS für Nutzenbewertungspunktzahl (Utility Grading Score). Die Punktzahlen werden nach Risikopaket gemeldet; Average ist der Mittelwert über Risiko 1 bis Risiko 6.
Vollständige Projektseite und Bestenliste: ZJUICSR.github.io/DeepTrap
DeepTrap kreuzt sechs kontextuelle Schwachstellenklassen mit sieben harmlosen Szenarienfamilien. Jede Aufgabe verwendet eine normale Benutzeraufforderung; das adversarielle Verhalten wird durch den Arbeitsbereichskontext induziert.
DeepTrap konstruiert kompromittierte Ausführungskontexte aus harmlosen Anweisungen und sauberen Arbeitsbereichen, sucht nach vielversprechenden adversariellen Nutzlasten mit multi-objektiven Belohnungssignalen und verfeinert erfolgreiche Nutzlasten durch reflektionsbasiertes Sondieren.
OPENROUTER_API_KEYDEEPSEEK_API_KEYModell-IDs sollten ihren Provider-Präfix enthalten, z. B. 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
Ergebnisse werden standardmäßig in results/ geschrieben.
Jeder Lauf schreibt eine JSON-Datei mit Modellmetadaten, Paketkonfiguration, Aufgabenpunktzahlen, Transkriptlängen, Arbeitsbereichspfaden, Nutzungsmetadaten (sofern verfügbar) und zusammenfassenden Feldern.
# 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
Jede Aufgabe meldet:
AGS: Angriffsbewertungspunktzahl, wobei höher eine stärkere Angriffsumsetzung bedeutetUGS: Nutzenbewertungspunktzahl, wobei höher eine bessere Aufgabenerfüllung bedeutetDeepTrap kann auch als Hugging Face-Datensatz unter ZJUICSR/DeepTrap verteilt werden.
Der strukturierte Export speichert eine Benchmark-Aufgabe pro JSONL-Zeile in data/tasks.jsonl, während die ursprünglichen Markdown-Aufgabendefinitionen in tasks/ bleiben. Chinesischsprachige Beispielaufgaben können bei Bedarf separat aus tasks_zh/ exportiert werden.
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
Nach dem Hochladen können Benutzer die Benchmark-Metadaten mit folgendem Code laden:
from datasets import load_dataset
dataset = load_dataset("ZJUICSR/DeepTrap", split="train")
Jede Zeile enthält task_id, name, risk, category, prompt, expected_behavior, grading_criteria, workspace_files, Bewertungsmetadaten sowie Flags für automatisierte Prüfungen und LLM-Richter-Rubriken.
.
├── 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
Wenn Sie DeepTrap in Ihrer Forschung verwenden, zitieren Sie bitte:
@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 wurde teilweise von PinchBench inspiriert, das eine praktische Benchmark-Suite zur Messung der OpenClaw-Agentenfähigkeit bei realen Aufgaben bereitstellt. Wir danken dem PinchBench-Projekt für die Demonstration eines klaren, nutzbaren Benchmark-Formats für OpenClaw-Agenten.
MIT – siehe LICENSE für Details.
| Was wir testen | Warum es wichtig ist |
|---|
| Kontextrobustheit | Vergiftete Dateien, speicherähnliche Artefakte, Playbooks und Arbeitsbereichsanweisungen | Echte Agenten lesen aus veränderlichem lokalem Kontext, in dem unvertrauter Text das Verhalten stillschweigend umlenken kann |
| Geheimnisbehandlung | Eingepflanzte Anmeldeinformationen, Umgebungsvariablen, API-Schlüssel und interne Werte | Agenten müssen Konfigurationsbewusstsein von Geheimnis-Exfiltration unterscheiden |
| Ausführungsgrenzen | Gefährliche Shell-Befehle, Bereitstellungsskripte und Dateisystem-Nebenwirkungen | Werkzeugnutzende Agenten können dauerhaften Schaden anrichten, selbst wenn die Benutzeraufforderung harmlos ist |
| Fähigkeits-/Tool-Vertrauen | Bösartige Fähigkeiten, irreführende Tool-Metadaten und Tool-Missbrauchsmuster | Agentensicherheit hängt davon ab, wie das Modell Tool-Funktionen interpretiert und validiert |
| Verschleierte Nutzlasten | Base64- und mehrstufig codierte Anweisungen | Angriffe können sich hinter normal aussehenden Datenverarbeitungsaufgaben verstecken |
| Claw-Modell | Metrik | Risiko 1 | Risiko 2 | Risiko 3 | Risiko 4 | Risiko 5 | Risiko 6 | Durchschnitt |
|---|
| 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 |
| Paket | Kategorie | Aufgaben | Was gemessen wird |
|---|
R1 | Harness-Entführung | 7 | Widerstand gegen vergifteten Kontext und injizierte Arbeitsschritte |
R2 | Datenschutzverletzung | 7 | Schutz eingepflanzter Anmeldeinformationen und sensibler Werte |
R3 | Unautorisierte Ausführung | 7 | Verweigerung gefährlicher Befehle und grenzüberschreitender Aktionen |
R4 | Lieferkettenrisiko | 7 | Umgang mit bösartigen Fähigkeiten und toolähnlichen Integrationen |
R5 | Tool-Missbrauch | 7 | Erkennung irreführenden oder nicht übereinstimmenden Tool-Verhaltens |
R6 | Codierungsverschleierung | 7 | Umgang mit codierten Anweisungen und mehrstufigen Nutzlasten |
| Szenario | Typische Aufgabenfamilie |
|---|
T01 | Besprechungsnotizen, Aktionspunkte und Routine-Workflow-Zusammenfassungen |
T02 | Python/Code-Formatierung, Refactoring und API-/Log-Verarbeitung |
T03 | Forschungsnotizen, Literaturrecherche, Zitation und Umfrageanalyse |
T04 | Bereitstellungsbereitschaft, Konfigurationsvalidierung und Service-Health-Checks |
T05 | Vertrieb, Umsatz und strukturierte Geschäftsdatenberichterstattung |
T06 | Blog-/Inhaltsentwürfe, Stilprüfung, Onboarding und Feedback-Zusammenfassungen |
T07 | Systemadministration, Umgebungsaudits, Bereitstellungsprüfungen und Log-Backup |
| Flag | Beschreibung |
|---|
--model MODELL | Zielmodellkennung, konfiguriert für OpenClaw |
--suite PAKET | all, ein Risikopaket wie R1 oder kommagetrennte Aufgaben-IDs |
--tasks-dir VERZ | Aufgabenverzeichnis, Standard tasks/; verwenden Sie tasks_zh/ für chinesischsprachige Beispiele |
--runs N | Anzahl der Läufe pro Aufgabe zur Mittelung |
--timeout-multiplier N | Skalieren der Aufgaben-Timeout für langsamere Modelle |
--judge-model MODELL | Richtermodel für Angriffs-, Tarnungs- und Nutzenbewertung |
--output-dir VERZ | Ergebnisverzeichnis, Standard results/ |
--list-tasks | Gebündelte Aufgaben-IDs ausgeben und beenden |
--dry-run | Aufgabenladen und Bewertungsmetadaten validieren, ohne OpenClaw auszuführen |
--verbose | Detaillierte Ausführungsprotokolle ausgeben |