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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
mcp-doorman — A lightweight mcp to prevent poisoning CVE (CVE-2025-54136), researchers hijacking Claude Code/Copilot/Gemini via prompt injection, and hundreds of MCP servers exposed with zero auth, this mcp protects the individual developer's laptop, where most MCP servers actually run. | Kitploit
उपकरण/GitHubGitHub/sushank05/mcp-doorman
Defensive ToolsVulnerability ScannersSecret DetectionThreat IntelligenceMisconfigurationLearning & EducationAPI SecurityAI Security
GitHubsushank05/mcp-doorman

mcp-doorman

A lightweight mcp to prevent poisoning CVE (CVE-2025-54136), researchers hijacking Claude Code/Copilot/Gemini via prompt injection, and hundreds of MCP servers exposed with zero auth, this mcp protects the individual developer's laptop, where most MCP servers actually run.

8 दिन पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

mcp-doorman

MCP सर्वरों के लिए सुरक्षा गेटवे — हर टूल कॉल दरवाजे पर जाँचा जाता है।

CI npm License: Apache-2.0 PRs का स्वागत है

mcp-doorman एक ड्रॉप-इन प्रॉक्सी है जो आपके AI एजेंट (Claude Desktop, Claude Code, Cursor, VS Code, कोई भी MCP क्लाइंट) और इसके द्वारा उपयोग किए जाने वाले MCP सर्वरों के बीच बैठता है। एक कमांड, शून्य इंफ्रास्ट्रक्चर, और हर tools/list और tools/call एक गार्ड पाइपलाइन से गुज़रता है:

  • 🛂 नीति इंजन — प्रति उपकरण अनुमति / अस्वीकार / अनुमोदन-आवश्यक नियम, ग्लोब-मिलान
  • 🕵️ गुप्त डेटा छिपाना (Redaction) — AWS कुंजियाँ, GitHub/Slack/Stripe/OpenAI/Anthropic टोकन, प्राइवेट कुंजियाँ, JWT, कार्ड (Luhn-जाँचे गए)… मॉडल तक पहुँचने से पहले टूल परिणामों से साफ़ किए जाते हैं
  • 💉 प्रॉम्प्ट-इंजेक्शन जाँच — टूल परिणामों (और टूल विवरणों — टूल पॉइज़निंग) को फ़्लैग या ब्लॉक करता है जो मॉडल को निर्देश देने का प्रयास करते हैं
  • 📌 रग-पुल का पता लगाना — टूल परिभाषाएँ पहले उपयोग पर हैश-पिन की जाती हैं; यदि कोई सर्वर चुपचाप विवरण बदल देता है, तो टूल तब तक ब्लॉक रहता है जब तक कोई मानव इसे पुनः पिन न करे
  • 🚦 दर सीमा (Rate limiting) — प्रति-टूल टोकन बकेट एक भगोड़े एजेंट लूप के विस्फोट त्रिज्या को सीमित करते हैं
  • 🙋 मानव अनुमोदन द्वार — संवेदनशील टूल MCP elicitation के माध्यम से एक इंटरैक्टिव अनुमोदन प्रॉम्प्ट ट्रिगर करते हैं, सीधे आपके क्लाइंट में
  • 🧾 ऑडिट लॉग — हर कॉल, अस्वीकार, छिपाना और फ़्लैग एक अपेंड-ओनली JSONL फ़ाइल में दर्ज होता है

यह क्यों मौजूद है

हर कोई एक npx some-random-mcp-server दूर है अपने API कुंजियाँ और अपने मॉडल के संदर्भ विंडो में एक सीधी रेखा एक अप्रमाणित प्रक्रिया को सौंपने से। दस्तावेजित आक्रमण वर्ग वास्तविक हैं, काल्पनिक नहीं:

एंटरप्राइज़ MCP गेटवे Kubernetes क्लस्टर वाली प्लेटफ़ॉर्म टीमों के लिए मौजूद हैं। कुछ भी हल्का-वजन व्यक्तिगत डेवलपर के लैपटॉप की रक्षा नहीं करता — वह जगह जहाँ 99% MCP सर्वर वास्तव में चलते हैं। यही वह अंतर है जिसे यह प्रोजेक्ट भरता है।

त्वरित आरंभ (60 सेकंड)

root@kitploit:~
# 1. एक कॉन्फ़िग बनाएँ
npx -y mcp-doorman init

# 2. doorman.config.json संपादित करें — इसमें अपने वास्तविक सर्वर डालें

# 3. वर्तमान टूल परिभाषाएँ पिन करें (पहले उपयोग पर भरोसा करें)
npx -y mcp-doorman pin --config doorman.config.json

फिर अपने क्लाइंट को सर्वरों के बजाय गेटवे की ओर इंगित करें। Claude Desktop / Claude Code / Cursor:

root@kitploit:~
// पहले — हर सर्वर सीधे मॉडल से बात करता है
{
  "mcpServers": {
    "github":     { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] },
    "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/repos"] }
  }
}

// बाद में — एक डोरमैन सबकी रक्षा करता है
{
  "mcpServers": {
    "doorman": {
      "command": "npx",
      "args": ["-y", "mcp-doorman", "run", "--config", "/absolute/path/to/doorman.config.json"]
    }
  }
}

टूल github__create_issue, filesystem__read_file, आदि के रूप में नेमस्पेस्ड दिखाई देते हैं, साथ ही दो बिल्ट-इन: doorman__status और doorman__recent_events (अपने एजेंट से पूछें "डोरमैन ने हाल ही में क्या ब्लॉक किया?")।

विंडोज नोट: यदि कोई सर्वर प्रविष्टि सीधे npx का उपयोग करती है, तो इसे cmd के माध्यम से स्पॉन करें: "command": "cmd", "args": ["/c", "npx", "-y", "..."]।

इसे काम करते देखें

root@kitploit:~
git clone https://github.com/Sushank05/mcp-doorman && cd mcp-doorman
npm install
npm run demo

डेमो गेटवे को एक जानबूझकर दुर्व्यवहार करने वाले सर्वर (examples/demo-server.mjs) से जोड़ता है जो नकली क्रेडेंशियल लीक करता है, एक प्रॉम्प्ट-इंजेक्शन पेलोड प्रदान करता है, और एक विनाशकारी टूल प्रस्तुत करता है — और दिखाता है कि प्रत्येक गार्ड इसे पकड़ रहा है।

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

root@kitploit:~
flowchart LR
    A["MCP client\n(Claude Desktop, Cursor, ...)"] -- stdio --> D
    subgraph D [mcp-doorman]
        direction TB
        P[policy] --> R[rate limit] --> AP[approval] --> RD[redaction] --> I[injection scan] --> AU[(audit log)]
    end
    D -- stdio --> S1[github server]
    D -- stdio --> S2[filesystem server]
    D -- streamable HTTP --> S3[remote server]

गेटवे आपके क्लाइंट की ओर एक MCP सर्वर है और प्रत्येक अपस्ट्रीम (stdio चाइल्ड प्रक्रियाएँ या streamable-HTTP एंडपॉइंट) की ओर एक MCP क्लाइंट है, उन्हें एक कनेक्शन के पीछे एकत्रित करता है। यह आधिकारिक TypeScript SDK पर बनाया गया है।

कॉन्फ़िगरेशन

सब कुछ एक JSON फ़ाइल में रहता है। प्रत्येक विकल्प के साथ पूर्ण उदाहरण:

root@kitploit:~
{
  "servers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" }   // ${VAR} = गेटवे env से पढ़ें
    },
    "remote": { "url": "https://mcp.example.com/mcp", "headers": { "Authorization": "Bearer ${MCP_TOKEN}" } }
  },

  "policy": {
    "defaultAction": "allow",                    // "allow" | "deny" | "approve"
    "rules": [                                   // पहला मैच जीतता है, ऊपर से नीचे मूल्यांकन
      { "match": "*__delete*",  "action": "deny",    "reason": "कोई विनाशकारी टूल नहीं" },
      { "match": ["github__create_*", "*__send_*"], "action": "approve" },
      { "match": "filesystem__*", "action": "allow" }
    ]
  },

  "redaction": {
    "enabled": true,
    "disable": [],                               // बंद करने के लिए बिल्ट-इन नियम नाम
    "enableOptIn": ["email"],                    // ऑप्ट-इन: "email", "us-ssn", "ipv4"
    "custom": [{ "name": "acme-id", "pattern": "ACME-[0-9]{6}" }],
    "redactArguments": false                     // मॉडल-प्रदत्त तर्कों को भी साफ़ करें
  },

  "injection": {
    "action": "flag",                            // "flag" (मॉडल को चेतावनी) | "block" | "off"
    "scanToolDescriptions": true,                // tools/list पर टूल-पॉइज़निंग जाँच
    "custom": []
  },

  "pinning": {
    "enabled": true,
    "onNewTool": "pin",                          // "pin" (TOFU) | "block" (जब तक `mcp-doorman pin`)
    "onChangedTool": "block"                     // "block" | "warn"
  },

  "rateLimit": { "perMinute": 120, "perTool": { "*__send_*": 5 } },

  "approval": { "fallback": "deny", "timeoutMs": 120000 },  // फ़ॉलबैक जब क्लाइंट में elicitation न हो

  "audit": { "enabled": true, "includeArguments": true, "includeResults": false },

  "logLevel": "info"
}

पिन स्थिति और ऑडिट लॉग डिफ़ॉल्ट रूप से कॉन्फ़िग फ़ाइल के बगल में <config-name>.pins.json / <config-name>.audit.jsonl पर सहेजे जाते हैं।

CLI

कमांडयह क्या करता है
mcp-doorman run --config <path>गेटवे को stdio पर शुरू करें (डिफ़ॉल्ट कमांड)
mcp-doorman pin --config <path>सभी अपस्ट्रीम से कनेक्ट करें और उनकी वर्तमान टूल परिभाषाओं को पिन (भरोसा) करें
mcp-doorman initसमझदार डिफ़ॉल्ट के साथ एक स्टार्टर कॉन्फ़िग लिखें

ईमानदार सीमाएँ

सुरक्षा उपकरण जो अधिक बेचता है वह किसी से बेहतर नहीं है। यह भाग पढ़ें।

  • हेयुरिस्टिक्स को बायपास किया जा सकता है। इंजेक्शन पैटर्न दस्तावेजित, सामान्य हमले के आकार को पकड़ते हैं। एक प्रेरित हमलावर किसी भी regex के आसपास वाक्यांश बना सकता है। कठोर सीमा के रूप में deny/approve नीतियों का उपयोग करें; स्क्रीनिंग गहराई में रक्षा है।
  • छिपाना सर्वोत्तम प्रयास है। ज्ञात टोकन प्रारूप विश्वसनीय रूप से पकड़े जाते हैं; बिना संदर्भ के एक यादृच्छिक हेक्स रहस्य नहीं पकड़ा जाता। एजेंटों को क्रेडेंशियल स्टोर की ओर इंगित न करें।
  • यह सैंडबॉक्स नहीं है। अपस्ट्रीम सर्वर अभी भी आपके उपयोगकर्ता के विशेषाधिकारों के साथ चाइल्ड प्रक्रियाओं के रूप में चलते हैं। डोरमैन प्रोटोकॉल की रक्षा करता है; इसे कंटेनरों (ToolHive-शैली) के साथ जोड़ें प्रक्रिया की रक्षा के लिए।
  • TOFU पहली दृष्टि पर भरोसा करता है। पिनिंग परिवर्तनों का पता लगाती है, उन टूल का नहीं जो पहले दिन से दुर्भावनापूर्ण थे — इसके लिए विवरण स्कैनर और आपकी अपनी समीक्षा है।
  • अनुमोदन द्वारों को elicitation की आवश्यकता है। बिना elicitation समर्थन वाले क्लाइंट approval.fallback (डिफ़ॉल्ट रूप से अस्वीकार) पर वापस आ जाते हैं।

रोडमैप — मदद चाहिए 🙌

  • resources/* और prompts/* प्रॉक्सीिंग (वर्तमान में केवल टूल)
  • सैंपलिंग और रूट्स के लिए पास-थ्रू
  • सामुदायिक नियम पैक (doorman-rules-finance, doorman-rules-healthcare…)
  • सीखने का मोड: एक सप्ताह तक निरीक्षण करें, न्यूनतम विशेषाधिकार नीति प्रस्तावित करें
  • OPA / Cedar नीति बैकएंड
  • mcp-doorman audit सबकमांड: JSONL लॉग को सुंदर-प्रिंट और क्वेरी करें
  • ऑडिट विज़ुअलाइज़ेशन के लिए वेब डैशबोर्ड
  • एंट्रॉपी-आधारित सामान्य गुप्त पहचान

ऊपर से कुछ भी लें, या एक [अच्छा पहला मुद्दा](https://github.com/YOUR_GITHUB_USERNAME/mcp-doorman/labels/good%20first%20issue) से शुरू करें। नए पता लगाने के नियम सबसे आसान योगदान हैं: एक regex + दो परीक्षण। CONTRIBUTING.md और docs/detection-rules.md देखें।

विकास

root@kitploit:~
npm install
npm test          # 69 परीक्षण: यूनिट + पूर्ण stdio e2e
npm run build
npm run demo      # गार्ड को लाइव फायर होते देखें

लाइसेंस

Apache-2.0 — स्पष्ट पेटेंट अनुदान के साथ, किसी भी उपयोग के लिए मुफ़्त।

टूल डाउनलोड करें
हमलायह कैसे काम करता है
टूल पॉइज़निंगटूल के विवरण में छिपे दुर्भावनापूर्ण निर्देश, अधिकांश क्लाइंट UI में अदृश्य
रग पुलसर्वर पहले दिन निर्दोष टूल प्रस्तुत करता है, आपके स्वीकृत करने के बाद परिभाषाएँ बदल देता है
अप्रत्यक्ष प्रॉम्प्ट इंजेक्शनएक वैध टूल द्वारा लाया गया एक वेबपेज/इश्यू/ईमेल मॉडल को लक्षित करने वाले निर्देश रखता है
गुप्त डेटा निष्कासनएक टूल परिणाम में लीक हुआ क्रेडेंशियल + एक इंजेक्टेड निर्देश = आपकी कुंजी किसी और के सर्वर पर
भगोड़े लूपएक भ्रमित या हाईजैक एजेंट बड़े पैमाने पर डिलीट, मास-मेल, मास-स्क्रैप करता है