
रक्षा ढांचा जो रूटेड ओरिजिन नीति लागू करता है, ताकि टूल-उपयोग करने वाले LLM एजेंटों में अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन को रोका जा सके, जिसमें निर्धारणात्मक ओरिजिन जांच और हमले की सफलता तथा उपयोगिता प्रतिधारण का मूल्यांकन करने के लिए बेंचमार्क हार्नेस शामिल हैं।
हमारे पेपर का स्रोत कोड:
ROPE: अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन के विरुद्ध रूटेड ओरिजिन पॉलिसी प्रवर्तन ज़िनहांग मा, चाओवेई ज़ियाओ, विलियम येओह, निंग झांग, येवगेनी वोरोबेचिक द्वारा
अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन (IPI) उस सामग्री में निर्देश डालता है जिसे टूल-उपयोग करने वाला LLM एजेंट पढ़ता है, जिससे एजेंट हानिकारक टूल कॉल की ओर प्रेरित होता है। सबसे मजबूत सुरक्षा प्रणाली-स्तरीय होती है, जो दुर्भावनापूर्ण टूल के निष्पादन को रोकने के लिए कार्य-सशर्त टूल स्क्रीनिंग जैसी तकनीकों और अविश्वसनीय मापदंडों के साथ टूल निष्पादन से बचने के लिए सूचना-प्रवाह नियंत्रण का लाभ उठाती है। हालाँकि, जैसे-जैसे एजेंट अधिक सक्षम होते जाते हैं, उपयोगकर्ता स्वचालन को अधिक कार्य सौंपते हैं। परिणामस्वरूप, टूल निष्पादन अनुक्रम और मापदंड मान तेजी से रनटाइम पर निर्धारित होते हैं और महत्वपूर्ण उपयोगिता हानि के बिना केवल उपयोगकर्ता क्वेरी में निहित जानकारी का उपयोग करके विश्वसनीय रूप से स्क्रीन नहीं किए जा सकते। हम ROPE (रूटेड ओरिजिन पॉलिसी प्रवर्तन) प्रस्तुत करते हैं, जो विश्वास की एक संरचनात्मक अवधारणा पर आधारित है: एक मान किसी स्थिति-परिवर्तनकारी टूल तक तभी पहुँच सकता है जब वह अजालीय रूप से उपयोगकर्ता, उपयोगकर्ता द्वारा स्पष्ट रूप से नामित स्रोत, या उपयोगकर्ता के स्वयं के आधिकारिक रिकॉर्ड से उत्पन्न होता है। प्रवर्तन तब संवेदनशील टूल मापदंडों के एक ऑडिट किए गए सेट पर एक नियतात्मक मूल-जाँच है, और भाषा मॉडल पर एकमात्र निर्भरता केवल विश्वसनीय उपयोगकर्ता अनुरोध से संबंधित है, जो हमलावर की पहुँच से बाहर है। हमारा दृष्टिकोण दो प्रमाणनीय गारंटी स्वीकार करता है: 1) प्रक्षेपवक्र के प्रत्येक चरण में, कोई भी मान जिसका एकमात्र मूल हमलावर-लेखन योग्य सामग्री है, मूल-संरक्षित मापदंड तक नहीं पहुँचता है, और 2) इंजेक्शन का कोई भी पुनर्लेखन प्रवेश निर्णय को नहीं बदलता है। व्यापक प्रयोगात्मक मूल्यांकन के माध्यम से, हम दिखाते हैं कि खुले-अंत एजेंट सुइट्स पर चार एजेंट मॉडलों में, ROPE हमले की सफलता दर को 1.6–2.6% पर रखता है जबकि अरक्षित स्वच्छ उपयोगिता का 82–100% बनाए रखता है, जो जटिल गतिशील वर्कफ़्लो पर तुलनीय या बेहतर सुरक्षा प्राप्त करते हुए उपयोगिता में अत्याधुनिक प्रणाली-स्तरीय सुरक्षा से काफी आगे निकल जाता है। इसके अलावा, हम दिखाते हैं कि ROPE के विरुद्ध इंजेक्शन को अनुकूलित करना काफी हद तक अप्रभावी है, जबकि लंबी-क्षितिज वाले हमले जो पिछली प्रणाली-स्तरीय सुरक्षा को पराजित करते हैं, हमारे मामले में शून्य सफलता दर प्राप्त करते हैं।
Python 3.12 openai, pydantic, jsonschema, pyyaml (और मूल Gemini पथ के लिए google-genai) के साथ। रिपॉजिटरी रूट से:
export PYTHONPATH=$PWD/autodojo/src:$PWD/src
cd runs
python aggregate.py # CU / UA / ASR प्रति सुइट + समग्र (दोनों बेंचमार्क)
python adaptive_rope.py # स्थिर बनाम अनुकूली, CU/UA/ASR (AutoDojo हमला, दोनों बेंचमार्क)
python longhorizon_rope.py # लंबी-क्षितिज (AgentLAB टास्क-इंजेक्शन)
python ablation.py # नीति विच्छेदन: हमेशा-पूर्ण-निर्दिष्ट / हमेशा-कार्य-खुला
python router.py # सस्ते राउटर, प्रवर्तन क्लैम्प के साथ और बिना
python failures.py # विफलता जनगणना: हर अवशिष्ट हमले की सफलता + स्वच्छ-कार्य विफलताएँ
python buckets.py # प्रति-श्रेणी (अंडर-स्पेसिफिकेशन बकेट) तालिकाएँ
python router_deviation.py # प्रति-राउटर ढील/कस गणना ऑडिट किए गए फ्लोर के विरुद्ध
प्रत्येक स्क्रिप्ट लॉग से अपनी तालिका की पुनर्गणना करती है और उसे प्रिंट करती है; कोई भी अपेक्षित मान नहीं रखती।
buckets.py और router_deviation.py को ऊपर बताए अनुसार PYTHONPATH सेट करने की आवश्यकता है (वे सुइट परिभाषाएँ और कैश्ड दायरे पढ़ते हैं); बाकी केवल शिप किए गए JSON लॉग पढ़ते हैं।
runs/<model>/<suite>/user_task_*/, runs/ablation/<policy>/<suite>/user_task_*/ और
runs/router/<router>[-clamp]/<suite>/user_task_*/ प्रत्येक मूल्यांकित सेल के लिए एक JSON रखते हैं: none/ (स्वच्छ),
important_instructions/ (स्थिर हमला), autodojo/ (अनुकूली हमला), और
agentlab_longhorizon/ (लंबी-क्षितिज चरणबद्ध हमला)।
स्कोरिंग सुधार। तीन बेंचमार्क ओरेकल निष्पादन-अवरोधक सुरक्षा के लिए असंगत हैं।
runs/corrections.py तीन प्रभाव-आधारित पुनर्स्कोरिंग भेजता है — slack IT5,
dailylife IT7, github IT1 — और एग्रीगेटर उन्हें लागू करते हैं; प्रत्येक मॉड्यूल का docstring कलाकृति और
सुधार का दस्तावेजीकरण करता है। CU और UA को कभी नहीं छुआ जाता।
# मुख्य-परिणाम कॉन्फ़िगरेशन (कैश्ड opus राउटर, सख्त मिलान, अनक्लैम्प्ड):
python -m rope.run_eval --suite github --attack important_instructions
python -m rope.run_eval --suite github --attack none # स्वच्छ उपयोगिता
python -m rope.run_eval --suite github --defense passthrough # कोई-सुरक्षा बेसलाइन नहीं
# राउटर अध्ययन से सस्ते राउटर, वैकल्पिक रूप से ऑडिट किए गए फ्लोर पर क्लैम्प्ड:
python -m rope.run_eval --suite github --router gemini-3-flash --clamp
# लाइव राउटर (किसी भी OpenAI-संगत मॉडल के साथ रनटाइम पर दायरे की पुनर्गणना करें):
python -m rope.run_eval --suite github --router live --router-model openai/gpt-4o-mini --clamp
# अनुकूली हमला: कैश्ड AutoDojo-अनुकूलित इंजेक्शन रीप्ले करें
AUTODOJO_CACHE=$PWD/autodojo/variant_generation/variants/github/openai/gpt-4o-mini/routed/injections.json \
python -m rope.run_eval --suite github --attack autodojo
# लंबी-क्षितिज हमला: AgentLAB के कैश्ड निशान रीप्ले करें (agentlab/README.md देखें)
python agentlab/run_eval.py --suite banking --user-task user_task_0 --injection-task injection_task_0
पर्यावरण चर: OPENROUTER_API_KEY (एजेंट मॉडल और लाइव राउटर; सभी रिपोर्ट किए गए रन एजेंट मॉडल को OpenRouter के माध्यम से कॉल करते हैं),
ROPE_AGENT_MODEL (डिफ़ॉल्ट openai/gpt-4o-mini),
ROPE_PIPELINE_TAG रन लॉग को टैग करने के लिए (इसमें एक AgentDojo मॉडल नाम होना चाहिए ताकि हमले के टेम्पलेट हल हो सकें)।
कैश्ड राउटर सुरक्षा को रूटिंग पक्ष पर पूरी तरह से नियतात्मक और API-मुक्त बनाते हैं: opus
सभी छह सुइट्स को कवर करता है; gemini-3-flash और gpt-oss-20b AgentDyn सुइट्स को कवर करते हैं (राउटर
अध्ययन का दायरा)। अपने स्वयं के राउटर का मूल्यांकन करने के लिए, इसे एक बार कैश करें और इसे अंतर्निहित की तरह पुन: उपयोग करें:
python -m rope.cache_router --router my-router --router-model <llm-id> --suite github
python -m rope.run_eval --router my-router --suite github --attack important_instructions
यह रिपॉजिटरी निम्नलिखित को विक्रय या उन पर निर्माण करती है: AgentDojo और AgentDyn (बेंचमार्क सुइट्स), AutoDojo (अनुकूली हमला), और AgentLAB (लंबी-क्षितिज बेंचमार्क और टास्क-इंजेक्शन हमले के निशान)। विवरण के लिए संबंधित पेपर देखें।
यदि आपको यह कार्य उपयोगी लगे, तो हम सराहना करेंगे यदि आप कृपया उद्धृत करें:
@article{rope,
title={ROPE: Routed Origin Policy Enforcement against Indirect Prompt Injection},
author={Ma, Xinhang and Xiao, Chaowei and Yeoh, William and Zhang, Ning and Vorobeychik, Yevgeniy},
journal={arXiv preprint arXiv:2608.27496},
year={2026}
}
| पथ | सामग्री |
|---|
src/rope/ | सुरक्षा: राउटर, प्रति-कार्य दायरा, नीति संकलक, मूल ट्रैकर, रनटाइम गार्ड। |
src/rope/scopes/_floor/<suite>.json | प्रति सुइट ऑडिट की गई संवेदनशील-टूल/पैरामीटर तालिका (सभी राउटर द्वारा साझा)। |
src/rope/scopes/<router>/<suite>.json | तीन मूल्यांकित राउटरों (opus, gemini-3-flash, gpt-oss-20b) के लिए कैश्ड प्रति-कार्य दायरे — पेपर के राउटर आउटपुट का ऑफ़लाइन रीप्ले। |
src/common/ | राउटर द्वारा उपयोग किया जाने वाला LLM पूर्णता कैश (केवल विश्वसनीय-इनपुट कॉल)। |
autodojo/ | मुख्य बेंचमार्क हार्नेस और अनुकूली हमला: यह सभी छह मूल्यांकित सुइट्स का सीधे समर्थन करता है: banking, slack, travel (AgentDojo के चार में से तीन) और github, shopping, dailylife (AgentDyn से)। |
agentlab/ | लंबी-क्षितिज बेंचमार्क: AgentLAB का टास्क-इंजेक्शन हमला और इसके प्रकाशित हमले के निशान, साथ ही रीप्ले ड्राइवर। agentlab/README.md देखें। |
runs/ | सभी चार एजेंट मॉडलों के लिए ROPE रन लॉग (JSON), साथ ही runs/ablation/ (दो निश्चित-नीति भुजाएँ) और runs/router/ (सस्ते राउटर, क्लैम्प्ड और अनक्लैम्प्ड), और स्क्रिप्ट जो उनसे रिपोर्ट किए गए ROPE नंबरों की पुनर्गणना करती हैं। |