PenTest MCP Server
🏗️ アーキテクチャ
┌──────────────────────────────────────────────────────────┐
│ $ pentest ask --query "scan for SQLi and XSS" \ │
│ --target http://localhost:3000 --consent │
└──────────────────┬───────────────────────────────────────┘
│ Direct Python execution
▼
┌──────────────────────────────────────────────────────────┐
│ GEMINI-POWERED AGENT (Python) │
│ │
│ Phase 1: PLAN → LLM selects tools from query │
│ Phase 2: EXECUTE → Runs tools, collects findings │
│ Phase 3: REPORT → LLM generates professional report │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌────────────────┐ │
│ │ Session │ │ Scan Mode │ │ Tool │ │
│ │ Manager │ │ Orchestrator│ │ Registry │ │
│ └─────────────┘ └──────┬───────┘ └────────────────┘ │
│ │ │
│ ┌────────────────┼────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ ┌────────────────┐ │
│ │ nmap │ │ sqlmap │ │ ffuf │ │
│ │ nuclei │ │ dalfox │ │ nikto │ │
│ │ sslyze │ │ commix │ │ gobuster │ │
│ │ wafw00f │ │ arjun │ │ subfinder │ │
│ │ ... 30+ │ │ ... │ │ ... │ │
│ └────────────┘ └────────────┘ └────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────┐ │
│ │ GEMINI API │ │
│ │ (Flash Lite) │ │
│ │ Triage · Analysis │ │
│ │ CVSS · Reporting │ │
│ └──────────────────────┘ │
└──────────────────────────────────────────────────────────┘✨ 機能
機能 | 説明 |
自然言語インターフェース | 平易な英語でセキュリティの質問をすると、AIが適切なツールを選択して実行します |
3つのスキャンモード | クイック(5-10分)、ミディアム(15-30分)、エクステンシブ(45分以上) — それぞれ異なる深さとAI分析を提供 |
30以上のセキュリティツール | nmap, sqlmap, nuclei, ffuf, dalfox, nikto, wafw00f, subfinder, sslyzeなど |
AI搭載分析 | Gemini AI (Flash Lite) が脆弱性のトリアージ、CVSSスコアリング、エグゼクティブレポートの生成を行います |
自動ツール選択 | LLM主導のツール計画と実行を行う |
セッション管理 | 複数のターゲットにわたるセキュリティ評価の追跡、一時停止、再開 |
OWASP Top 10対応 | OWASP 2021カテゴリにマッピングされた体系的なスキャン |
スマートフォールバック | プロフェッショナルツールがインストールされていない場合、Pythonネイティブの実装が補完します |
📋 目次
🚀 クイックスタート
前提条件
Python 3.11+
uv (Pythonパッケージマネージャー)
Gemini API Key (無料枠あり)
1. クローンとインストール
git clone https://github.com/yourusername/pentest-ai-cli
cd pentest-ai-cli
# Install dependencies
uv sync2. 環境設定
cp .env.example .env.env を編集してGemini APIキーを追加します:
GEMINI_API_KEY=your_gemini_api_key_here3. セキュリティツールのインストール (オプション)
サーバーはPythonネイティブのフォールバックで動作しますが、プロフェッショナルレベルのスキャンには外部ツールのインストールを推奨します:
# macOS (Homebrew)
brew install nmap sqlmap
# Install ffuf (Go-based fuzzer)
go install github.com/ffuf/ffuf/v2@latest
# Install nuclei (vulnerability scanner)
go install github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
# Install subfinder (subdomain discovery)
go install github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latestヒント:
session_initを実行して、システムで検出されたツールを確認してください。
4. スキャン開始!
pentest ask \
--query "run a quick security scan" \
--target https://example.com \
--consent🎯 スキャンモード
クイックモード (5-10分)
迅速なリスク評価のための高速トリアージ。
テスト | ツール |
WAF検出 | wafw00f / カスタム |
DNS列挙 | dnsrecon / カスタム |
ポートスキャン (上位20) | nmap / カスタム |
ヘッダー分析 | カスタム |
TLS/SSL監査 | sslyze / カスタム |
技術フィンガープリント | whatweb / カスタム |
機密ファイル探索 | ffuf / カスタム |
ミディアムモード (15-30分)
OWASP Top 10を網羅する標準的なペネトレーションテスト。
テスト | ツール |
クイックモードの全項目 | — |
ポートスキャン (上位100) | nmap |
XSSスキャン | dalfox / カスタム |
SQLインジェクション | sqlmap |
ディレクトリ探索 | ffuf / gobuster |
CORS設定ミス | corscanner / カスタム |
パストラバーサル | カスタム |
オープンリダイレクト | カスタム |
CSRFチェック | カスタム |
エクステンシブモード (45分以上)
経営層向けの包括的なセキュリティ評価。
テスト | ツール |
ミディアムモードの全項目 | — |
ポートスキャン (上位1000) | nmap / masscan |
サブドメイン列挙 | subfinder / amass |
高度なファジング | wfuzz / ffuf |
SSRFプローブ | カスタム |
シークレットスキャン | trufflehog |
Git露出 | git-dumper |
JWT分析 | jwt_tool |
GraphQLセキュリティ | graphql-cop |
コマンドインジェクション | commix |
🔧 サポートされているツール
サーバーは30以上のセキュリティツールを自動検出して統合します。ツールがインストールされていない場合でも、Pythonネイティブのフォールバックによりスキャンが実行されます。
ツール | カテゴリ | 必須 |
nmap | ポートスキャン | オプション (フォールバックあり) |
sqlmap | SQLインジェクション | オプション |
ffuf | ファジング / ファイル探索 | オプション (フォールバックあり) |
nuclei | 脆弱性スキャン | オプション |
dalfox | XSSスキャン | オプション |
subfinder | サブドメイン探索 | オプション |
wafw00f | WAF検出 | オプション (フォールバックあり) |
sslyze | TLS/SSL監査 | オプション (フォールバックあり) |
nikto | Webサーバースキャン | オプション |
gobuster | ディレクトリ総当たり | オプション |
whatweb | 技術フィンガープリント | オプション (フォールバックあり) |
wfuzz | 高度なファジング | オプション |
arjun | 隠しパラメータ探索 | オプション |
testssl | SSL/TLSテスト | オプション |
masscan | 高速ポートスキャン | オプション |
amass | OSINT / サブドメイン列挙 | オプション |
dnsrecon | DNS列挙 | オプション (フォールバックあり) |
theHarvester | メール/ドメインOSINT | オプション |
retire.js | JSライブラリCVEスキャン | オプション |
trufflehog | シークレット検出 | オプション |
git-dumper | Gitリポジトリ露出 | オプション |
commix | コマンドインジェクション | オプション |
corscanner | CORS設定ミス | オプション (フォールバックあり) |
jwt_tool | JWT分析 | オプション |
graphql-cop | GraphQLセキュリティ | オプション |
xsstrike | 高度なXSS | オプション |
hydra | 総当たり攻撃 | オプション |
shodan | インターネットインテリジェンス | オプション |
enum4linux-ng | SMB列挙 | オプション |
💬 使用例
pentest ask コマンドはGemini AIを使用して、自然言語のクエリに基づいてセキュリティスキャンを自動的に計画・実行します。
クイック脆弱性スキャン
pentest ask \
--query "scan for SQL injection and XSS vulnerabilities" \
--target http://localhost:3000 \
--consentOWASP Top 10フル監査
pentest ask \
--query "perform a comprehensive OWASP Top 10 security audit" \
--target https://example.com \
--consent偵察のみ
pentest ask \
--query "enumerate subdomains and check for exposed sensitive files" \
--target example.com \
--consentカスタムレポートパス
pentest ask \
--query "check security headers and TLS configuration" \
--target https://example.com \
--consent \
--output security-audit-2024.md📖 完全なドキュメント: 詳細な使用ガイド、例、トラブルシューティングについては CLI_USAGE_GUIDE.md を参照してください。
📁 プロジェクト構造
pentest-ai/
├── pentest_mcp/
│ ├── scan_modes.py # Quick/Medium/Extensive scan orchestration
│ ├── agent.py # Standalone CLI orchestrator
│ ├── session.py # Session state management
│ ├── models.py # Pydantic data models
│ ├── config.py # Environment & settings
│ ├── cli.py # CLI interface (includes "ask" command)
│ ├── cli_ui.py # Beautiful CLI UI components
│ ├── tools/
│ │ ├── __init__.py # Python-native security tools
│ │ ├── professional.py # External tool wrappers (nmap, sqlmap, etc.)
│ │ └── tool_registry.py # Tool execution and result processing
│ └── utils/
│ └── sanitizer.py # Input validation & sanitization
├── tests/
│ └── test_system.py # System tests
├── wordlists/ # Fuzzing wordlists for ffuf/gobuster
├── reports/ # Generated scan reports (Markdown)
├── CLI_USAGE_GUIDE.md # Example prompts and detailed usage guide
├── pyproject.toml # Project dependencies & metadata
├── Makefile # Development shortcuts
├── install_tools.sh # Security tool installer script
└── .env.example # Environment variable template⚙️ 設定
環境変数
変数 | 説明 | デフォルト |
| Gemini APIキー | 必須 |
| 分析用LLMモデル |
|
| 最大応答トークン数 |
|
| LLM温度パラメータ |
|
| セッション保存パス |
|
| ログ出力レベル |
|
|
|
|
AI分析パイプライン
各スキャンモードは、スキャンの深さに合わせて調整された 個別のGemini AIプロンプト を使用します:
クイック: 簡潔なトリアージ — 重大/高リスクの発見事項のみに焦点を当てます
ミディアム: バランスの取れたリスク評価と修正案を含むOWASP Top 10分析
エクステンシブ: CVSSスコア付きの網羅的な発見事項、コンプライアンスマッピング、戦略的推奨事項を含む経営層向けエグゼクティブサマリー
🔍 トラブルシューティング
Read-only file system エラー
レポートは <project_root>/reports/ に保存されます。プロジェクトディレクトリに書き込み権限があることを確認してください。
Gemini APIエラー
APIキーを確認してください:
echo $GEMINI_API_KEYaistudio.google.com でレート制限を確認してください
Geminiが利用できない場合でも、サーバーはスキャンを継続し、生のツール出力を返します
ツールが検出されない
Homebrewやパッケージマネージャーを使用して不足しているツールをインストールしてください。Pythonのフォールバック機能により、外部ツールがなくてもコア機能はカバーされます。
⚠️ セキュリティ上の注意
本ツールは許可されたセキュリティテスト専用です。
ターゲットをスキャンする前に、必ず 明示的な書面による許可 を取得してください
無許可のテストは、コンピュータ不正アクセス禁止法 (CFAA)、IT法 (2000/2008)、および世界中の同様の法律に違反します
consent_confirmedパラメータは倫理的な保護措置として存在します。決してバイパスしないでくださいAPIキーをバージョン管理にコミットしないでください
📝 ライセンス
詳細は LICENSE を参照してください。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MohitSahoo/MCPToolForWebVulnerabilities-'
If you have feedback or need assistance with the MCP directory API, please join our Discord server