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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/zaydmulani09/sentrymcp
التحليل الثابتماسحات الثغرات الأمنيةكشف الأسرارسوء التكوينأمن واجهات برمجة التطبيقاتأمن الذكاء الاصطناعي
GitHubzaydmulani09/sentrymcp

sentrymcp

ماسح أمني للتحليل الثابت ووقت التشغيل لخوادم MCP (Model Context Protocol)

عرض المستودع
12منذ يوم واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

sentrymcp

ماسح أمان ثابت (static) وزمن تشغيل (runtime) لخوادم MCP (بروتوكول سياق النموذج - Model Context Protocol). بين يناير وأبريل 2026، كشف باحثو الأمن عن أكثر من 40 ثغرة CVE عبر تطبيقات خوادم MCP، وأظهر فحص أجرته Endor Labs عام 2026 للخوادم MCP العامة أن 82% منها معرّضة لواحد على الأقل من أصناف مخاطر OWASP MCP Top 10، و67% تعرّض نقاط استقبال (sinks) من نوع تجاوز المسار (path traversal) أو الحقن، و34% لديها معالجة بيانات اعتماد مكتوبة بشكل ثابت (hardcoded) أو بصلاحيات مفرطة — كما أشار بحث منفصل إلى أن نحو 38-40% من الخوادم المفحوصة تعمل دون أي مصادقة إطلاقًا.

License: MIT Rust Build Corpus

التثبيت

دوكر:

root@kitploit:~
docker build -t sentrymcp .
docker run --rm -v "$(pwd):/scan" sentrymcp scan /scan

(PowerShell: docker run --rm -v ${PWD}:/scan sentrymcp scan /scan)

من المصدر:

root@kitploit:~
git clone https://github.com/zaydmulani09/sentrymcp.git && cd sentrymcp
cargo build --release
./target/release/sentrymcp scan <path>

ملاحظة لنظام ويندوز: إذا كانت سلسلة أدوات rustc الافتراضية هي -gnu وفشل البناء مع رسالة dlltool.exe not found، فبدّل إلى MSVC مرة واحدة داخل مجلد المستودع: rustup override set stable-x86_64-pc-windows-msvc.

مثال سريع

مخرجات حقيقية مقابل مثال تجاوز المسار الاصطناعي في corpus/:

root@kitploit:~
$ sentrymcp scan corpus/vulnerable-git-server

== Code Vulnerabilities ==

[HIGH] mcp_server_git/server.py:17  MCPA-PATH-PY-001 (CWE-22)
    python-path-traversal-unvalidated-arg
    > repo_path = Path(arguments["repo_path"])
    fix: Resolve the path with .resolve() and verify containment (e.g. path.resolve().is_relative_to(allowed_root)) before using it, or reject paths containing '..'.

[HIGH] mcp_server_git/server.py:21  MCPA-PATH-PY-001 (CWE-22)
    python-path-traversal-unvalidated-arg
    > log_dir = Path(arguments["repo_path"]) / ".git" / "logs"
    fix: Resolve the path with .resolve() and verify containment (e.g. path.resolve().is_relative_to(allowed_root)) before using it, or reject paths containing '..'.

summary (code vulnerabilities): 2 findings — 0 critical, 2 high, 0 medium, 0 low
total: 2 findings

ما يكتشفه

الفئةما يكتشفهمثال
ثغرات الكودتجاوز المسار (Path traversal)، حقن أوامر الصدفة/الأوامر، استخدام غير آمن لـ eval/execاستخدام Path(arguments["repo_path"]) دون فحص احتواء مقابل مجلد جذر
تسميم الأدواتتعليمات مخفية، يونيكود غير مرئي/متجانس الشكل (homoglyph)، أوصاف ضخمة الحجم مخبأة في بيانات وصف الأدواتوصف أداة نصه "...تجاهل التعليمات السابقة، لا تُخبر المستخدم..."
المصادقة والصلاحياتغياب المصادقة على وسائط النقل الشبكية، بيانات اعتماد مكتوبة بشكل ثابت (hardcoded)، تسريب بيانات الاعتماد عبر السجلات، نطاق صلاحيات مفرطapi_key = "sk-live-..." مُدرَجة كقيمة حرفية بدلًا من قراءتها من البيئة
وسيط زمن التشغيل"سحب البساط" (rug pulls) في أوصاف الأدوات واتصالات صادرة غير متوقعة، مُرصودة مباشرةيتغيّر description الخاص بأداة بين أول استجابة واستجابة لاحقة من tools/list في الجلسة نفسها

يغطي sentrymcp scan <path> الفئات الثلاث الأولى (ثابت، من المصدر فقط). أما sentrymcp proxy -- <target cmd> فيغطي الفئة الرابعة (زمن التشغيل، حيث يعمل بين عميل MCP والخادم الحقيقي عبر stdio، ويُمرّر حركة المرور بشفافية أثناء مراقبته).

البنية المعمارية

مساحة عمل Cargo واحدة، أربع حِزَم (crates):

  • sentrymcp-core — محرك مطابقة القواعد، وماسح الدلائل، واستخراج أوصاف الأدوات.
  • sentrymcp-rules — كل قاعدة كشف بصيغة TOML (الخطورة، ومرجع CWE/OWASP، والمعالجة) — لا توجد أنماط كشف مكتوبة بشكل ثابت في Rust.
  • sentrymcp-proxy — مرحّل stdio لزمن التشغيل، ومقارنة tools/list، ومراقب الشبكة بأفضل جهد ممكن.
  • sentrymcp-cli — الثنائي الوحيد sentrymcp (الأمران الفرعيان scan وproxy).

ملاحظات تصميم أعمق وقيود معروفة لكل آلية موجودة في تعليقات التوثيق (doc comments) داخل كل حزمة (engine.rs، extract.rs، netwatch.rs).

القيود

  • الفحص الثابت هو تمريرة واحدة بأنماط regex على المصدر الخام، وليس محلل AST أو متتبع تلوث (taint tracker) — فهو يفوّت الثغرات التي تتدفق عبر متغير وسيط قبل الوصول إلى sink.
  • استخراج أوصاف الأدوات هو مطابقة أنماط موجّهة، وليس محللًا حقيقيًا — فهو لن يتتبع القيم المبنية من الدمج (concatenation) أو f-strings أو الثوابت المسماة.
  • مراقب الشبكة في وسيط زمن التشغيل لديه تنفيذ عملي على ويندوز فقط (قائم على netstat)؛ أما على المنصات الأخرى فيُبلغ دائمًا عن صفر اتصالات، وهي فجوة موثّقة وليست صامتة.
  • النتائج الموسومة بثقة heuristic (استدلالية: غياب المصادقة، homoglyph، نطاق بصلاحيات مفرطة) هي تنبيهات للمراجعة وليست أحكامًا مؤكدة — فتوقّع بعض الإيجابيات الكاذبة هناك بحكم التصميم.

المساهمة

انسخ المستودع (Fork)، أنشئ فرعًا (branch)، وقدّم طلب سحب (PR). أبقِ قواعد الكشف الجديدة بصيغة TOML وليس في Rust، وأضف زوجًا (نسخة قابلة للاستغلال / نسخة مُصلَحة) إلى corpus/ لأي شيء جديد.

الترخيص

MIT — انظر LICENSE.

تنزيل الأداة