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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
mcp-stdio-shellguard — حزمة دفاع متعدد الطبقات لخوادم MCP stdio: أغلفة guardExec/guardSpawn جاهزة للتبديل المباشر (drop-in)، وأداة CLI لتدقيق AST، وخادم MCP مرجعي. تسد فئة ثغرة stdio-RCE الخاصة بـ Ox-Security التي تمس 200 ألف خادم (LiteLLM CVE-2025-69256). MIT، TypeScript، Node >= 20. | Kitploit
أدوات/GitHubGitHub/studiomeyer-io/mcp-stdio-shellguard
التحليل الثابتماسحات الثغرات الأمنيةتحليل الكودالبرمجة النصية والأتمتةDevSecOpsالأدوات والمكوناتأمن سلسلة التوريدأمن واجهات برمجة التطبيقات

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
studiomeyer-io/mcp-stdio-shellguard

mcp-stdio-shellguard

حزمة دفاع متعدد الطبقات لخوادم MCP stdio: أغلفة guardExec/guardSpawn جاهزة للتبديل المباشر (drop-in)، وأداة CLI لتدقيق AST، وخادم MCP مرجعي. تسد فئة ثغرة stdio-RCE الخاصة بـ Ox-Security التي تمس 200 ألف خادم (LiteLLM CVE-2025-69256). MIT، TypeScript، Node >= 20.

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

جزء من حزمة StudioMeyer MCP — صُنعت في مايوركا 🌴 · ⭐ إذا كنت تستخدمها

mcp-stdio-shellguard

npm version npm downloads License Last commit GitHub stars

حزمة دفاع متعدد الطبقات لخوادم MCP stdio. تغلّف `child_process.exec/spawn` بقائمة سماح + صندوق رمل + كشف إعادة التشغيل، بالإضافة إلى واجهة سطر أوامر للتدقيق عبر AST (`mcp-shellguard-audit`) تفحص مصادر خوادم MCP بحثًا عن استدعاءات صدفة غير معقّمة. تسدّ فئة Ox-Security MCP stdio-RCE (200 ألف خادم معرّض للخطر، إفصاح مايو 2026).
  • مواصفة MCP: 2025-06-18
  • SDK: @modelcontextprotocol/sdk ^1.29.0
  • Node: >= 20
  • الترخيص: MIT
  • المؤلف: Matthias Meyer (StudioMeyer)

التثبيت

root@kitploit:~
npm install mcp-stdio-shellguard

أو شغّل واجهة التدقيق مباشرة دون تثبيت:

root@kitploit:~
npx -y -p mcp-stdio-shellguard mcp-shellguard-audit scan ./src

ماذا يوفّر لك

ثلاث طبقات، تُفعَّل اختياريًا كلٌّ على حدة:

  1. مكتبة برمجية — guardExec / guardSpawn جاهزة للاستبدال المباشر تستدعيها من خادم MCP الخاص بك. قائمة سماح ترفض افتراضيًا، ملفات تعريف صندوق رمل، نافذة إعادة تشغيل.
  2. واجهة سطر أوامر للتدقيق — mcp-shellguard-audit scan <path> تجتاز AST وتبلّغ عن 12 نمطًا مضادًا تتراوح من LOW (بدون مهلة) حتى CRITICAL (exec(\...${userInput}...`)`).
  3. خادم MCP مرجعي — mcp-stdio-shellguard-demo يعرض 8 أدوات بحيث يمكن لمفتّش MCP / Claude Desktop قيادة الحزمة مباشرة.

الأدوات (الخادم المرجعي)

ملفات تعريف صندوق الرمل

يمكن للمستدعي التضييق عبر timeoutMs / fdBudget لكل استدعاء. لا يمكن للمستدعي التوسيع بما يتجاوز ملف التعريف.

مستويات الثقة

المستوىالشرط
LOWالأداة غير مسجَّلة (رفض افتراضي)
MEDIUMمسجَّلة لكن argsPatterns فارغة (أي وسائط مسموحة)

ارفع من LOW إلى CRITICAL بتسجيل الأداة + ضبط argsPatterns + التشغيل عبر guardExec/guardSpawn (اللذَين يفعّلان دائمًا صندوق الرمل وإعادة التشغيل).

بدء سريع مع المكتبة

root@kitploit:~
import {
  AllowlistRegistry,
  ReplayWindow,
  guardExec,
} from "mcp-stdio-shellguard";

const registry = new AllowlistRegistry();
const replay = new ReplayWindow();

registry.register({
  toolName: "git-log",
  executable: "/usr/bin/git",
  argsPatterns: ["^log$", "^--oneline$", "^-n$", "^\\d+$"],
  sandboxProfile: "strict",
});

const result = await guardExec(
  {
    toolName: "git-log",
    command: "/usr/bin/git",
    args: ["log", "--oneline", "-n", "10"],
  },
  { registry, replay },
);

console.log(result.stdout); // → commit lines
console.log(result.trustTier); // → "CRITICAL"
console.log(result.canonicalHash); // → 64-char SHA-256

واجهة سطر أوامر التدقيق

root@kitploit:~
mcp-shellguard-audit scan ./src
mcp-shellguard-audit scan ./src --format sarif --output audit.sarif
mcp-shellguard-audit scan ./src --severity-floor HIGH    # CI gate

رموز الخروج:

  • 0 نظيف (لا توجد نتائج عند الحد الأدنى أو فوقه)
  • 1 توجد نتائج
  • 2 أخطاء تحليل / إدخال-إخراج

مكتبة الأنماط المضادة (12 قاعدة)

يحلّ الماسح روابط child_process المعاد تسميتها قبل المطابقة، لذلك تُلتقط الأشكال الخطرة أدناه حتى عندما يمر الاستدعاء عبر اسم مستعار بدل child_process.exec حرفي:

  • const execAsync = promisify(exec); execAsync(...${x})
  • import cp from "node:child_process"; cp.exec(...${x})
  • const { exec: sh } = require("child_process"); sh(...${x})
  • import { exec as run } from "node:child_process"; run(...)

تشارك المتغيرات المتزامنة (spawnSync، execFileSync) قواعد نظيراتها غير المتزامنة، ويُفعَّل shell_true_option أيضًا على صدفة نصية ({ shell: "/bin/sh" }) أو قيمة صدفة ديناميكية — وليس فقط حرفي { shell: true }. تبقى promisify لدالة ليست من child_process، وتفكيك من وحدة أخرى، و{ shell: false } نظيفة (بدون نتائج إيجابية خاطئة).

التوجيهات (Pragmas)

  • // shellguard:ignore-next-line — كتم نتيجة واحدة
  • // shellguard:ignore-file — كتم الملف بالكامل (نادر؛ يُفضَّل لكل سطر)

لماذا يوجد هذا

أفصحت Ox-Security (2026-05) عن أن أكثر من 200 ألف خادم MCP stdio يغلّفون child_process.exec بسلاسل قالب تحمل مدخلات مستخدم مباشرة من وسائط أدوات LLM. كان LiteLLM v1.83.6 المثال المعياري (تم تصحيح CVE في 1.83.7). هذه الحزمة هي النظير الأمني الدفاعي: حارس جاهز للاستبدال + ماسح يسدّ هذه الفئة. مستوحاة من مستويات seccomp في AWS Linux + صندوق رمل Chromium.

انظر أيضًا

  • HOOK_RECIPES.md — وصفات خطافات Claude Code التي تحظر تلقائيًا استدعاءات الأدوات الخطرة
  • CHANGELOG.md — سجل الإصدارات
  • تدقيق Ox-Security MCP: https://venturebeat.com/security/200000-mcp-stdio-servers/
  • LiteLLM CVE-2026-XXXX: https://github.com/BerriAI/litellm/security/advisories

الترخيص

MIT — حقوق النشر (c) 2026 Matthias Meyer (StudioMeyer)

تنزيل الأداة
الأداةالنوعالغرض
guard_execمدمِّرchild_process.exec مُحصَّن. يفرض متجه args[]، قائمة سماح + صندوق رمل + إعادة تشغيل. يُرجع stdout وstderr وexitCode وcanonicalHash وisReplay وtrustTier.
guard_spawnمدمِّرchild_process.spawn مُحصَّن. يُرجع تجزئات SHA-256 لـ stdout/stderr بدل النصوص الكاملة. يرفض shell:true رفضًا قاطعًا.
register_allowlistمُعدِّلتسجيل اسم أداة مع الملف التنفيذي + regex للوسائط. بدون تسجيل يُطبَّق الرفض الافتراضي.
audit_sourceللقراءة فقطفحص مسار TS/JS بحثًا عن أنماط حقن الصدفة المضادة. يُرجع AuditFinding[] + ملخصًا.
audit_reportللقراءة فقطتنسيق نتيجة تدقيق بصيغة markdown / json / SARIF 2.1.0.
replay_checkللقراءة فقطحساب تجزئة SHA-256 القانونية لاستدعاء والتبليغ عمّا إذا كانت موجودة أصلًا في نافذة إعادة التشغيل.
sandbox_statusللقراءة فقطالتبليغ عن ملف تعريف صندوق الرمل النشط + الحدود الفعلية + علامة تفعيل cgroup-v2.
trust_tierللقراءة فقطاستنتاج مستوى LOW/MEDIUM/HIGH/CRITICAL لأداة مسجَّلة مع تلميحات تحسين.
الملفالمهلةأقصى stdoutأقصى stderrميزانية FDcgroup-v2
strict5 s1 MB256 KB32نعم (cpu/memory)
standard (افتراضي)30 s10 MB1 MB256نعم
permissive5 min100 MB10 MB1024لا
HIGHargsPatterns مضبوطة لكن صندوق الرمل أو متتبِّع إعادة التشغيل غير نشط
CRITICALargsPatterns + صندوق الرمل + إعادة التشغيل جميعها نشطة
المعرّفالخطورةيُفعَّل عند
exec_template_literal_with_inputCRITICALchild_process.exec(\ls ${x}`)`
exec_dynamic_stringCRITICALchild_process.exec(cmd)
exec_sync_dynamic_stringCRITICALchild_process.execSync(cmd)
eval_near_child_processCRITICALeval(...)
function_constructor_near_child_processCRITICALnew Function(...)
spawn_dynamic_file_argsHIGHspawn(bin, userArgs)
exec_file_dynamicHIGHexecFile(bin, ...)
shell_true_optionHIGH{ shell: true }
os_system_equivalentHIGHDeno.run / Bun.spawn
spawn_literal_dynamic_argsMEDIUMspawn('git', userArgs)
unbounded_bufferLOWexec بدون maxBuffer
missing_timeoutLOWexec/spawn بدون timeout