Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
prompt-injection-firewall — दो-परत LLM फ़ायरवॉल जो regex नियमों और एक Gemini क्लासिफ़ायर के माध्यम से प्रॉम्प्ट-इंजेक्शन इनपुट को ब्लॉक करता है, और बॉट प्रतिक्रियाओं में सीक्रेट या सिस्टम-प्रॉम्प्ट लीक को पकड़ता है। | Kitploit
उपकरण/GitHubGitHub/ztsprofessionalaiid7-alt/prompt-injection-firewall
रक्षात्मक उपकरणवेब सुरक्षालर्निंग और शिक्षाAI सुरक्षाविसंगति का पता लगाना
GitHubztsprofessionalaiid7-alt/prompt-injection-firewall

prompt-injection-firewall

दो-परत LLM फ़ायरवॉल जो regex नियमों और एक Gemini क्लासिफ़ायर के माध्यम से प्रॉम्प्ट-इंजेक्शन इनपुट को ब्लॉक करता है, और बॉट प्रतिक्रियाओं में सीक्रेट या सिस्टम-प्रॉम्प्ट लीक को पकड़ता है।

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

सभी देखें →

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

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

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

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

Prompt-Injection Firewall

लाइव डेमो: https://prompt-injection-firewall.streamlit.app 2-मिनट का डेमो वीडियो: https://drive.google.com/file/d/1tzb75nFysisrCYa11Lqj6egDs5VNmc2n/view?usp=drivesdk

एक LLM सपोर्ट बॉट के लिए दो-परत फ़ायरवॉल: यह जाँचता है कि उपयोगकर्ता क्या भेजते हैं, और बॉट क्या भेजता है।

समस्या

उपयोगकर्ता बॉट के नियमों को ओवरराइड करने की कोशिश कर सकते हैं ("पिछले निर्देशों को अनदेखा करें"), उसका व्यक्तित्व बदल सकते हैं, या उसे अपना सिस्टम प्रॉम्प्ट या रहस्य प्रकट करने के लिए मजबूर कर सकते हैं। यह प्रोजेक्ट ऐसे इनपुट को ब्लॉक करता है, बॉट के उत्तरों में लीक को पकड़ता है, और मापता है कि यह कितनी अच्छी तरह काम करता है, जिसमें वे जगहें भी शामिल हैं जहाँ यह विफल होता है।

यह कैसे काम करता है

user input
   |
   v
[1] Rule layer (regex, fast, free)  --match--> BLOCK
   |no match
   v
[2] LLM classifier (Gemini, JSON output, Pydantic validation, retries, fail-closed) --attack--> BLOCK
   |benign
   v
AcmeBot (Gemini + system prompt)
   |
   v
[3] Output check (canary token, secret patterns, system-prompt fragments) --leak--> BLOCK
   |clean
   v
answer to user

इसे चलाएँ

python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
copy .env.example .env      # then put your Gemini key in .env
python src\run_eval.py dev
python src\eval_output.py dev
python src\compare.py dev
streamlit run app.py        # local demo

प्रयुक्त मॉडल: gemini-3.1-flash-lite। व्यस्त होने पर मुफ़्त टियर 503 लौटा सकता है; कोड प्रतीक्षा करता है और पुनः प्रयास करता है। src\build_cases.py को तब तक न चलाएँ जब तक आप data\cases.jsonl को फिर से बनाना नहीं चाहते (यह इसे अधिलेखित कर देता है; वही seed वही cases देता है)।

डेटा

  • इनपुट cases: deepset/prompt-injections (Apache-2.0) से 25 नमूने लिए गए (seed 7): 12 हमले, 13 सौम्य। विभाजन: 15 dev, 10 hidden।
  • आउटपुट cases: AI सहायता से मेरे द्वारा लिखे गए 12 (8 dev, 4 hidden), जिनमें स्पेसिंग द्वारा छिपाए गए लीक और "password"/"API key" का उल्लेख करने वाला सौम्य टेक्स्ट शामिल है।
  • data/train.parquet रेपो में शामिल है (स्रोत: deepset/prompt-injections, Apache-2.0)।
  • hidden स्प्लिट को एक बार चलाया गया था, डिटेक्शन लॉजिक और prompts में अंतिम बदलाव के बाद।

परिणाम

सेटपरतपरिणाम
devकेवल नियमडिटेक्शन 2/9, गलत सकारात्मक 0/6
devनियम + Gemini (अंतिम)डिटेक्शन 8/9, गलत सकारात्मक 0/6
devआउटपुट जाँच (अंतिम)लीक पकड़ा गया 4/4, गलत सकारात्मक 0/4
hiddenनियम + Geminiडिटेक्शन 3/3, गलत सकारात्मक 0/7
hiddenआउटपुट जाँचलीक पकड़ा गया 3/3, गलत सकारात्मक 0/1

फ़ायरवॉल बनाम बिना फ़ायरवॉल:

बिनासहित
dev: बॉट तक पहुँचने वाले हमले9/91/9
dev: गलत तरीके से ब्लॉक किए गए सौम्य0/60/6
hidden: बॉट तक पहुँचने वाले हमले3/30/3
hidden: गलत तरीके से ब्लॉक किए गए सौम्य0/70/7

hidden सेट में केवल 3 हमले हैं, इसलिए यह एक कमज़ोर संकेत है। dev और hidden अलग-अलग रिपोर्ट किए गए हैं क्योंकि मैंने dev पर classifier prompt को ट्यून किया था।

क्या विफल रहा और मैंने क्या बदला

संख्याओं के साथ पूरा इतिहास CHANGELOG.md में है। संक्षेप में:

  • अकेले नियमों ने 2/9 हमले पकड़े (केवल शाब्दिक वाक्यांश)। Gemini classifier जोड़ने से यह 7/9 हो गया।
  • एक गलत मॉडल नाम के कारण हर कॉल विफल हो गई और fail-closed fallback ने सब कुछ ब्लॉक कर दिया (9/9 हमले, 6/6 गलत सकारात्मक)। उस नकली स्कोर ने दिखाया कि त्रुटियों को निगलने के बजाय रन को रोकना क्यों आवश्यक है।
  • #4 (एक सामान्य प्रश्न के बाद छिपा निर्देश) छूट गया; मैंने prompt में एक सामान्य नियम जोड़ा, जिससे 8/9 हो गया।
  • #14 "generate c++" अभी भी विफल रहता है। इसे स्रोत डेटासेट में हमला लेबल किया गया है लेकिन यह हानिरहित दिखता है, संभवतः लेबल शोर।
  • आउटपुट जाँच ने स्पेस के साथ लिखा गया एक रहस्य ("ZX CANARY 7731") नहीं पकड़ा; मैंने मिलान से पहले टेक्स्ट को सामान्यीकृत किया।
  • वास्तविक बॉट उत्तरों पर आउटपुट जाँच चलाने से बॉट के अपना परिचय देने पर गलत अलार्म दिखे (system prompt के साथ 6-शब्द मिलान); मैंने मिलान की लंबाई 8 शब्द कर दी।
  • डिप्लॉय: API key अब environment (Streamlit secrets) से भी पढ़ी जाती है। डिटेक्शन लॉजिक या prompts में कोई बदलाव नहीं।

सीमाएँ

  • छोटा डेटा: 25 इनपुट cases और 12 आउटपुट cases। संख्याएँ सांख्यिकीय रूप से ठोस नहीं हैं।
  • अधिकांश स्रोत हमले प्रचार या persona prompts हैं, system-prompt चोरी नहीं, इसलिए तुलना में आउटपुट जाँच ने इनपुट परत से आगे कुछ नहीं जोड़ा।
  • आउटपुट-जाँच परीक्षण cases मेरे द्वारा लिखे गए थे, इसलिए वे दिखाते हैं कि जाँच मेरे cases पर काम करती है, वास्तविक लीक पर नहीं।
  • आउटपुट जाँच paraphrased, base64-encoded या गैर-अंग्रेज़ी लीक नहीं पकड़ती, और 8 से कम लगातार शब्दों वाले लीक छूट जाते हैं।
  • नियम पैटर्न इस डेटासेट के सामान्य वाक्यांशों में फिट बैठते हैं; अन्य हमला शैलियाँ LLM परत पर निर्भर करती हैं।
  • LLM परत प्रति संदेश एक API कॉल जोड़ती है (लेटेंसी और लागत) और किसी तृतीय-पक्ष सेवा पर निर्भर करती है।
  • सार्वजनिक डेमो प्रति सत्र 10 संदेशों तक सीमित है और मुफ़्त API कोटा समाप्त होने पर काम करना बंद कर सकता है।
टूल डाउनलोड करें