
CLI और MCP के माध्यम से मनुष्यों और एजेंटों के बीच सहयोगात्मक एप्लिकेशन सुरक्षा परीक्षण
<img width="400" height="160" alt="go-appsec/toolbox" src="https://assets.kitploit.com/production/public/readmes/12195/899658aaebd95d74c5a2eb8eff64d2234300b95d43084d8dd1153d2edb6a9107.png" /> [](https://github.com/go-appsec/toolbox/blob/main/LICENSE) [](https://github.com/go-appsec/toolbox/actions/workflows/tests-main.yml) [-Significant%20AI%2C%20fully%20reviewed-1f77b4)](https://github.com/vibesdk/vibe-scale/blob/main/scale/vibe-1.md#v2-u0-t0-score-10--significant-ai-fully-reviewed) **आपके कोडिंग एजेंट के लिए MCP-आधारित एप्लिकेशन सुरक्षा परीक्षण उपकरण।** यह स्कैनर नहीं है — यह एक सहयोगी वर्कबेंच है। एजेंट UI और स्टेटफुल API के साथ संघर्ष करते हैं; आप दोनों में माहिर हैं। Sectool आपको इसके प्रॉक्सी के माध्यम से एक एप्लिकेशन का पता लगाने देता है, जबकि एक एजेंट उसी प्रमाणित ट्रैफ़िक का विश्लेषण और हेरफेर करता है जो आप उत्पन्न करते हैं। आप ऑथ और UI इंटरैक्शन संभालते हैं, एजेंट फ़्लो क्वेरी करता है, अनुरोधों को म्यूटेट करता है, रिफ्लेक्शन ढूंढता है, आउट-ऑफ-बैंड इंटरैक्शन की निगरानी करता है, और अन्य क्रमपरिवर्तनों का प्रयास करता है। आपकी क्षमताओं को मिलाने से नियमित कार्य आसान हो जाते हैं, छिपे हुए संकेतकों के छूटने की संभावना कम हो जाती है, और जटिल परीक्षण अधिक गहन हो जाते हैं। ## शुरुआत करना ### 1. sectool इंस्टॉल करें ```bash go install github.com/go-appsec/toolbox/sectool@latest ``` **Go नहीं है?** अपने प्लेटफ़ॉर्म (Linux, macOS, Windows — amd64 और arm64) के लिए बाइनरी [नवीनतम रिलीज़](https://github.com/go-appsec/toolbox/releases) से डाउनलोड करें। ### 2. MCP (Model Context Protocol) सर्वर शुरू करें ```bash sectool mcp ``` यह पोर्ट 9119 पर एक MCP सर्वर और पोर्ट 8080 पर एक अंतर्निहित HTTP प्रॉक्सी शुरू करता है। ### 3. अपना ब्राउज़र कॉन्फ़िगर करें अपने ब्राउज़र की प्रॉक्सी सेटिंग्स को `127.0.0.1:8080` पर पॉइंट करें (या `--proxy-port` के साथ निर्दिष्ट पोर्ट)। HTTPS इंटरसेप्शन के लिए, `~/.sectool/ca.pem` से CA प्रमाणपत्र इंस्टॉल करें (पहली बार चलाने पर स्वतः उत्पन्न)। अधिकांश ब्राउज़र इसे उनकी प्रमाणपत्र सेटिंग्स के माध्यम से स्वीकार करते हैं; macOS पर आप इसे सिस्टम कीचेन में भी जोड़ सकते हैं। **Burp का उपयोग कर रहे हैं?** इसके बजाय [Burp की प्रॉक्सी कॉन्फ़िगरेशन](https://portswigger.net/burp/documentation/desktop/external-browser-config) का पालन करें, फिर sectool को `sectool mcp --burp` के साथ शुरू करें। ### 4. अपने एजेंट को कनेक्ट करें **Claude Code:** ```bash claude mcp add --transport http sectool http://127.0.0.1:9119/mcp ``` **Codex** (`~/.codex/config.toml`): ```toml [mcp_servers.sectool] url = "http://127.0.0.1:9119/mcp" ``` ### 5. सहयोग करें एजेंट के साथ मिलकर एक परीक्षण योजना बनाएं और इसे एक साथ निष्पादित करें। एजेंट प्रॉक्सी इतिहास क्वेरी कर सकता है, संशोधित अनुरोधों को रीप्ले कर सकता है, एंडपॉइंट्स के लिए क्रॉल कर सकता है, और आउट-ऑफ-बैंड इंटरैक्शन का परीक्षण कर सकता है, जबकि आप प्रमाणीकरण या UI के साथ इंटरैक्ट करने और उसकी समीक्षा करने जैसी ब्राउज़र-आधारित क्रियाएं संभालते हैं। ## सर्वर विकल्प ### प्रॉक्सी बैकएंड **नेटिव:** वायर-फिडेलिटी और HTTP/1.1, HTTP/2, और WebSocket समर्थन के साथ अंतर्निहित प्रॉक्सी। MITM परीक्षण के लिए Burp जितना सक्षम होने के लिए डिज़ाइन किया गया। एक ही बाइनरी MCP सर्वर, प्रॉक्सी, और CLI प्रदान करती है — पूरी तरह से स्व-निहित और हेडलेस वातावरण में उपयोग करने योग्य। **Burp (वैकल्पिक):** यदि आप एजेंट की क्रियाओं की समीक्षा करने के लिए GUI पसंद करते हैं या पहले से ही Burp चला रहे हैं, तो BApp Store से MCP एक्सटेंशन इंस्टॉल करें और सुनिश्चित करें कि MCP सर्वर `http://127.0.0.1:9876/` पर चलता है। | विकल्प | विवरण | |--------|-------------| | (डिफ़ॉल्ट) | ऑटो-डिटेक्ट: पहले Burp MCP का प्रयास करता है, नेटिव प्रॉक्सी पर वापस आता है | | `--proxy-port 8080` | निर्दिष्ट पोर्ट पर नेटिव प्रॉक्सी को बाध्य करें | | `--burp` | Burp MCP को बाध्य करें (अनुपलब्ध होने पर विफल हो जाता है) | ### सत्र विकल्प #### वर्कफ़्लो जब एजेंट सत्र की शुरुआत में `workflow` टूल को कॉल करता है तो Sectool स्वचालित रूप से उपयुक्त वर्कफ़्लो निर्धारित करता है। आप इस चरण को छोड़ सकते हैं और वर्कफ़्लो को पहले से निर्दिष्ट करके टोकन बचा सकते हैं: ```bash sectool mcp # Default: agent selects task type via workflow tool sectool mcp --workflow explore # Pre-set exploration mode sectool mcp --workflow test-report # Pre-set validation mode sectool mcp --workflow none # No workflow instructions sectool mcp --workflow multi # Multiple agents share the server ``` | मोड | विवरण | |------|-------------| | (डिफ़ॉल्ट) | एजेंट `workflow` टूल को कॉल करके कार्य प्रकार चुनता है, सहयोग निर्देश प्राप्त करता है | | `explore` | खोजपूर्ण सुरक्षा परीक्षण; सभी टूल उपलब्ध | | `test-report` | एक विशिष्ट भेद्यता रिपोर्ट का सत्यापन; क्रॉल टूल बाहर रखे गए | | `none` | कोई वर्कफ़्लो निर्देश नहीं, सभी टूल तुरंत उपलब्ध | | `multi` | जब कई उपयोगकर्ता या एजेंट सर्वर साझा करते हैं; उन सुविधाओं को छिपाता है जहां एक एजेंट दूसरे को भ्रमित कर सकता है | वर्कफ़्लो निर्देश एजेंटों को सब कुछ स्वायत्त रूप से करने की कोशिश करने या बिना मूल्य जोड़े आपको एक प्रक्रिया से गुजारने के बजाय सहयोगी परीक्षण की ओर मार्गदर्शन करते हैं। यदि एजेंट सहयोग को बेहतर बनाने के लिए आपके पास विचार हैं, तो [एक इश्यू खोलें](https://github.com/go-appsec/toolbox/issues)। #### नोट्स `--notes` फ़्लैग फ़्लो से जुड़े अवलोकनों को सहेजने के लिए `notes_save` और `notes_list` टूल को सक्षम करता है। छोटे सत्रों के लिए कॉन्टेक्स्ट उपयोग को न्यूनतम रखने के लिए डिफ़ॉल्ट रूप से अक्षम। इसे तब सक्षम करें जब आप कई निष्कर्षों या बातचीत संक्षेपण की अपेक्षा करते हैं। ### MCP ट्रांसपोर्ट सर्वर दो एंडपॉइंट प्रदान करता है: - `/mcp` - Streamable HTTP (अनुशंसित) - `/sse` - SSE (विरासत, पुराने क्लाइंट के लिए) ## उदाहरण CLI उपयोग CLI एजेंट के साथ स्थिति साझा करता है और समीक्षा, रीप्ले, और स्क्रिप्टिंग के लिए मानव-अनुकूल इंटरफ़ेस प्रदान करता है। सभी CLI कमांड MCP टूल से मैप होते हैं, इसलिए एजेंट समान स्थिति साझा करता है। ```bash # Review what the proxy captured while you browsed sectool proxy summary sectool proxy list --host example.com sectool proxy cookies --name session_id # Crawl an app to discover endpoints and forms sectool crawl create --url https://example.com sectool crawl summary <session_id> # Replay a captured request with modifications sectool replay send --flow <flow_id> --set-header "X-Test: value" # Set up out-of-band interaction testing and check for callbacks sectool oast create sectool oast poll <oast_id> sectool oast get <event_id> # Compare two flows, detect reflections, inspect JWTs sectool diff <flow_a> <flow_b> --scope response sectool reflected <flow_id> sectool jwt <token> # Export a flow, edit it offline, and resend sectool proxy export <flow_id> # ... edit ./sectool-requests/<flow_id>/request.http ... sectool replay send --bundle <flow_id> ``` विस्तृत विकल्पों के लिए `sectool <command> --help` का उपयोग करें। ## मुख्य विशेषताएं - **वायर-फिडेलिटी प्रॉक्सी** - HTTP/1.1 और HTTP/2 MITM हेडर क्रम, केसिंग, और प्रोटोकॉल विसंगतियों को संरक्षित करता है - **रीप्ले और म्यूटेशन** - मैच/रिप्लेस नियमों के माध्यम से लाइव ट्रैफ़िक को फिर से लिखें या एजेंट-अनुकूलित API के माध्यम से संशोधनों के साथ कैप्चर किए गए अनुरोधों को फिर से भेजें - **फ़्लो डिफिंग** - तेज़ रिपोर्ट सत्यापन के लिए दो फ़्लो की संरचित, कंटेंट-टाइप-जागरूक तुलना (JSON पाथ-स्तर, एकीकृत टेक्स्ट, बाइनरी आकार) - **JS सरफेस विश्लेषण** - JavaScript/HTML बंडलों से एंडपॉइंट, रूट, और सीक्रेट निकालें, फिर किसी भी कॉल साइट को उसके उपयोग योग्य अनुरोधों में विस्तारित करें - **रिफ्लेक्शन डिटेक्शन** - इंजेक्शन पॉइंट्स को उजागर करने के लिए कई एन्कोडिंग वेरिएंट में प्रतिक्रियाओं में परिलक्षित अनुरोध पैरामीटर मान खोजें - **OAST** - Interactsh के माध्यम से आउट-ऑफ-बैंड इंटरैक्शन परीक्षण; डोमेन बनाएं, DNS/HTTP/SMTP कॉलबैक के लिए पोल करें - **रीडायरेक्ट प्रोबिंग** - OAST सत्र यह पता लगाने के लिए 307 रीडायरेक्ट लौटा सकते हैं कि कोई लक्ष्य रीडायरेक्ट का पालन करता है या नहीं, SSRF चेन और सत्यापन बायपास के लिए उपयोगी - **क्रॉलिंग** - एंडपॉइंट, फ़ॉर्म, और एप्लिकेशन संरचना खोजें; प्रॉक्सी इतिहास या URL से सीड करें - **WebSocket समर्थन** - WebSocket संदेशों के लिए फ्रेम-स्तर इंटरसेप्शन, प्रॉक्सीइंग, और मैच/रिप्लेस - **वर्कफ़्लो मोड** - सहयोग गुणवत्ता में सुधार और टोकन अपव्यय को कम करने के लिए कार्य-विशिष्ट एजेंट मार्गदर्शन (explore, test-report) - **एन्कोडिंग उपयोगिताएं** - URL, Base64, HTML एन्कोडिंग/डिकोडिंग, हैशिंग (MD5/SHA/HMAC), JWT निरीक्षण - **Burp Suite एकीकरण** - Burp MCP एक्सटेंशन के माध्यम से वैकल्पिक GUI फ्रंटएंड; या नेटिव प्रॉक्सी के साथ पूरी तरह से हेडलेस चलाएं ## स्वचालित स्कैनिंग sectool को [sidenuclei](https://github.com/go-appsec/toolbox-sidenuclei) के साथ जोड़ें, एक फर्स्ट-पार्टी साइडकार जो आपके द्वारा छुए गए प्रत्येक एंडपॉइंट पर [Nuclei](https://github.com/projectdiscovery/nuclei) चलाता है। sectool को `--notes` के साथ शुरू करें, अपने सत्र के साथ `sidenuclei` संलग्न करें, और यह वास्तविक कैप्चर किए गए अनुरोध का उपयोग करके प्रत्येक एंडपॉइंट को स्कैन करता है, इसलिए परीक्षण आपके वास्तविक पैरामीटर, कुकीज़, और प्रमाणित सत्र के साथ चलते हैं। निष्कर्ष `finding` नोट्स के रूप में उस फ़्लो से जुड़े होते हैं जिसने उन्हें ट्रिगर किया, जिससे आपको अतिरिक्त कवरेज मिलती है जबकि आप और आपका एजेंट मैनुअल परीक्षण पर ध्यान केंद्रित करते हैं। ## कस्टम प्रोटोकॉल समर्थन HTTP और WebSocket से परे, sectool साइडकार एडाप्टर मॉडल के माध्यम से कस्टम और बाइनरी प्रोटोकॉल (आमतौर पर अनुरोध / प्रतिक्रिया) का समर्थन करता है। हमारे साइडकार API का उपयोग करके कनेक्ट और संवाद करने के लिए एक एडाप्टर लिखें। साइडकार ट्रैफ़िक एक ही एकीकृत फ़्लो टाइमलाइन में आता है, इसलिए `flow_get`, `diff_flow`, `replay_send`, और अन्य टूल बिना किसी संशोधन के कार्य करते हैं। एडाप्टर JSON-RPC 2.0 API पर किसी भी भाषा में लिखे जा सकते हैं, या Go में SDK क्लाइंट के साथ जो पंजीकरण, नियम कैशिंग, और फ़्लो उत्सर्जन को संभालता है। [साइडकार SDK और प्रोटोकॉल](https://github.com/go-appsec/toolbox/blob/main/sidecar/README.md) दोनों का दस्तावेज़ीकरण करता है।