
Moxy एक ओपन-सोर्स DAST टूल है जो आधुनिक वेब एप्लिकेशन सुरक्षा परीक्षण के लिए डिज़ाइन किया गया है। यह पेंटेस्टिंग वर्कफ़्लो में सहायता और स्वचालित करने के लिए एजेंटिक क्षमताओं के साथ एक उपयोग में आसान इंटरफ़ेस प्रदान करता है।
Moxy (अगली पीढ़ी का मैन-इन-द-मिडल प्रॉक्सी) ओपन-सोर्स DAST टूल जो एजेंटिक AI क्षमताओं (Ollama सपोर्ट) द्वारा संचालित पेंटेस्टिंग के लिए है। browser-use के ऊपर निर्मित, Moxy गतिशील एप्लिकेशन सुरक्षा परीक्षण को सुव्यवस्थित करता है।
🚀 बेहद आसान उपयोग
और यह मुफ़्त है, किसे मुफ़्त चीज़ें पसंद नहीं हैं?
पूर्वावलोकन अलर्ट:
🚧 Moxy सक्रिय विकास में है और वर्तमान में पूर्वावलोकन/बीटा में है।
ब्रेकिंग चेंजेस, अस्थिरता और लापता सुविधाओं की अपेक्षा करें।
अपने जोखिम पर उपयोग करें और नवीनतम सुधारों के लिए प्रोजेक्ट अपडेट का पालन करें!
इसे अभी चलाने के लिए, आपको फ्रंटएंड और बैकएंड को अलग-अलग चलाना होगा।
Moxy चलाने से पहले, आपको uv (astral-uv) इंस्टॉल करना होगा, जो एक तेज़ Python पैकेज इंस्टॉलर और रिज़ॉल्वर है।
uv इंस्टॉल करें:
uv इंस्टॉल करने के लिए आधिकारिक इंस्टॉलेशन गाइड का पालन करें।नोट:
बैकएंड में Python निर्भरताओं के प्रबंधन के लिएuvआवश्यक है। यदि यह इंस्टॉल नहीं है, तो बैकएंड कमांड विफल हो जाएंगे।
बैकएंड निर्देशिका पर जाएं:
cd backend
निर्भरताएं इंस्टॉल करें और बैकएंड सर्वर चलाएं:
uv sync
uv run moxy
फ्रंटएंड निर्देशिका पर जाएं:
cd frontend
निर्भरताएं इंस्टॉल करें:
npm install
फ्रंटएंड डेवलपमेंट सर्वर शुरू करें:
npm run moxy
नोट:
डिफ़ॉल्ट रूप से, फ्रंटएंड http://localhost:8080 पर चलता है
और बैकएंड http://localhost:5000 पर चलता है
Moxy को आसान तैनाती और सुसंगत वातावरण के लिए Docker का उपयोग करके चलाया जा सकता है। इस तरह आप सहयोग कर सकते हैं और आसानी से इंस्टॉल कर सकते हैं।
projects_data सभी डेटाबेस और लॉग रखता है। यह डेटा फ़ोल्डर है।
GitHub कंटेनर रजिस्ट्री से पूर्व-निर्मित इमेज खींचें और चलाएं:
docker run -d \
--name moxy \
-p 5000:5000 \
-p 8081:8081 \
-v $(pwd)/projects_data:/app/projects_data \
ghcr.io/matank001/moxy:latest
कंटेनर बनाएं और शुरू करें:
docker-compose up -d --build
एप्लिकेशन तक पहुंचें:
अपने ब्राउज़र को प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करें:
Docker में चलाते समय, आपको मैन्युअल रूप से अपने ब्राउज़र को प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करना होगा:
localhost (या 127.0.0.1)8081नोट:
प्रॉक्सी Docker कंटेनर के अंदर चलता है लेकिन आपके होस्ट मशीन परlocalhost:8081पर सुलभ है।
आप अपने ब्राउज़र की नेटवर्क सेटिंग्स में प्रॉक्सी सेटिंग्स कॉन्फ़िगर कर सकते हैं या प्रॉक्सी प्रबंधन के लिए ब्राउज़र एक्सटेंशन का उपयोग कर सकते हैं।
लॉग देखें:
docker-compose logs -f
कंटेनर रोकें:
docker-compose down
एप्लिकेशन को कॉन्फ़िगर करने के लिए प्रोजेक्ट रूट में एक .env फ़ाइल बनाएं (आपको इसे backend/ निर्देशिका के अंदर रखना होगा):
नोट:
.envफ़ाइल वैकल्पिक है। Docker Compose इसे स्वचालित रूप से लोड करता है यदि मौजूद है (अनुपस्थित होने पर कोई चेतावनी नहीं)।
सभी प्रोजेक्ट डेटाprojects_dataनिर्देशिका में बरकरार रहता है, जिसे वॉल्यूम के रूप में माउंट किया गया है।
डिफ़ॉल्ट रूप से, Moxy बिना किसी AI कॉन्फ़िगरेशन या क्रेडेंशियल्स के काम करता है - यहां तक कि ब्राउज़र-आधारित DAST प्रवाह भी AI का उपयोग नहीं करते जब तक सक्षम न किया जाए।
Moxy एजेंटिक सुविधाओं के लिए OpenAI के API और Ollama (स्थानीय AI) दोनों का समर्थन करता है। AI-संचालित क्षमताओं को सक्षम करने के लिए:
स्थानीय विकास के लिए: उपयुक्त कॉन्फ़िगरेशन के साथ backend निर्देशिका में एक .env फ़ाइल बनाएं।
Docker के लिए: प्रोजेक्ट रूट (वही निर्देशिका जहां docker-compose.yml है) में एक .env फ़ाइल बनाएं।
OpenAI के साथ क्लाउड-आधारित AI प्रोसेसिंग के लिए, अपनी .env फ़ाइल को इस प्रकार कॉन्फ़िगर करें:
OPENAI_API_KEY=sk-proj-... # आपकी OpenAI API कुंजी
MODEL=gpt-4o-mini # वैकल्पिक: डिफ़ॉल्ट gpt-4o-mini है यदि निर्दिष्ट नहीं
Ollama के साथ स्थानीय AI प्रोसेसिंग के लिए, अपनी .env फ़ाइल को इस प्रकार कॉन्फ़िगर करें:
USE_OLLAMA=true
OPENAI_API_KEY=test # आवश्यक लेकिन Ollama का उपयोग करते समय मान को अनदेखा किया जाता है
OPENAI_BASE_URL=http://localhost:11434/v1/ # Ollama API एंडपॉइंट
MODEL=qwen3:8b # आपका पसंदीदा Ollama मॉडल
एजेंट की क्षमताएं:
एजेंट आपके एप्लिकेशन के आक्रमण सतह के बारे में तर्क करने, ट्रैफ़िक को पुनः चलाने या संशोधित करने और नए परीक्षण परिदृश्य उत्पन्न करने के लिए ब्राउज़र सत्र चलाने के लिए AI का उपयोग करता है।
चेतावनी:
एजेंटिक AI मोड वर्तमान में प्रयोगात्मक हैं और अस्थिर हो सकते हैं।
Moxy गतिशील एप्लिकेशन सुरक्षा परीक्षण के दौरान ट्रैफ़िक को कैप्चर और संशोधित करने के लिए MITMproxy का उपयोग इंटरसेप्टिंग HTTP/HTTPS प्रॉक्सी के रूप में करता है।
डिफ़ॉल्ट रूप से, प्रॉक्सी पोर्ट 8081 पर चलता है।
आप ट्रैफ़िक को MITMproxy के माध्यम से रूट करने और Moxy को वास्तविक समय में अनुरोधों का विश्लेषण और बातचीत करने की अनुमति देने के लिए अपने ब्राउज़र या सिस्टम को प्रॉक्सी के रूप में http://localhost:8081 का उपयोग करने के लिए कॉन्फ़िगर कर सकते हैं।
Firefox से Moxy के माध्यम से HTTP और HTTPS ट्रैफ़िक का विश्लेषण करने के लिए, आपको Firefox को Moxy के प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करना होगा और प्रॉक्सी प्रमाणपत्र आयात करना होगा ताकि ब्राउज़र ट्रैफ़िक (HTTPS सहित) ठीक से इंटरसेप्ट किया जा सके।
सुनिश्चित करें कि Moxy (और इसकी MITMproxy प्रक्रिया) चल रही है।
सेटिंग्स (या कुछ सिस्टम पर प्राथमिकताएँ) पर जाएं।localhost और पोर्ट को 8081 पर सेट करें।
localhost:8081 पर सेट करें।अब, सभी ब्राउज़र ट्रैफ़िक Moxy के प्रॉक्सी
http://localhost:8081के माध्यम से रूट किया जाएगा।
mitmproxy-ca-cert.pem)।सेटिंग्स → गोपनीयता और सुरक्षा पर जाएं।इन चरणों को पूरा करने के बाद, Firefox Moxy के प्रॉक्सी द्वारा इंटरसेप्ट किए गए HTTPS कनेक्शनों पर भरोसा करेगा।
अब आप HTTP और HTTPS के माध्यम से बिना प्रमाणपत्र चेतावनियों के गतिशील रूप से वेब एप्लिकेशन का विश्लेषण और परीक्षण करने के लिए तैयार हैं।
अधिक विवरण के लिए, MITMproxy का प्रमाणपत्र दस्तावेज़ीकरण देखें।
moxy.db - मुख्य डेटाबेस जो प्रोजेक्ट मेटाडेटा संग्रहीत करता हैprojects_data/{project_name}.db - व्यक्तिगत प्रोजेक्ट डेटाबेस (प्रोजेक्ट के नाम पर, सैनिटाइज़ किया गया)
चेतावनी:
इस चरण में, संस्करणों के बीच डेटाबेस माइग्रेशन या पश्च संगतता की कोई गारंटी नहीं है—भविष्य के संस्करण पुरानी डेटाबेस फ़ाइलों के साथ संगतता तोड़ सकते हैं। यदि आप अपग्रेड करने की योजना बनाते हैं तो सावधानी से उपयोग करें।
Moxy केवल नैतिक सुरक्षा परीक्षण और अनुसंधान उद्देश्यों के लिए डिज़ाइन किया गया है। इसका उद्देश्य सुरक्षा पेशेवरों, डेवलपर्स और संगठनों को उन अनुप्रयोगों में कमजोरियों की पहचान करने और उन्हें ठीक करने में सहायता करना है जिनके वे मालिक हैं या जिनके परीक्षण के लिए उनके पास स्पष्ट अनुमति है।