Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Manipulating-Web-Agents — स्वायत्त LLM-आधारित वेब एजेंटों को नियंत्रित करने के लिए अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन हमलों का अनुसंधान प्रदर्शन, ट्रिगर अनुकूलन और मूल्यांकन के लिए उपकरणों के साथ। | Kitploit
उपकरण/GitHubGitHub/sej2020/manipulating-web-agents
शोषणवेब सुरक्षापेपर और शोधलर्निंग और शिक्षाAI सुरक्षाप्रतिकूल हमला
GitHubsej2020/manipulating-web-agents

Manipulating-Web-Agents

स्वायत्त LLM-आधारित वेब एजेंटों को नियंत्रित करने के लिए अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन हमलों का अनुसंधान प्रदर्शन, ट्रिगर अनुकूलन और मूल्यांकन के लिए उपकरणों के साथ।

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
631 साल पहलेअभी तक समीक्षित नहीं

अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन हमलों के साथ स्वायत्त LLM-आधारित वेब एजेंटों में हेरफेर करना

LLM-एकीकृत अनुप्रयोगों की सर्वव्यापकता के साथ, संभावित सुरक्षा जोखिमों की जांच करना महत्वपूर्ण है। इन प्रणालियों में सबसे महत्वपूर्ण कमजोरियों में से एक अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन के माध्यम से विरोधी हमले के प्रति उनकी संवेदनशीलता है। इस रेपो में, हम एक ऐसी विधि दिखाते हैं जिसके द्वारा एक दुर्भावनापूर्ण अभिनेता एक सार्वभौमिक ट्रिगर उत्पन्न कर सकता है जो उन्हें LLM से प्राप्त एक दूरस्थ वेब नेविगेशन एजेंट के कार्यों को नियंत्रित करने की अनुमति देता है। हमें उम्मीद है कि यह जानकारी प्रस्तुत करने से चिकित्सकों को उनकी संभावित भेद्यता के बारे में जागरूक होने में मदद मिलेगी और शोधकर्ताओं को इस प्रकार के हमलों के खिलाफ सुरक्षा उपाय विकसित करने के लिए प्रेरित किया जाएगा।

सेटअप

इस रेपो को क्लोन करने के बाद, Browser Gym से वेब नेविगेशन बुनियादी ढांचे को स्थापित करने के लिए निम्नलिखित कमांड आवश्यक हैं:

root@kitploit:~
conda create -n browser-gym
conda init
conda activate browser-gym
pip install browsergym-core
playwright install chromium
pip install transformers

कंप्यूटिंग वातावरण के आधार पर विवरण भिन्न हो सकते हैं।

यदि आप एक सार्वभौमिक ट्रिगर ऑप्टिमाइज़ेशन प्रक्रिया चलाने में रुचि रखते हैं, तो आपको वेब साइटों और वेब नेविगेशन लक्ष्यों का एक डेटासेट उत्पन्न करना होगा। यह src/actions/mask_dataset.py फ़ाइल द्वारा प्रदान किए गए कमांड के साथ पूरा किया जा सकता है। आपको कुछ API कुंजियाँ बनाने और उन्हें एक सुरक्षित वातावरण में संग्रहीत करने की भी आवश्यकता होगी।

  1. pip install python-dotenv चलाएँ और फिर touch .env चलाएँ।
  2. फ़ाइल में एक OpenAI API कुंजी, साथ ही Google Programmable Search Engine की जानकारी संग्रहीत करें। अपना सर्च इंजन सेट करने के लिए इस लिंक के पहले भाग में दिए गए निर्देशों का पालन करें। आपकी '.env' फ़ाइल का सिंटैक्स इस प्रकार होना चाहिए:
    root@kitploit:~
    OPENAI_API_KEY=<key>
    GOOGLE_API_KEY=<key>
    GOOGLE_ENGINE_NAME=<name>
    GOOGLE_CX=<engine ID>
    
  3. python -m src.dataset.actions.make_dataset get_webs चलाएँ जब तक कि आपके डेटा फ़ोल्डर में उपयुक्त संख्या में वेबसाइट json फ़ाइलें न हों।
  4. उन jsons को फ़िल्टर करने के लिए जो अवरुद्ध वेबसाइटों के लिए हैं, साइट कक्षाओं को पुनर्संतुलित करने और शेष वेबसाइटों के लिए लक्ष्य ऑब्जेक्ट उत्पन्न करने के लिए OpenAI API को बैच जॉब सबमिट करने के लिए python -m src.dataset.actions.make_dataset set_goals चलाएँ। यदि आपके पास 10k से अधिक वेबसाइट json हैं तो आपको --n_batch_splits <int> फ़्लैग जोड़ना चाहिए।
  5. set_goals कमांड चलाते समय, आपके बैच आईडी टर्मिनल पर प्रिंट हो जाएंगे। यदि बैच जॉब पूर्ण हैं, तो उनके संबंधित वेबसाइट jsons में लक्ष्य ऑब्जेक्ट लिखने के लिए python -m src.dataset.actions.make_dataset get_goals --batch_ids <batch ID 1> <batch ID 2> ... चलाएँ। OpenAI द्वारा बैच जॉब को पूरा करने में 24 घंटे लग सकते हैं, इसलिए इस कमांड को सफलतापूर्वक चलाने से पहले एक दिन इंतजार करना पड़ सकता है।

डेमो 1 चलाना

डेमो #1 दिखाता है कि कैसे एक हमलावर एक लिंक में एम्बेडेड मैलवेयर के साथ एक वेबसाइट होस्ट कर सकता है और एक वेब नेविगेशन एजेंट को हर बार उस लिंक पर क्लिक करने के लिए मजबूर कर सकता है। एक वेबसाइट json और वेब एजेंट आउटपुट को नियंत्रित करने के लिए एक ट्रिगर क्रमशः data/ और triggers/ फ़ोल्डर में संग्रहीत हैं।

नियंत्रण

python -m src.attack.actions.run_demo चलाने से एक नमूना वेब पेज और एक LLM चैट इंटरफ़ेस के साथ एक ब्राउज़र लॉन्च होगा। LLM चैट आपसे वेब नेविगेशन एजेंट के लिए एक लक्ष्य प्रदान करने के लिए कहेगा। विंडो में "शिकागो के लिए उड़ान खोजें" जैसा कोई कार्य लिखें। एजेंट अपेक्षित रूप से नमूना वेब पेज वाले टैब पर कार्य पूरा करेगा।

हमला

इस कार्य पर वेब नेविगेशन एजेंट पर हमला करने के लिए python -m src.attack.actions.run_demo --trigger_json triggers/zzz_travel_ad_demo_1_trigger_uni_secondary.json चलाएँ। पहले की तरह नमूना वेब पेज और LLM चैट इंटरफ़ेस के साथ एक ब्राउज़र लॉन्च किया जाएगा, और पहले की तरह, कृपया चैट विंडो में कुछ लक्ष्य लिखें। प्रक्रिया नियंत्रण के समान होगी, जिसमें एकमात्र अंतर यह होगा कि zzz_travel_ad_demo_1_trigger_uni_secondary.json फ़ाइल का ट्रिगर वेबसाइट पर एक छिपे हुए लिंक में डाला जाएगा। आपको देखना चाहिए कि इस बार, वेब एजेंट आपके द्वारा प्रदान किए गए निर्देश को अनदेखा करता है और फ़ुटर में विज्ञापन पर क्लिक करता है!

अपने स्वयं के विरोधी ट्रिगर को ऑप्टिमाइज़ करना

अपनी पसंद की वेबसाइट पर वेब नेविगेशन एजेंट के आउटपुट को नियंत्रित करने के लिए एक विरोधी ट्रिगर को ऑप्टिमाइज़ करने के लिए, आप find_narrow_trigger.py फ़ाइल का उपयोग कर सकते हैं। एक बार जब आप डेटासेट निर्माण उपयोगिता का उपयोग करके एक वेबसाइट json उत्पन्न कर लेते हैं, तो आप ax ट्री में कहीं '{optim_str}' टेक्स्ट डाल सकते हैं। यह हमारे द्वारा उपयोग किए जाने वाले nanogcg लाइब्रेरी को बताता है कि आप वेबसाइट में उस स्थान पर ट्रिगर डालना चाहते हैं।

  1. pip install nanogcg चलाएँ।
  2. Hugging Face पर Llama/Mistral मॉडल के लिए उपयोग की शर्तों से सहमत हों और सेटिंग में एक एक्सेस टोकन बनाएं।
  3. अपनी पसंद के वेबसाइट डेटा json में ax_tree ऑब्जेक्ट में '{optim_str}' डालें।
  4. python -m src.attack.actions.find_narrow_trigger चलाएँ। इस कमांड लाइन उपयोगिता के विकल्प और फ़्लैग इस प्रकार हैं:
root@kitploit:~
-h, --help            show this help message and exit
--json JSON           File and path for the JSON file to find a trigger for.
--target TARGET       The desired output when triggered.
--device DEVICE       Device to run the model on.
--trigger_length TRIGGER_LENGTH
--include_target, --no-include_target
--loss_fn {cw,mm,ce}
--search_width SEARCH_WIDTH
--top_k TOP_K
--model {mistral-7B,mistral-24B,llama2,llama3}
                    The model to use for generation.
--dtype DTYPE         Data type to use for the model.

हमारे वातावरण का उपयोग करके हमले के काम करने के लिए, आपके ऑप्टिमाइज़ेशन का लक्ष्य Browser Gym वेब नेविगेशन एक्शन स्पेस में एक फ़ंक्शन होना चाहिए। action_space.txt फ़ाइल देखें।

ऑप्टिमाइज़ किया गया ट्रिगर triggers/ फ़ोल्डर में एक json फ़ाइल में सहेजा जाएगा, जिसका फ़ाइल नाम संबंधित वेबसाइट डेटा json से मेल खाता है। आप उपयुक्त फ़्लैग के साथ python -m src.attack.actions.run_demo उपयोगिता का उपयोग करके अपना स्वयं का डेमो चलाने के लिए इस ट्रिगर का उपयोग कर सकते हैं।

टूल डाउनलोड करें