
एआई-संचालित प्रतिक्रियाशील वेबसाइट सुरक्षा प्रणाली जो हमलों का पता लगाती है, उनका विश्लेषण करती है, और एलएलएम एजेंटों का उपयोग करके वास्तविक समय में स्वायत्त रूप से स्रोत कोड को पैच करती है।
AI-संचालित प्रतिक्रियाशील वेबऐप रक्षा प्रणाली जो वास्तविक समय में AI-संचालित हैकों का सामना करने के लिए डिज़ाइन की गई है।
Mahoraga रक्षक एक PoC है जो प्रतिक्रियाशील, आक्रमणकारी-प्रकार अज्ञेयवादी, वास्तविक समय रक्षा प्रणाली है। मुख्य तंत्र में एक प्रतिद्वंद्वी को एक सुरक्षित, नकली वातावरण ("छाया" वातावरण) पर खोज और हमले करने के लिए धोखा देना और इन हमलों को लॉग करना शामिल है। फिर, एक LLM एजेंट लॉग का विश्लेषण करता है और किसी भी पाए गए शोषण के विवरण को अधिक LLM एजेंटों को सौंपता है ताकि कमजोरियों को ठीक किया जा सके और पैच तैनात किए जा सकें।
सिस्टम को API लागत अनुकूलन को ध्यान में रखते हुए पूरी तरह से स्वचालित बनाने के लिए डिज़ाइन किया गया है। ट्रैफ़िक लॉग, एजेंट गतिविधि और पैचिंग पाइपलाइन की आसानी से निगरानी करने और तैनात करने के लिए एजेंटों की संख्या को नियंत्रित करने के लिए एक GUI बनाया गया था।
लक्ष्य (पीड़ित) वेबसाइट crAPI (Completely Ridiculous API) का एक फोर्क है, जो OWASP द्वारा API सुरक्षा परीक्षण सिखाने के लिए बनाया गया एक जानबूझकर कमजोर वेब अनुप्रयोग है। crAPI OWASP Top 10 API कमजोरियों को कवर करने वाले माइक्रोसर्विसेज के साथ एक वाहन-मालिक प्लेटफ़ॉर्म का अनुकरण करता है। रक्षक सामान्य और विरोधी उपयोगकर्ता सत्रों के बीच स्पष्ट रूप से अंतर करने के लिए डिज़ाइन किया गया है ताकि सामान्य उपयोगकर्ताओं को उपयोगकर्ता अनुभव गुणवत्ता में कोई गिरावट न हो, जबकि रक्षक वेबसाइट को हमलावरों से बचा रहा है।
हमारा फोर्क (crapi-fork/) निम्नलिखित जोड़ता है:
एक मूल प्रति crapi-original/ में रखी जाती है ताकि प्रयोगों के बीच वातावरण को रीसेट किया जा सके।
crapi-fork/ में पैच करता है। केवल crapi-fork/ तक पहुंच के साथ एक सैंडबॉक्स किए गए bash वातावरण में काम करता है।तैनाती पर, Python सेवाओं को gunicorn (तत्काल) के माध्यम से हॉट-रीलोड किया जाता है, जबकि Java/Go सेवाओं को docker compose up -d --build के माध्यम से पुनर्निर्मित किया जाता है।
कोई Tester एजेंट क्यों नहीं? हमने एक समर्पित उपयोगकर्ता परीक्षण एजेंट और एक अलग परीक्षण वातावरण जोड़ने पर विचार किया, लेकिन सिस्टम को हल्का रखने के लिए दोनों को हटा दिया।
conda create -n XYZ python=3.13, फिर conda activate XYZ)।pip install -r requirements.txt./start.sh चलाएं — crapi-original/ से crapi-fork/ स्रोत कोड रीसेट करें, सभी सेवाओं का पुनर्निर्माण करें, झंडे और हनीपॉट्स लगाएं।python3 -m harness.main --app-url http://localhost:8888 -v।localhost:8888 पर वेबसाइट का पेनिट्रेशन परीक्षण शुरू करें (चुनौती विवरण localhost:8888/challenge पर है)। यदि AI एजेंट का उपयोग करके पेनिट्रेशन परीक्षण कर रहे हैं, तो एजेंट को आंतरिक डॉकर प्रक्रियाओं तक कोई पहुंच नहीं मिलनी चाहिए, क्योंकि इसे धोखाधड़ी माना जाएगा।localhost:3000 पर रक्षक डैशबोर्ड की निगरानी करें ताकि वास्तविक समय के लॉग, एजेंट कार्रवाइयाँ, पैच, कैप्चर किए गए झंडे आदि देख सकें।docker compose down -v चलाएं।डैशबोर्ड: http://localhost:3000
एक वैश्विक एजेंट स्थिति पट्टी सभी टैब पर दिखाई देती है जो एजेंट स्वास्थ्य (सक्रिय/हैंग/निष्क्रिय/त्रुटि) दिखाती है, स्केलिंग नियंत्रणों के साथ।
वास्तविक समय में विभाजित स्क्रीन prod/shadow अनुरोध लॉग दर्शक, गंभीरता-रंगीन प्रविष्टियों और ट्रैफ़िक समूहीकरण के साथ
प्रति-एजेंट गतिविधि फ़ीड, सिस्टम प्रॉम्प्ट, टूल कॉल और LLM मॉडल लेबल के साथ
कानबान बोर्ड: पता चला → फिक्सिंग → समीक्षा → तैनात, पुन: आकार देने योग्य विवरण पैनल के साथ
कोड डिफ, संशोधित फ़ाइलें, रोलबैक कमांड और प्रति पैच टाइमलाइन
सिस्टम किसी भी OpenAI-संगत API का उपयोग करता है। मॉडल को config/llm.yaml में कॉन्फ़िगर करें:
# Shadow Analyzer — reads shadow logs to detect exploits (no tool calling)
shadow_analyzer:
provider: gemini
model: gemini-2.5-flash
api_key_env: GEMINI_API_KEY # defined in harness/.env
pricing:
input_per_million: 0.30
output_per_million: 2.50
# Fixer — patches source code (tool-calling agent)
fixer:
provider: gemini
model: gemini-3-flash-preview
api_key_env: GEMINI_API_KEY # defined in harness/.env
pricing:
input_per_million: 0.50
output_per_million: 3.00
# Reviewer — verifies patches (tool-calling agent)
reviewer:
provider: gemini
model: gemini-3-flash-preview
api_key_env: GEMINI_API_KEY # defined in harness/.env
pricing:
input_per_million: 0.50
output_per_million: 3.00
प्रदाता बदलने के लिए, provider और model बदलें, फिर harness/.env में संबंधित API कुंजी सेट करें:
समर्थित प्रदाता: OpenAI, Gemini, Anthropic, Groq, Together, Ollama, Mistral, DeepSeek, Fireworks, xAI, Perplexity, OpenRouter, Zhipu।
YAML में providers अनुभाग में उनका बेस URL जोड़कर कस्टम प्रदाता जोड़ें।
providers:
openai: https://api.openai.com/v1
gemini: https://generativelanguage.googleapis.com/v1beta/openai/
anthropic: https://api.anthropic.com/v1/
groq: https://api.groq.com/openai/v1
... # add more if needed
नोट: केवल कुछ API प्रदाताओं के पास 3+ एजेंटों को एक साथ समर्थन करने के लिए पर्याप्त उच्च दर सीमा है। Google का Gemini उनमें से एक है।
पैठ परीक्षण में उनकी मदद के लिए d3lta05 (LinkedIn) और aleemladha को विशेष धन्यवाद।