Skip to main content
Glama

🏗️ アーキテクチャ

┌──────────────────────────────────────────────────────────┐
│  $ 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主導のツール計画と実行を行う pentest ask コマンド

セッション管理

複数のターゲットにわたるセキュリティ評価の追跡、一時停止、再開

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 sync

2. 環境設定

cp .env.example .env

.env を編集してGemini APIキーを追加します:

GEMINI_API_KEY=your_gemini_api_key_here

3. セキュリティツールのインストール (オプション)

サーバーは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 \
  --consent

OWASP 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_KEY

Gemini APIキー

必須

GEMINI_MODEL

分析用LLMモデル

gemini-flash-lite-latest

GEMINI_MAX_TOKENS

最大応答トークン数

8192

GEMINI_TEMPERATURE

LLM温度パラメータ

0.2

SESSION_DIR

セッション保存パス

~/.pentest-ai/sessions

LOG_LEVEL

ログ出力レベル

INFO

AGENT_MAX_TOOLS

pentest ask 実行あたりの最大ツール数

10

AI分析パイプライン

各スキャンモードは、スキャンの深さに合わせて調整された 個別のGemini AIプロンプト を使用します:

  • クイック: 簡潔なトリアージ — 重大/高リスクの発見事項のみに焦点を当てます

  • ミディアム: バランスの取れたリスク評価と修正案を含むOWASP Top 10分析

  • エクステンシブ: CVSSスコア付きの網羅的な発見事項、コンプライアンスマッピング、戦略的推奨事項を含む経営層向けエグゼクティブサマリー

🔍 トラブルシューティング

Read-only file system エラー

レポートは <project_root>/reports/ に保存されます。プロジェクトディレクトリに書き込み権限があることを確認してください。

Gemini APIエラー

  • APIキーを確認してください: echo $GEMINI_API_KEY

  • aistudio.google.com でレート制限を確認してください

  • Geminiが利用できない場合でも、サーバーはスキャンを継続し、生のツール出力を返します

ツールが検出されない

Homebrewやパッケージマネージャーを使用して不足しているツールをインストールしてください。Pythonのフォールバック機能により、外部ツールがなくてもコア機能はカバーされます。

⚠️ セキュリティ上の注意

本ツールは許可されたセキュリティテスト専用です。

  • ターゲットをスキャンする前に、必ず 明示的な書面による許可 を取得してください

  • 無許可のテストは、コンピュータ不正アクセス禁止法 (CFAA)IT法 (2000/2008)、および世界中の同様の法律に違反します

  • consent_confirmed パラメータは倫理的な保護措置として存在します。決してバイパスしないでください

  • APIキーをバージョン管理にコミットしないでください

📝 ライセンス

詳細は LICENSE を参照してください。


-
security - not tested
F
license - not found
-
quality - not tested

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