ليس للأغراض التعليمية: خادم 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)nmapScanrunJohnTheRipperrunHashcatgobusterniktosubfinderEnumhttpxProbeffufScannucleiScantrafficCapturehydraBruteforceprivEscAuditextractionSweepgenerateWordlistlistEngagementRecordsgetEngagementRecordcreateClientReportcancelScannpm 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