
ليس للأغراض التعليمية: خادم MCP لمختبر الاختراق المحترفين يدعم STDIO/HTTP/SSE، nmap، go/dirbuster، nikto، JtR، hashcat، بناء قوائم الكلمات، والمزيد.
خادم MCP متخصص في اختبار الاختراق الاحترافي مع دعم النقل/المصادقة الحديثة وأدوات الاستطلاع الموسعة.
@modelcontextprotocol/sdk@^1.26.0@modelcontextprotocol/inspector@^0.20.0) مع مشغل مدمجMCP_TRANSPORT=http)subfinderEnum, httpxProbe, ffufScan, nucleiScan, trafficCapture, hydraBruteforce, privEscAudit, extractionSweeplistEngagementRecords, getEngagementRecordscopeMode=ask) مع خيار قالب آمنhttpx-toolkit (المفضل) أو httpx المُتحقق منه من ProjectDiscovery، مع تجنب تعارض CLI مع Python httpxpentest-mcp inspector)nmapScanrunJohnTheRipperrunHashcatgobusterniktosubfinderEnumhttpxProbeffufScannucleiScantrafficCapturehydraBruteforceprivEscAuditextractionSweepgenerateWordlistnpm install -g pentest-mcp
pentest-mcp
pentest-mcp inspector
يمكنك تمرير علامات Inspector مباشرة:
pentest-mcp inspector --help
MCP_TRANSPORT=http MCP_SERVER_HOST=0.0.0.0 MCP_SERVER_PORT=8000 pentest-mcp
MCP_TRANSPORT=sse MCP_SERVER_PORT=8001 pentest-mcp
stdio: افتراضي لعملاء MCP المحليين.http: ناقل شبكة حديث. موصى به.sse: للتوافق فقط. مهمل وسيتم إزالته في إصدار رئيسي مستقبلي.pentest-mcp inspector يُشغل CLI المضمن @modelcontextprotocol/inspector.node <مدخل-هذه-الحزمة> stdioقم بتعيين متغيرات البيئة هذه عند استخدام MCP_TRANSPORT=http (أو sse إذا لزم الأمر):
MCP_AUTH_ENABLED=true
MCP_AUTH_MODE=bearer
MCP_AUTH_SCOPES=read,write
MCP_AUTH_AUDIENCE=
MCP_OIDC_ISSUER=https://issuer.example.com
MCP_OIDC_JWKS_URL=https://issuer.example.com/.well-known/jwks.json
# وضع تحقق بديل/احتياطي اختياري:
MCP_OIDC_INTROSPECTION_URL=https://issuer.example.com/oauth/introspect
MCP_OAUTH_CLIENT_ID=...
MCP_OAUTH_CLIENT_SECRET=...
الأسماء المستعارة القديمة لا تزال مقبولة مؤقتًا:
MCP_OAUTH_ENABLEDMCP_OAUTH_PROVIDER_URLMCP_OAUTH_SCOPEScreateClientReport الآن يدعم أوضاع معالجة نطاق العمل (SoW):
scopeMode=ask: مطالبة المستخدم عبر استنباط MCP (موصى به)scopeMode=provided: استخدام قيمة scopeOfWork مباشرةscopeMode=template: استخدام قالب الاختبار المصرح به العام المدمجإذا تم رفض/عدم توفر الاستنباط، يتراجع التقرير تلقائيًا إلى القالب.
لا توجد واجهة برمجة منفصلة لرفع الملفات بعد. الخيارات الحالية هي:
{
"tool": "createClientReport",
"arguments": {
"title": "اختبار اختراق خارجي للربع الأول",
"assessmentType": "external-network",
"scopeMode": "ask"
}
}
scopeOfWork{
"tool": "createClientReport",
"arguments": {
"title": "اختبار اختراق خارجي للربع الأول",
"assessmentType": "external-network",
"scopeMode": "provided",
"scopeOfWork": "الأهداف المصرح بها: ...\nخارج النطاق: ...\nنافذة الاختبار: ...\nقواعد الاشتباك: ..."
}
}
{
"tool": "createClientReport",
"arguments": {
"title": "اختبار اختراق خارجي للربع الأول",
"assessmentType": "external-network",
"scopeMode": "template"
}
}
recordId=...) مع سياق الاستدعاء.listEngagementRecords لسحب جميع قطع العمل بسرعة.recordIds المحددة (أو أحدث السجلات افتراضيًا) بدلاً من النسخ/اللصق اليدوي.ask)provided)template)هذه الميزات مُخطط لها تحديدًا لتقليل الأعباء الإدارية لاختبار الاختراق.
scopeFilePath (تحميل نطاق العمل من مسار ملف محلي على مضيف MCP)scopeDocument (إرسال محتوى نطاق العمل مباشرة عبر MCP للعملاء البعيدين)recordId) إلى النتائج وأقسام التقريرnuclei, nikto, إلخ.)ملاحظة التبني:
scopeFilePath و scopeDocument لأن معظم الفرق لديها بالفعل نطاق عمل في مستندات/PDF وترغب في تجنب خطوات اللصق وإعادة التنسيق المتكررة.{
"tool": "subfinderEnum",
"arguments": {
"domain": "example.com",
"recursive": true,
"allSources": true
}
}
{
"tool": "httpxProbe",
"arguments": {
"targets": ["example.com", "api.example.com"],
"includeTitle": true,
"includeStatusCode": true
}
}
{
"tool": "ffufScan",
"arguments": {
"targetUrl": "https://example.com/FUZZ",
"wordlist": "/usr/share/seclists/Discovery/Web-Content/common.txt",
"threads": 40
}
}
{
"tool": "nucleiScan",
"arguments": {
"targets": ["https://example.com"],
"severities": ["medium", "high", "critical"]
}
}
{
"tool": "trafficCapture",
"arguments": {
"networkInterface": "eth0",
"packetCount": 200,
"bpfFilter": "tcp port 80"
}
}
{
"tool": "hydraBruteforce",
"arguments": {
"target": "10.10.10.20",
"service": "ssh",
"usernameList": "/usr/share/seclists/Usernames/top-usernames-shortlist.txt",
"passwordList": "/usr/share/seclists/Passwords/Common-Credentials/10k-most-common.txt"
}
}
{
"tool": "extractionSweep",
"arguments": {
"targetUrl": "https://target.local/item.php?id=1",
"risk": 2,
"level": 3
}
}
docker-compose --profile http up
docker-compose --profile stdio up
docker-compose --profile sse up
صورة Docker تقوم بتثبيت:
nmap, john, hashcat, gobuster, nikto, ffuf, hydra, sqlmap, tcpdumpsubfinder, httpx + اسم مستعار httpx-toolkit, nucleiتأكد من وجود الملفات الثنائية في PATH:
which nmap john hashcat gobuster nikto subfinder httpx-toolkit ffuf nuclei hydra sqlmap tcpdump
إذا لم يكن httpx-toolkit مثبتًا، يتم قبول ثنائي httpx المُتحقق منه من ProjectDiscovery كبديل.
للاستخدام المصرح به فقط. قم بتشغيله ضد الأنظمة/الشبكات التي لديك إذن كتابي صريح لاختبارها.
آخر تحديث: 2026-03-23
لا يزال بروتوكول سياق النموذج (MCP) واحدًا من أكثر طبقات التشغيل البيني فائدة للأدوات والوكلاء. المقابل هو أن خوادم MCP الكبيرة يمكن أن تعرض العديد من الأدوات، واستدعاء الأدوات الساذج يمكن أن يغمر نوافذ السياق بالمخططات والثرثرة وآثار الاستدعاءات غير ذات الصلة.
عمليًا، "المزيد من الأدوات" لا يعني دائمًا "نتائج أفضل." يجب أن تقترن مساحة سطح الأداة بأنماط تنفيذ تحافظ على استخدام الرموز محدودًا والسلوك قابلاً للتنبؤ.
تتحول سير العمل الحديثة بشكل متزايد إلى نقل التنسيق المعقد خارج سياق الدردشة إلى حلقات تنفيذ الكود. هذا يقلل من الرموز المتكررة للمخططات ويجعل استخدام الأدوات قابلاً للتدقيق والاختبار.
قراءة أساسية:
للمستخدمين الذين يرغبون في استخدام MCP قابل للتكرار وأقل ضوضاء، ابدأ بإعداد موجه نحو وضع الكود:
ملاحظة عملية: حتى مع الإعداد القوي، يمكن أن يكون سلوك النموذج غير متسق عبر مقدمي الخدمات والإصدارات. احتفظ بإعادة المحاولة والدرابزين والبدائل الحتمية في مكانها.
نمط عالي التأثير هو تغليف خوادم MCP في واجهات كود قابلة للاستدعاء وCLI موجهة للمهام بدلاً من كشف كل أداة خام للنموذج طوال الوقت.
أدوات مرجعية:
هذا المجال يتغير بسرعة. إذا كنت تقرأ هذا الآن، فقد تكون أجزاء من هذا الدليل قديمة بالفعل.
لا يزال حقن الأوامر مشكلة أمنية مفتوحة للوكلاء الذين يستخدمون الأدوات. إنه قابل للإدارة، لكنه ليس "محلولاً".
المخاطر الأساسية:
العواقب:
خط الأساس للتخفيف:
تعامل مع كل مخرجات أداة كمدخل غير موثوق ما لم يتم التحقق منه صراحة.
يستهدف هذا الخادم إصدار بروتوكول MCP 2025-11-25 و SDK @modelcontextprotocol/sdk@^1.27.1.
listEngagementRecordsgetEngagementRecordcreateClientReportcancelScan| الميزة | الحالة |
|---|
| نقل stdio | مدعوم (افتراضي) |
| نقل HTTP قابل للبث | مدعوم (MCP_TRANSPORT=http) |
| نقل SSE (قديم) | وضع توافق مهمل |
| تعليقات الأدوات | جميع الأدوات مُعلّقة بعنوان، readOnlyHint، destructiveHint، idempotentHint، openWorldHint |
| مصادقة Bearer (OIDC/JWKS) | مدعومة |
| التحقق من الأصل (HTTP) | 403 على Origin غير صالح عند تعيين MCP_ALLOWED_ORIGINS |
| JSON Schema 2020-12 | مخططات مولدة بـ Zod |
| أخطاء أدوات منظمة | علامة isError مع رسائل وصفية لتصحيح النموذج الذاتي |
| الاستنباط | يُستخدم لالتقاط نطاق العمل في إنشاء التقارير |