PrismSec 🔷
सुरक्षित, मॉड्यूलर MCP सर्वर — पेंटेस्टिंग उपकरणों के लिए।
7 उद्योग-मानक सुरक्षा उपकरणों (nmap, nuclei, gobuster, subfinder, httpx, nikto, sqlmap) को 13 पंजीकृत MCP टूल्स में लपेटता है — Claude, Cursor, Copilot और किसी भी MCP-संगत AI एजेंट के साथ उपयोग के लिए तैयार।
सुविधाएँ
| Feature | Description |
|---|
| Zero shell=True | सभी सबप्रोसेस कॉल asyncio.create_subprocess_exec का उपयोग करते हैं — कोई शेल इंजेक्शन नहीं |
| Input validation | टार्गेट, URL, पोर्ट, सेवियरिटी — सभी को निष्पादन से पहले सत्यापित किया जाता है |
| Injection detection | शेल मेटाकैरेक्टर्स (;, $(), बैकटिक्स, |) को ब्लॉक करता है |
| Timeout enforcement | हर टूल में कॉन्फ़िगर करने योग्य टाइमआउट होता है — हैंग हुई प्रक्रियाओं को स्वतः समाप्त करता है |
| Structured output | पार्स किया गया XML/JSON/text → AI एजेंट्स के लिए स्वच्छ JSON |
| Modular architecture | प्रति टूल एक फ़ाइल — जोड़ना, बनाए रखना और परीक्षण करना आसान |
| 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 Tool | Description |
|---|
nmap_port_scan | क्विक/फुल/सर्विस/स्टील्थ/एग्रेसिव मोड के साथ पोर्ट स्कैन |
nmap_service_detect | खुले पोर्ट्स पर सेवा/संस्करण डिटेक्शन |
nmap_full_scan | सभी 65535 TCP पोर्ट्स को स्कैन करें |
Nuclei — भेद्यता स्कैनिंग
| MCP Tool | Description |
|---|
nuclei_vuln_scan | सभी टेम्पलेट्स के साथ पूर्ण भेद्यता स्कैन |
nuclei_severity_scan | सेवियरिटी द्वारा फ़िल्टर किया गया स्कैन (क्रिटिकल, हाई, आदि) |
nuclei_template_scan | विशिष्ट टेम्पलेट के साथ लक्षित स्कैन |
Gobuster — निर्देशिका/DNS ब्रूट
| MCP Tool | Description |
|---|
gobuster_directory | कॉन्फ़िगर करने योग्य एक्सटेंशन के साथ निर्देशिका ब्रूट-फोर्स |
gobuster_dns | DNS सबडोमेन ब्रूट-फोर्स |
अन्य उपकरण
| MCP Tool | Description |
|---|
subfinder_enumerate | पैसिव सबडोमेन एन्यूमरेशन (crt.sh, VirusTotal, आदि) |
|
मेटा
| MCP Tool | Description |
|---|
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
कॉन्फ़िगरेशन
| Environment Variable | Default | Description |
|---|
LOG_LEVEL | INFO | लॉगिंग स्तर (DEBUG, INFO, WARNING, ERROR) |
सुरक्षा संबंधी विचार
⚠️ केवल अधिकृत परीक्षण। केवल उन्हीं सिस्टमों पर उपयोग करें जिनके आप स्वामी हैं या जिनके परीक्षण की लिखित अनुमति आपके पास है।
- टूल आउटपुट में संवेदनशील जानकारी हो सकती है (IPs, खुले पोर्ट्स, भेद्यताएँ)
- सर्वर डिफ़ॉल्ट रूप से
127.0.0.1 पर बाइंड होता है — इसे अविश्वसनीय नेटवर्क्स पर कभी एक्सपोज़ न करें
- संसाधन क्षय को रोकने के लिए प्रत्येक टूल में कॉन्फ़िगर करने योग्य टाइमआउट होते हैं
लाइसेंस
MIT
व्यापक क्लाइंट संगतता के लिए Model Context Protocol मानक के साथ निर्मित।