PrismSec 🔷
خادم MCP معياري وآمن لأدوات اختبار الاختراق.
يغلّف 7 أدوات أمنية قياسية في الصناعة (nmap, nuclei, gobuster, subfinder, httpx, nikto, sqlmap) في 13 أداة MCP مسجّلة — جاهزة للاستخدام مع Claude وCursor وCopilot وأي وكيل ذكاء اصطناعي متوافق مع MCP.
الميزات
| الميزة | الوصف |
|---|
| بدون shell=True | جميع استدعاءات العمليات الفرعية تستخدم asyncio.create_subprocess_exec — لا حقن أوامر الصدفة |
| التحقق من المدخلات | الهدف، الرابط، المنفذ، الخطورة — جميعها تُتحقق قبل التنفيذ |
| كشف الحقن | يحظر محارف الصدفة الخاصة (;, $(), backticks, |) |
| فرض المهلة الزمنية | كل أداة لها مهلة زمنية قابلة للضبط — يتم قتل العمليات المعلقة تلقائيًا |
| مخرجات منظمة | تحليل XML/JSON/text → JSON نظيف لوكيلات الذكاء الاصطناعي |
| بنية معيارية | ملف واحد لكل أداة — سهلة الإضافة والصيانة والاختبار |
| MCP SDK v2 | مبني على أحدث حزمة Model Context Protocol SDK |
التثبيت
من المصدر
git clone https://github.com/azmisyahrul/prismsec.git
cd prismsec
pip install -e .
المتطلبات الأساسية
ثبّت الأدوات الأمنية التي تحتاجها:
# Ubuntu/Debian
apt install nmap nikto sqlmap
# Go-based tools
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/OJ/gobuster/v3@latest
الأدوات (13 أداة مسجّلة)
Nmap — فحص المنافذ
| أداة MCP | الوصف |
|---|
nmap_port_scan | فحص المنافذ بأوضاع سريع/كامل/الخدمات/مخفي/عدواني |
nmap_service_detect | كشف الخدمات/الإصدارات على المنافذ المفتوحة |
nmap_full_scan | فحص جميع منافذ TCP الـ 65535 |
Nuclei — فحص الثغرات
| أداة MCP | الوصف |
|---|
nuclei_vuln_scan | فحص ثغرات شامل بجميع القوالب |
nuclei_severity_scan | فحص مُصفّى حسب الخطورة (critical, high, إلخ.) |
nuclei_template_scan | فحص موجّه باستخدام قالب محدد |
Gobuster — تخمين الدلائل/DNS
| أداة MCP | الوصف |
|---|
gobuster_directory | تخمين الدلائل مع امتدادات قابلة للضبط |
gobuster_dns | تخمين النطاقات الفرعية DNS |
أدوات أخرى
| أداة MCP | الوصف |
|---|
subfinder_enumerate | تعداد سلبي للنطاقات الفرعية (crt.sh, VirusTotal, إلخ.) |
httpx_probe |
بيانات وصفية
| أداة MCP | الوصف |
|---|
check_tools | التحقق من الأدوات الأمنية المثبتة |
الاستخدام
Claude Desktop
أضف إلى claude_desktop_config.json:
{
"mcpServers": {
"prismsec": {
"command": "python3",
"args": ["/path/to/prismsec/server.py"],
"env": {}
}
}
}
Claude Code
claude mcp add prismsec python3 /path/to/prismsec/server.py
Cursor / Windsurf / Cline
أضف إلى .cursor/mcp.json أو ما يعادله:
{
"mcpServers": {
"prismsec": {
"command": "python3",
"args": ["/path/to/prismsec/server.py"]
}
}
}
نقل SSE (عن بُعد)
# Server side
python3 server.py --transport sse --host 0.0.0.0 --port 8000
# Client config
{
"mcpServers": {
"prismsec": {
"url": "http://localhost:8000/sse"
}
}
}
هيكل المشروع
prismsec/
├── server.py # MCP server entry point (13 tools)
├── pyproject.toml # Project config + dependencies
├── tools/ # Tool wrappers (one file per tool)
│ ├── base.py # ToolWrapper ABC + async runner
│ ├── nmap.py # Nmap — XML parsing, scan modes
│ ├── nuclei.py # Nuclei — JSON output parsing
│ ├── gobuster.py # Gobuster — text output parsing
│ ├── subfinder.py # Subfinder — subdomain enum
│ ├── httpx.py # Httpx — web probing
│ ├── nikto.py # Nikto — web vuln scan
│ └── sqlmap.py # Sqlmap — SQL injection testing
├── parsers/ # Output parsers
│ ├── xml_parser.py # nmap XML → structured JSON
│ ├── json_parser.py # JSON/JSONL parsing
│ └── text_parser.py # Gobuster, nikto, sqlmap text
└── utils/ # Shared utilities
├── runner.py # AsyncRunner with timeout
├── validator.py # Input validation + injection detection
├── rate_limiter.py # Token bucket rate limiter
└── logging.py # Structured logging
التكوين
| متغير البيئة | الافتراضي | الوصف |
|---|
LOG_LEVEL | INFO | مستوى التسجيل (DEBUG, INFO, WARNING, ERROR) |
اعتبارات أمنية
⚠️ الاختبار المصرّح به فقط. استخدم ضد الأنظمة التي تملكها أو لديك إذن كتابي لاختبارها.
- قد تحتوي مخرجات الأدوات على معلومات حساسة (عناوين IP، منافذ مفتوحة، ثغرات)
- يرتبط الخادم بـ
127.0.0.1 افتراضيًا — لا تعرّضه أبدًا لشبكات غير موثوقة
- كل أداة لها مهلات زمنية قابلة للضبط لمنع استنزاف الموارد
الترخيص
MIT
مبني وفق معيار Model Context Protocol لتوافق واسع مع العملاء.