Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
mcp-doorman — أداة MCP خفيفة الوزن تمنع تسميم CVE (CVE-2025-54136)، واختراق الباحثين لكلود كود/كوبايلوت/جيميني عبر حقن الأوامر، وتعرض مئات خوادم MCP بدون أي مصادقة، تحمي هذه الأداة حاسوب المطور الفردي، حيث تعمل معظم خوادم MCP فعليًا. | Kitploit
أدوات/GitHubGitHub/sushank05/mcp-doorman
أدوات دفاعيةماسحات الثغرات الأمنيةكشف الأسراراستخبارات التهديداتسوء التكوينالتعلم والتعليمأمن واجهات برمجة التطبيقاتأمن الذكاء الاصطناعي
GitHubsushank05/mcp-doorman

mcp-doorman

أداة MCP خفيفة الوزن تمنع تسميم CVE (CVE-2025-54136)، واختراق الباحثين لكلود كود/كوبايلوت/جيميني عبر حقن الأوامر، وتعرض مئات خوادم MCP بدون أي مصادقة، تحمي هذه الأداة حاسوب المطور الفردي، حيث تعمل معظم خوادم MCP فعليًا.

عرض المستودع
2منذ 7 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

mcp-doorman

البوابة الأمنية لخوادم MCP — كل استدعاء أداة يتم فحصه عند الباب.

CI npm License: Apache-2.0 PRs welcome

mcp-doorman هو وكيل (proxy) قابل للتضمين يجلس بين وكيل الذكاء الاصطناعي الخاص بك (Claude Desktop، Claude Code، Cursor، VS Code، أي عميل MCP) وخوادم MCP التي يستخدمها. أمر واحد، بدون بنية تحتية، وكل استدعاء لـ tools/list و tools/call يمر عبر خط أنابيب حماية:

  • 🛂 محرك السياسات — قواعد السماح / الرفض / طلب الموافقة لكل أداة، مطابقة بالأنماط العالمية (glob)
  • 🕵️ إخفاء الأسرار — مفاتيح AWS، رموز GitHub/Slack/Stripe/OpenAI/Anthropic، المفاتيح الخاصة، JWTs، أرقام البطاقات (مدققة بـ Luhn)… يتم مسحها من نتائج الأدوات قبل وصولها إلى النموذج
  • 💉 فحص حقن الأوامر — وضع علامات أو حظر على نتائج الأدوات (وأوصاف الأدوات — تسميم الأدوات) التي تحاول إعطاء تعليمات للنموذج
  • 📌 كشف السحب المفاجئ (Rug-pull) — يتم تثبيت تعريفات الأدوات بناءً على بصمة (hash) في أول استخدام؛ إذا قام الخادم بتغيير الوصف بهدوء، يتم حظر الأداة حتى يقوم إنسان بإعادة التثبيت
  • 🚦 تحديد المعدل — دلاء رمزية لكل أداة تحد من نصف قطر الانفجار لحلقة وكيل جامحة
  • 🙋 بوابات موافقة بشرية — الأدوات الحساسة تؤدي إلى ظهور طلب موافقة تفاعلي عبر 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:~
// BEFORE — every server talks straight to the model
{
  "mcpServers": {
    "github":     { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"] },
    "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/repos"] }
  }
}

// AFTER — one doorman guards them all
{
  "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 (اسأل وكيلك "ماذا قام doorman بحظره مؤخرًا؟").

ملاحظة لويندوز: إذا كان إدخال الخادم يستخدم 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 تجاه عميلك وعميل MCP تجاه كل خادم أعلى (عمليات stdio تابعة أو نقاط نهاية HTTP قابلة للبث)، وتجمعها خلف اتصال واحد. إنها مبنية على TypeScript SDK الرسمي.

الإعدادات

كل شيء موجود في ملف JSON واحد. مثال كامل مع كل خيار:

root@kitploit:~
{
  "servers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "${GITHUB_TOKEN}" }   // ${VAR} = read from gateway env
    },
    "remote": { "url": "https://mcp.example.com/mcp", "headers": { "Authorization": "Bearer ${MCP_TOKEN}" } }
  },

  "policy": {
    "defaultAction": "allow",                    // "allow" | "deny" | "approve"
    "rules": [                                   // first match wins, evaluated top-down
      { "match": "*__delete*",  "action": "deny",    "reason": "no destructive tools" },
      { "match": ["github__create_*", "*__send_*"], "action": "approve" },
      { "match": "filesystem__*", "action": "allow" }
    ]
  },

  "redaction": {
    "enabled": true,
    "disable": [],                               // built-in rule names to turn off
    "enableOptIn": ["email"],                    // opt-ins: "email", "us-ssn", "ipv4"
    "custom": [{ "name": "acme-id", "pattern": "ACME-[0-9]{6}" }],
    "redactArguments": false                     // also scrub model-supplied arguments
  },

  "injection": {
    "action": "flag",                            // "flag" (warn the model) | "block" | "off"
    "scanToolDescriptions": true,                // tool-poisoning check on tools/list
    "custom": []
  },

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

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

  "approval": { "fallback": "deny", "timeoutMs": 120000 },  // fallback when client lacks elicitation

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

  "logLevel": "info"
}

حالة التثبيت وسجل التدقيق افتراضيًا يكونان <config-name>.pins.json / <config-name>.audit.jsonl بجانب ملف الإعدادات.

واجهة سطر الأوامر

الأمرماذا يفعل
mcp-doorman run --config <path>بدء البوابة عبر stdio (الأمر الافتراضي)
mcp-doorman pin --config <path>الاتصال بجميع الخوادم العلوية وتثبيت (الثقة) تعريفات أدواتها الحالية
mcp-doorman initكتابة إعدادات بداية بإعدادات افتراضية مناسبة

القيود الصريحة

أدوات الأمان التي تبالغ في وعودها أسوأ من عدم وجود أي أداة. اقرأ هذا الجزء.

  • الطرق الاستدلالية قابلة للالتفاف. أنماط الحقن تكتشف أشكال الهجوم الموثقة والشائعة. يمكن للمهاجم المتحمس صياغة هجوم حول أي تعبير عادي. استخدم سياسات deny/approve كحدود صلبة؛ الفحص هو دفاع في العمق.
  • الإخفاء هو بذل أقصى جهد. يتم اكتشاف تنسيقات الرموز المعروفة بشكل موثوق؛ السر العشوائي السداسي العشري بدون سياق لا يتم اكتشافه. لا توجه الوكلاء إلى مخازن بيانات الاعتماد.
  • هذا ليس صندوق رمل. الخوادم العلوية لا تزال تعمل كعمليات فرعية بصلاحيات مستخدمك. يحرس Doorman البروتوكول؛ قم بإقرانه مع حاويات (على غرار 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). قواعد الكشف الجديدة هي أسهل مساهمة: تعبير عادي واحد + اختباران. انظر CONTRIBUTING.md و docs/detection-rules.md.

التطوير

root@kitploit:~
npm install
npm test          # 69 اختبار: وحدة + نهاية إلى نهاية stdio كامل
npm run build
npm run demo      # شاهد الحراس وهم يعملون مباشرة

الترخيص

Apache-2.0 — مجاني لأي استخدام، مع منح براءة اختراع صريح.

تنزيل الأداة
الهجومكيف يعمل
تسميم الأدوات (Tool poisoning)تعليمات ضارة مخبأة في وصف الأداة، غير مرئية في معظم واجهات العميل
السحب المفاجئ (Rug pull)الخادم يقدم أدوات بريئة في اليوم الأول، ثم يستبدل التعريفات بعد موافقتك عليها
حقن الأوامر غير المباشرصفحة ويب / مشكلة / بريد إلكتروني يتم جلبها بواسطة أداة شرعية تحمل تعليمات تستهدف النموذج
تسريب الأسراربيانات اعتماد مسربة في نتيجة أداة واحدة + تعليمة محقونة واحدة = مفتاحك على خادم شخص آخر
الحلقات الجامحة (Runaway loops)وكيل مرتبك أو مخترق يقوم بالحذف الجماعي، الإرسال الجماعي، الكشط الجماعي