
AI駆動のペネトレーションテスト向けに、nmap、nuclei、gobuster、subfinder、httpx、nikto、sqlmapを統合した安全でモジュール式のMCPサーバー。
ペンテストツール向けの安全でモジュール式のMCPサーバー。
7つの業界標準セキュリティツール(nmap、nuclei、gobuster、subfinder、httpx、nikto、sqlmap)を13個の登録済みMCPツールにラップ — Claude、Cursor、Copilot、およびMCP互換の任意のAIエージェントですぐに使用できます。
| 機能 | 説明 |
|---|---|
| shell=True なし | すべてのサブプロセス呼び出しで asyncio.create_subprocess_exec を使用 — シェルインジェクションなし |
| 入力検証 | ターゲット、URL、ポート、重大度 — すべて実行前に検証 |
| インジェクション検出 | シェルのメタ文字(;、$()、バッククォート、|)をブロック |
| タイムアウト強制 | すべてのツールに設定可能なタイムアウト — ハングしたプロセスを自動強制終了 |
| 構造化出力 | 解析したXML/JSON/text → AIエージェント向けのクリーンなJSON |
| モジュール式アーキテクチャ | ツールごとに1ファイル — 追加・保守・テストが容易 |
| 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
| MCPツール | 説明 |
|---|---|
nmap_port_scan | クイック/フル/サービス/ステルス/アグレッシブモードのポートスキャン |
nmap_service_detect | オープンポートのサービス/バージョン検出 |
nmap_full_scan | 65535すべてのTCPポートをスキャン |
| MCPツール | 説明 |
|---|---|
nuclei_vuln_scan | すべてのテンプレートを使用した完全な脆弱性スキャン |
nuclei_severity_scan | 重大度でフィルタリングしたスキャン(critical、highなど) |
nuclei_template_scan | 特定のテンプレートを使用した対象を絞ったスキャン |
| MCPツール | 説明 |
|---|---|
gobuster_directory | 設定可能な拡張子を使用したディレクトリブルートフォース |
gobuster_dns | DNSサブドメインブルートフォース |
| MCPツール | 説明 |
|---|---|
subfinder_enumerate | パッシブサブドメイン列挙(crt.sh、VirusTotalなど) |
httpx_probe | Webプロービング — 生存検出、タイトル、技術フィンガープリンティング |
| MCPツール | 説明 |
|---|---|
check_tools | インストールされているセキュリティツールを確認 |
claude_desktop_config.json に追加:
{
"mcpServers": {
"prismsec": {
"command": "python3",
"args": ["/path/to/prismsec/server.py"],
"env": {}
}
}
}
claude mcp add prismsec python3 /path/to/prismsec/server.py
.cursor/mcp.json または同等の場所に追加:
{
"mcpServers": {
"prismsec": {
"command": "python3",
"args": ["/path/to/prismsec/server.py"]
}
}
}
# 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) |
⚠️ 許可されたテストのみ。 自分が所有する、または書面によるテスト許可を得たシステムに対してのみ使用してください。
127.0.0.1 にバインドします — 信頼できないネットワークに公開しないでくださいMIT
Model Context Protocol 標準に基づいて構築されており、幅広いクライアント互換性を備えています。
nikto_web_scan | Webサーバーの脆弱性スキャン |
sqlmap_injection_test | SQLインジェクションの検出とテスト |