
OpenClaw-शैली कंप्यूटर-उपयोग एजेंटों पर स्थायी मेमोरी हमलों के लिए बेंचमार्क और रक्षा कोड, जिसमें मेमोरी-ज़ोनिंग शमन, हमला परिदृश्य, और मूल्यांकन स्क्रिप्ट शामिल हैं।
ZoneClaw: OpenClaw-शैली कंप्यूटर-उपयोग एजेंट्स के बीच मेमोरी-ज़ोनिंग स्थापित करके स्थायी मेमोरी हमले को कम करना के लिए प्रयोग कोड।
इस रिपॉज़िटरी में पेपर में उपयोग किए गए बेंचमार्क कार्य, रक्षा कार्यान्वयन, और मूल्यांकन स्क्रिप्ट शामिल हैं। बेंचमार्क OpenClaw-शैली कंप्यूटर-उपयोग एजेंट्स में क्रॉस-सेशन स्थायी मेमोरी हमलों का अध्ययन करता है। यह दो हमला वर्गों को कवर करता है:
ZoneClaw बनाए रखे गए बाहरी अवलोकनों को अधिकार-वाहक मेमोरी से अलग करता है, फिर स्थायी जानकारी को देखने, वर्गीकृत करने, और उस पर कार्य करने के लिए भूमिका-पृथक एजेंट्स का उपयोग करता है।
यह केवल-कोड संस्करण प्रयोग परिणामों को बंडल नहीं करता है। पेपर की ट्रांसक्रिप्ट, सत्यापनकर्ता साक्ष्य, और सारांश साथी आर्टिफैक्ट रिपॉज़िटरी में उपलब्ध हैं।
uvनिर्भरताओं, Docker इमेजों, और उत्पन्न रनों के लिए कम से कम 20 GB खाली डिस्क स्थान की अनुमति दें। समानांतर प्रयोगों के लिए हम 16 GB RAM की सिफारिश करते हैं। प्रारंभिक सेटअप में आमतौर पर 10-20 मिनट लगते हैं, जो नेटवर्क और Docker बिल्ड कैश पर निर्भर करता है।
अनाम डाउनलोड के लिए, ZIP निकालें, इसकी शीर्ष-स्तरीय निर्देशिका में एक टर्मिनल खोलें, और चलाएँ:
bash setup.sh
सेटअप पिन किए गए OpenClaw, Harbor, और WorkspaceBench निर्भरताओं को सीधे उनके सार्वजनिक अपस्ट्रीम रिपॉज़िटरी से प्राप्त करता है। मूल निजी रिपॉज़िटरी तक पहुँच की आवश्यकता नहीं है।
Git चेकआउट के लिए, नीचे <repository-url> को रिपॉज़िटरी के क्लोन URL से बदलें:
git clone --depth 1 --recurse-submodules --shallow-submodules \
<repository-url> ZoneClaw-code
cd ZoneClaw-code
bash setup.sh
स्क्रिप्ट स्थानीय टूल्स और Docker डेमन को मान्य करती है, आवश्यक इमेज बनाती है, और .env.example से .env बनाती है। यह स्थानीय रूप से OPENCLAW_GATEWAY_TOKEN उत्पन्न करती है; .env को केवल रन के लिए आवश्यक प्रदाता कुंजियाँ सेट करने के लिए संपादित करें। .env को कमिट न करें।
| प्रयोग | आवश्यक API कुंजियाँ |
|---|---|
| Anthropic मुख्य मॉडल | ANTHROPIC_API_KEY |
| OpenAI मुख्य मॉडल | OPENAI_API_KEY |
| Z.AI मुख्य मॉडल | ZAI_API_KEY |
| Alibaba Qwen मुख्य मॉडल | ALIBABA_KEY |
| गैर-Anthropic मुख्य मॉडल के साथ Watcher या MELON | मुख्य-मॉडल कुंजी और ANTHROPIC_API_KEY |
| WorkspaceBench प्राधिकार और सौम्य-उपयोगिता मूल्यांकन | OPENAI_API_KEY और ANTHROPIC_API_KEY |
प्रयोग सशुल्क प्रदाता कॉल करते हैं। पूर्ण पथ को सत्यापित करने के लिए एक परीक्षण से शुरू करें:
MODEL=anthropic/claude-sonnet-4-6 \
E2E=bcc-zoneclaw-userprompt N=1 P=1 bash bench.sh
मुख्य पेपर प्रयोग Claude Sonnet 4.6 का उपयोग करते हैं। स्मोक टेस्ट सफल होने के बाद, पूर्ण पंक्ति को पुन: उत्पन्न करें:
MODEL=anthropic/claude-sonnet-4-6 \
E2E=bcc-zoneclaw-userprompt N=15 P=3 bash bench.sh
आउटपुट runs/<timestamp>__e2e-<experiment>/ में लिखे जाते हैं। कमांड एकत्रीकरण के बाद प्रति-परीक्षण विवरण प्रिंट करता है; मौजूदा रन को फिर से देखा जा सकता है:
bash show-bench.sh runs/<run-directory>
नामित एंड-टू-एंड प्रयोग इस प्रकार हैं:
<scenario>[-<defense>]-<setting>
| पेपर शब्द | कमांड टोकन |
|---|---|
| BCC एक्सफ़िल्ट्रेशन | bcc |
| चैट मिरर | chat |
| स्रोत पुनर्निर्देशन | sr |
| मार्केटप्लेस पुनर्निर्देशन | market |
| उपयोगकर्ता-ट्रिगर अपडेट | userprompt |
| आवधिक अपडेट | heartbeat |
| कोई रक्षा नहीं | रक्षा टोकन छोड़ें |
| ClawKeeper-शैली Watcher | auditor |
| विशेषाधिकार पृथक्करण | privsep |
| ClawGuard | clawguard |
| MELON | melon |
| ZoneClaw | zoneclaw |
उदाहरण:
# Undefended BCC, user-triggered update
MODEL=anthropic/claude-sonnet-4-6 \
E2E=bcc-userprompt N=15 P=3 bash bench.sh
# ClawKeeper-style Watcher, periodic Chat Mirror update
MODEL=anthropic/claude-sonnet-4-6 \
E2E=chat-auditor-heartbeat N=15 P=3 bash bench.sh
# ZoneClaw, user-triggered source-redirection update
MODEL=anthropic/claude-sonnet-4-6 \
E2E=sr-zoneclaw-userprompt N=15 P=3 bash bench.sh
सभी मान्य नाम और उनके इंजेक्शन/शोषण कार्य जोड़े experiments/e2e.tsv में सूचीबद्ध हैं।
किसी अन्य समर्थित मॉडल का उपयोग करने के लिए, MODEL को बदलें; उदाहरण के लिए:
MODEL=openai/gpt-5.5 OPENCLAW_THINKING=medium \
E2E=bcc-zoneclaw-userprompt N=15 P=3 bash bench.sh
MODEL=zai/glm-5.2 \
E2E=bcc-zoneclaw-userprompt N=15 P=3 bash bench.sh
BENCH_TOKEN_PRICES_FILE="$PWD/experiments/measurement/qwen3.7-plus-2026-05-26.json" \
MODEL=alibaba/qwen3.7-plus-2026-05-26 OPENCLAW_THINKING=medium \
E2E=bcc-zoneclaw-userprompt N=15 P=3 bash bench.sh
मापे गए रन प्रति-चरण रनटाइम, मॉडल उपयोग, और सहायक-मॉडल उपयोग को प्रत्येक परीक्षण के साथ संग्रहीत करते हैं। Alibaba Qwen रन इसके अतिरिक्त एक सामग्री-मुक्त कच्चा उपयोग लेजर बनाए रखते हैं ताकि तर्क टोकन संगतता एडाप्टर द्वारा दोहरी गणना न हों। स्कीमा और एकत्रीकरण नियमों के लिए docs/measurement.md देखें।
पेपर सभी चार परिदृश्यों के उपयोगकर्ता-ट्रिगर रूप पर प्रत्येक एब्लेशन का मूल्यांकन करता है। BCC कमांड हैं:
# w/o Zone
MODEL=anthropic/claude-sonnet-4-6 \
E2E=bcc-zoneclaw-no-authority-metadata-userprompt N=15 P=3 bash bench.sh
# w/o Gatekeeper
MODEL=anthropic/claude-sonnet-4-6 \
E2E=bcc-zoneclaw-auto-promotion-userprompt N=15 P=3 bash bench.sh
# w/o Cross-check
MODEL=anthropic/claude-sonnet-4-6 \
E2E=bcc-zoneclaw-low-context-userprompt N=15 P=3 bash bench.sh
शेष परिदृश्यों के लिए bcc को chat, sr, या market से बदलें।
for experiment in \
bcc-prompt-aware-promotion-userprompt \
bcc-zoneclaw-prompt-aware-promotion-userprompt \
bcc-prompt-aware-composed-userprompt \
bcc-zoneclaw-prompt-aware-composed-userprompt \
sr-prompt-aware-finegrained-userprompt \
sr-zoneclaw-prompt-aware-finegrained-userprompt
do
MODEL=anthropic/claude-sonnet-4-6 \
E2E="$experiment" N=15 P=3 bash bench.sh
done
MODEL=anthropic/claude-sonnet-4-6 \
TASK=bcc-exfiltration-zoneclaw-promotion/benign-only \
N=30 P=3 bash bench.sh
MODEL=anthropic/claude-sonnet-4-6 \
TASK=bcc-exfiltration-zoneclaw-promotion/malicious-only \
N=30 P=3 bash bench.sh
पेपर BCC बार-बार-हमला शेड्यूल, दस अपडेट सत्र, और 0, 1, 2, 3, 5, और 10 अपडेट के बाद चेकपॉइंट का उपयोग करता है:
MODEL=anthropic/claude-sonnet-4-6 \
SYSTEM=no-defense SCHEDULE=repeated-attack \
N=3 P=1 bash longitudinal-bench.sh
MODEL=anthropic/claude-sonnet-4-6 \
SYSTEM=zoneclaw SCHEDULE=repeated-attack \
N=3 P=1 bash longitudinal-bench.sh
WorkspaceBench प्रयोगों को इसके Lite मेटाडेटा और वर्कस्पेस फ़ाइलों की आवश्यकता होती है:
uv run --with huggingface_hub python \
workspace-bench/evaluation/scripts/download_hf_assets.py \
--eval-root workspace-bench/evaluation \
--language en --lite --workspaces
अपस्ट्रीम कार्यों को डाउनलोड करने के बाद, निश्चित चयन बीज के साथ पेपर के दो असंयुक्त 15-कार्य उपसमुच्चय उत्पन्न करें:
WB_SUBSETS="$PWD/workspace-bench/evaluation/.generated/memory_authority_probe/subsets"
python3 scripts/workspacebench_privilege_probe.py make-subset \
--n 15 --seed 20260709 --language en \
--dest "$WB_SUBSETS/lite-en-15-seed20260709"
python3 scripts/workspacebench_privilege_probe.py make-subset \
--n 15 --seed 20260709 --language en \
--exclude-selection "$WB_SUBSETS/lite-en-15-seed20260709/selection.json" \
--dest "$WB_SUBSETS/lite-en-15-extension-seed20260709"
दोनों उपसमुच्चयों पर चारों प्राधिकार स्थितियों में से प्रत्येक को चलाएँ: