Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
pentestagent — ブラックボックスのセキュリティテストのためのAIエージェントフレームワーク。自律型マルチエージェントオーケストレーション、組み込みのペンテストツール、バグバウンティ・レッドチーム・ペネトレーションテストのワークフロー向けMCP統合を備えています。 | Kitploit
ツール/GitHubGitHub/gh05tcrew/pentestagent
OSINT (オープンソースインテリジェンス)偵察脆弱性スキャナーエクスプロイトフレームワークウェブセキュリティネットワークセキュリティCTFペネトレーションテスト学習と教育レッドチーミングAIセキュリティOSINT (オープンソースインテリジェンス) 第12位
2.9k58615日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
GitHubgh05tcrew/pentestagent

pentestagent

ブラックボックスのセキュリティテストのためのAIエージェントフレームワーク。自律型マルチエージェントオーケストレーション、組み込みのペンテストツール、バグバウンティ・レッドチーム・ペネトレーションテストのワークフロー向けMCP統合を備えています。

リポジトリを見る
PentestAgent Logo

PentestAgent

AI ペネトレーションテスト

Python License Version Security MCP

https://github.com/user-attachments/assets/a67db2b5-672a-43df-b709-149c8eaee975

要件

  • Python 3.10+
  • OpenAI、Anthropic、またはその他の LiteLLM がサポートするプロバイダーの API キー

インストール

root@kitploit:~
# Clone
git clone https://github.com/GH05TCREW/pentestagent.git
cd pentestagent

# Setup (creates venv, installs deps)
.\scripts\setup.ps1   # Windows
./scripts/setup.sh    # Linux/macOS

# Or manual
python -m venv venv
.\venv\Scripts\Activate.ps1  # Windows
source venv/bin/activate     # Linux/macOS
pip install -e ".[all]"
playwright install chromium  # Required for browser tool

設定

プロジェクトルートに .env を作成します:

root@kitploit:~
ANTHROPIC_API_KEY=sk-ant-...
PENTESTAGENT_MODEL=claude-sonnet-4-20250514

または OpenAI の場合:

root@kitploit:~
OPENAI_API_KEY=sk-...
PENTESTAGENT_MODEL=gpt-5

LiteLLM がサポートするモデル であれば何でも動作します。

リレー / カスタム API ベースの使用

OPENAI_API_BASE を使うと、OpenAI 互換の任意のエンドポイントに PentestAgent を向けられます:

root@kitploit:~
OPENAI_API_KEY=your-relay-token
OPENAI_API_BASE=https://relay.example/v1
PENTESTAGENT_MODEL=openai/<model-name-on-your-relay>

Anthropic 互換エンドポイントの場合は、代わりに ANTHROPIC_API_BASE を使用します。 プロバイダーに関する完全なメモと埋め込みオプションは .env.example を参照してください。

実行

root@kitploit:~
pentestagent                      # Launch TUI
pentestagent -t 192.168.1.1       # Launch with target
pentestagent tui --docker         # Run tools in Docker container

Docker

分離とプリインストールされたペンテストツールのために、Docker コンテナ内でツールを実行します。

オプション1: ビルド済みイメージをプル(最速)

root@kitploit:~
# Base image with nmap, netcat, curl
docker run -it --rm \
  -e ANTHROPIC_API_KEY=your-key \
  -e PENTESTAGENT_MODEL=claude-sonnet-4-20250514 \
  ghcr.io/gh05tcrew/pentestagent:latest

# Kali image with metasploit, sqlmap, hydra, etc.
docker run -it --rm \
  -e ANTHROPIC_API_KEY=your-key \
  ghcr.io/gh05tcrew/pentestagent:kali

オプション2: ローカルでビルド

root@kitploit:~
# Build
docker compose build

# Run
docker compose run --rm pentestagent

# Or with Kali
docker compose --profile kali build
docker compose --profile kali run --rm pentestagent-kali

コンテナは Linux のペンテストツールにアクセスできる状態で PentestAgent を実行します。エージェントはターミナルツール経由で nmap、msfconsole、sqlmap などを直接使用できます。

Docker がインストールされ、実行されている必要があります。

モード

PentestAgent には、TUI のコマンドからアクセスできる3つのモードがあります:

TUI コマンド

root@kitploit:~
/assist <task>    One single-shot instruction.
/agent <task>     Run autonomous agent on task
/crew <task>      Run multi-agent crew on task
/interact <task>  Chat with the agent in guided mode
/target <host>    Set target
/tools            List available tools
/notes            Show saved notes
/report           Generate report from session
/memory           Show token/memory usage
/prompt           Show system prompt
/conversations    Browse and restore saved conversations
/mcp <list/add>   Visualizes or adds a new MCP server.
/spawn [target] [--scope CIDR] [--model M] [--no-rag] [--no-mcp]
                  Manually spawn a child MCP agent from the TUI.
/despawn <server_name>
                  Terminate and remove a previously spawned child agent.
/clear            Clear chat and history
/quit             Exit (also /exit, /q)
/help             Show help (also /h, /?)

Esc を押すと実行中のエージェントを停止します。Ctrl+Q で終了します。

プレイブック

PentestAgent には、ブラックボックスセキュリティテスト用のビルド済みアタックプレイブックが含まれています。プレイブックは、特定のセキュリティ評価に対する体系的なアプローチを定義します。

プレイブックの実行:

root@kitploit:~
pentestagent run -t example.com --playbook thp3_web

Playbook Demo

ツール

PentestAgent には組み込みツールが含まれ、拡張性のための MCP(Model Context Protocol)をサポートしています。

組み込みツール: terminal、browser、notes、web_search(TAVILY_API_KEY が必要)、spawn_mcp_agent

エージェントの自己スポーン(spawn_mcp_agent)

spawn_mcp_agent は、実行中のエージェントが stdio 経由で接続された従属 MCP サーバーとして自身の子コピーを生成できるようにする組み込みツールです。子プロセスは完全に分離されており、独自のランタイム、LLM クライアント、会話履歴、ノートストアを持ちます。生成後は、その完全なツールセットが親エージェントの利用可能なツールに注入されます。

これにより、外部オーケストレーションなしで階層的なマルチエージェントワークフローが可能になります。エージェントは、必要に応じて生成した子エージェントにスコープ付きサブタスクを委任することで自己組織化します。

spawn_mcp_agent が戻ると、子エージェントのツール(run_task、run_task_async、await_tasks など)が次のツール呼び出しで利用可能になります。子エージェントのサーバー名は自動的に割り当てられ(例: child_agent_1)、結果に返されます。

例 — オーケストレーターが2つの子エージェントに並列偵察を委任する場合:

root@kitploit:~
# Turn 1: spawn two isolated child agents
spawn_mcp_agent  target="10.0.1.0/24"  scope=["10.0.1.0/24"]
spawn_mcp_agent  target="10.0.2.0/24"  scope=["10.0.2.0/24"]

# Turn 2: children's tools are now available — delegate work asynchronously
child_agent_1__run_task_async  task="Full port scan and service enumeration"
child_agent_2__run_task_async  task="Full port scan and service enumeration"

# Turn 3: wait and collect
child_agent_1__await_tasks  task_ids=["<id1>"]  timeout_seconds=600
child_agent_2__await_tasks  task_ids=["<id2>"]  timeout_seconds=600
child_agent_1__get_task_result  task_id="<id1>"
child_agent_2__get_task_result  task_id="<id2>"

手動の子エージェント制御(/spawn と /despawn)

自動の spawn_mcp_agent ツールに加えて、TUI は実行中のエージェントループとは独立して子エージェントを手動で生成・終了できる2つのコマンドを提供します。

/spawn

root@kitploit:~
/spawn [target] [--scope CIDR ...] [--model MODEL] [--no-rag] [--no-mcp]

新しい子 MCP エージェントを stdio 経由で生成し、現在のセッションに接続します。子エージェントは TUI サイドバーの折りたたみ可能なターミナルパネルとして表示され、次のツール呼び出しで親エージェントがそのツールを利用できるようになります。

例:

root@kitploit:~
/spawn 10.0.1.1
/spawn 10.0.1.1 --scope 10.0.1.0/24 --model claude-sonnet-4-20250514
/spawn --target 10.0.1.1 --scope 10.0.1.0/24 --no-rag

/despawn

root@kitploit:~
/despawn <server_name>

server_name(例: child_agent_1)で識別される子エージェントを終了し、TUI からそのターミナルパネルを削除し、親セッションからツールを切断します。現在アクティブな子エージェントの名前を確認するには /mcp list を使用します。

例:

root@kitploit:~
/despawn child_agent_1

MCP RAG ツールオプティマイザー

MCP サーバーが128個を超えるツールを公開している場合、PentestAgent は完全なカタログを単一の mcp_<server>_rag_optimizer ツールに自動的に置き換えます。このメタツールは、埋め込み類似度(LiteLLM 経由、デフォルトは text-embedding-3-small)を使用して、現在のタスクに最も関連するツールを取得し、次のターンでエージェントに注入します。これにより、完全なツールセットへのアクセスを失うことなく、コンテキストウィンドウを管理しやすいサイズに保ちます。

オプティマイザーはエージェントからは透過的です。必要なものを説明する焦点を絞った自然言語クエリで RAG ツールを呼び出し、一致したツールは次のターンで直接呼び出せるようになります。

エージェント向けの使用ガイダンス:

引数型デフォルト説明
queriesstring[](required)必要な機能ごとに1つの絞り込んだクエリ。具体的なほど精度が高くなります

埋め込みは起動時に一度だけ計算されてキャッシュされるため、繰り返しのクエリは高速です。オプティマイザーはサーバーごとに構築されるため、カタログが大きい各 MCP サーバーは独自の独立したインデックスを持ちます。

ヒント: すべてを1つのクエリにまとめるのではなく、異なる機能ごとに1つのクエリを渡します。["list open ports on a host", "get process memory usage"] は ["list ports and memory and CPU"] よりも良い結果を取得できます。

MCP 統合

PentestAgent は MCP(Model Context Protocol)を2つの方向でサポートしています: 外部 MCP サーバーをツールソースとして利用することと、外部クライアント(Claude Desktop、Cursor など)が PentestAgent をプログラムから操作できるように、自身を MCP サーバーとして公開することです。


外部 MCP サーバーの利用(クライアントモード)

PentestAgent を任意の外部 MCP サーバーに接続するには mcp_servers.json を設定します。設定例:

root@kitploit:~
{
  "mcpServers": {
    "nmap": {
      "command": "npx",
      "args": ["-y", "gc-nmap-mcp"],
      "env": {
        "NMAP_PATH": "/usr/bin/nmap"
      }
    }
  }
}

PentestAgent を MCP サーバーとして公開(サーバーモード)

PentestAgent は MCP サーバーとして実行でき、MCP 互換の任意のクライアントがタスクを送信し、結果を検査し、エージェントをリモートから制御できます。サポートされているトランスポートは2つです:

STDIO — ローカルクライアント向け(例: Claude Desktop、Cursor):

root@kitploit:~
pentestagent mcp_server --type stdio
pentestagent mcp_server --type stdio --target 192.168.1.1 --scope 192.168.1.0/24
pentestagent mcp_server --type stdio --model claude-sonnet-4-20250514 --docker

SSE (HTTP) — リモートまたはネットワーク経由のクライアント向け:

root@kitploit:~
pentestagent mcp_server --type sse
pentestagent mcp_server --type sse --host 0.0.0.0 --port 8080
pentestagent mcp_server --type sse --target 10.0.0.1 --scope 10.0.0.0/24 --docker

SSE トランスポートは、単一の /mcp エンドポイントを公開し、POST(リクエスト)、GET(サーバー起点のプッシュ用の永続 SSE ストリーム)、DELETE(セッション破棄)をサポートします。セッションは Mcp-Session-Id ヘッダーで追跡されます。

mcp_server の全フラグ:

例: Claude Desktop 設定(claude_desktop_config.json)
root@kitploit:~
{
  "mcpServers": {
    "pentestagent": {
      "command": "pentestagent",
      "args": ["mcp_server", "--type", "stdio"]
    }
  }
}

MCP サーバーツールリファレンス

MCP サーバーとして動作するとき、PentestAgent は次のツールを公開します:

サーバーステータスと設定

ツール説明
get_server_statusライブサーバーステータス: 準備状態、状態別タスク数、主要ターゲット/スコープ、メモリストアサイズ
get_configプライマリエージェントの設定: ターゲット、スコープ、最大反復回数、ツールリスト
update_config以降のすべてのタスクのターゲット、スコープ、または最大反復回数を更新

タスク実行

ツール説明
run_taskタスクを送信し、完了するまでブロックします。完全な結果、使用したツール、ノートのスナップショットを返します
run_task_asyncタスクを送信し、task_id を即座に返します。get_task_status でポーリングします

タスク検査

ツール説明
list_tasksステータス、ターゲット、概要を含むすべてのタスクを一覧表示。ステータスでフィルタリング可能
get_task_status

タスク制御

ツール説明
cancel_taskID で実行中または保留中のタスクをキャンセル

ツール管理

ツール説明
list_toolsエージェントが利用可能なすべてのツールを一覧表示
enable_toolプライマリエージェントで指定したツールを有効化
disable_toolプライマリエージェントで指定したツールを無効化

会話履歴

ツール説明
get_conversation_historyタスクまたはプライマリエージェントのメッセージ履歴を返します。limit パラメータをサポート
reset_conversationタスクまたはプライマリエージェントの会話履歴をクリア

メモリ

ツール説明
store_memoryプロセス内メモリストアにキーと値のペアを永続化
retrieve_memory完全一致キーでの取得、部分文字列での検索、または全キーの一覧表示
clear_memory特定のキーを削除するか、scope='all' ですべてのメモリを消去

可観測性

ツール説明
get_logs最近の実行ログを返します。レベル(info / warning / error)でフィルタリング可能
get_metricsランタイムメトリクス: タスク数、成功率、ツール呼び出し総数、メモリとログのサイズ

非同期タスクワークフロー例

長時間実行される偵察タスクには、非同期パターンを使用します:

root@kitploit:~
# 1. Submit tasks without blocking
run_task_async  task="Enumerate subdomains of example.com"  target="example.com"
run_task_async  task="Run nmap SYN scan on example.com"     target="example.com"

# 2. Block until both finish (up to 5 minutes)
await_tasks  task_ids=["<id1>", "<id2>"]  timeout_seconds=300

# 3. Retrieve full results
get_task_result  task_id="<id1>"
get_task_result  task_id="<id2>"

CLI ツール管理

root@kitploit:~
pentestagent tools list         # List all tools
pentestagent tools info <name>  # Show tool details
pentestagent mcp list           # List MCP servers
pentestagent mcp add <name> <command> [args...]  # Add MCP server
pentestagent mcp test <name>    # Test MCP connection

会話履歴の操作

TUI の各ユーザーメッセージには、インラインの操作ボタンが2つ表示されます: rewind(巻き戻し)と fork(フォーク)。

Rewind(巻き戻し)

任意のユーザーメッセージで rewind をクリックすると、そのメッセージの直前まで会話を切り詰めます(UI とエージェントのメモリ内履歴の両方)。破棄したパスを保存せずに、クエリを最初からやり直すために使用します。

Fork(フォーク)

任意のユーザーメッセージで >> fork をクリックすると、その時点から会話を分岐させます:

  1. 現在の完全な会話は会話ストアに保存され、短いスナップショット ID が表示されます。
  2. 次に、会話は選択したメッセージの直前まで切り詰められます(rewind と同じ)。

これにより、元のスレッドを /conversations で取得できるように保ちながら、任意の時点から代替アプローチを試すことができます。


会話履歴

PentestAgent はすべての会話を自動的に保存するため、過去のセッションを確認、比較、復元できます。

自動保存は、各 /assist、/agent、/crew、/interact タスクの後、および /clear の前に実行されます。最大20件の会話が保持され、古いものは自動的に削除されます。

保存場所: ワークスペースがアクティブな場合は workspaces/<active>/memory/conversations/、それ以外の場合はプロジェクトルートの conversations/ です。各会話は JSON ファイルです。

/conversations での閲覧と復元:

/conversations コマンドは、TUI 内に分割ペインのモーダルを開きます:

  • 左パネル — タイトルと日付付きの保存済み会話のリスト。
  • 右パネル — メタデータのプレビューに加え、最初の5件のメッセージ(ユーザーメッセージは青、エージェントの応答は緑、ツール呼び出しは黄、ツール結果はグレー)。追加メッセージが何件あるかを示すカウントも表示されます。
imagen

会話を選択して Restore を押すと現在のセッションに再読み込みされ、Close を押すとモーダルを閉じます。

ナレッジ

  • RAG: 方法論、CVE、ワードリストを pentestagent/knowledge/sources/ に置くと、自動的にコンテキストへ注入されます。
  • Notes: エージェントは発見事項をカテゴリ(credential、vulnerability、finding、artifact)付きで loot/notes.json に保存します。ノートはセッションをまたいで保持され、エージェントのコンテキストに注入されます。
  • Shadow Graph: Crew モードでは、オーケストレーターがノートからナレッジグラフを構築し、戦略的な洞察を導き出します(例: 「ホスト X の認証情報を入手した」)。

プロジェクト構造

root@kitploit:~
pentestagent/
  agents/         # Agent implementations
  config/         # Settings and constants
  interface/      # TUI and CLI
  knowledge/      # RAG system and shadow graph
  llm/            # LiteLLM wrapper
  mcp/            # MCP client and server configs
  playbooks/      # Attack playbooks
  runtime/        # Execution environment
  tools/          # Built-in tools

開発

root@kitploit:~
pip install -e ".[dev]"
pytest                       # Run tests
pytest --cov=pentestagent    # With coverage
black pentestagent           # Format
ruff check pentestagent      # Lint

法的注意

明示的なテスト許可を得たシステムに対してのみ使用してください。無許可のアクセスは違法です。

ライセンス

MIT

ツールをダウンロード
モードコマンド説明
Assist/assist <task>ツール実行を伴う1回限りの指示
Agent/agent <task>単一タスクの自律実行
Crew/crew <task>マルチエージェントモード。オーケストレーターが専門のワーカーを生成します
Interact/interact <task>インタラクティブモード。エージェントとチャットすると、ペンテスト手順中に支援・ガイドしてくれます
引数型デフォルト説明
targetstring—子エージェントに渡すペンテストターゲット
scopestring[]—子エージェントのスコープ内ターゲット/CIDR
modelstringenv varモデル識別子。子エージェントの PENTESTAGENT_MODEL を上書きします
no_ragbooleanfalse子エージェントで RAG エンジンの初期化をスキップ
no_mcpbooleantrue子エージェントで外部 MCP サーバー接続をスキップ(推奨)
引数説明
target子エージェントに渡すペンテストターゲット(位置引数または --target)
--scope CIDRスコープ内 CIDR を1つ以上(繰り返し指定可)
--model MODEL子エージェントのモデルを上書き
--no-rag子エージェントで RAG エンジンの初期化をスキップ
--no-mcp子エージェントで外部 MCP サーバー接続をスキップ
top_kinteger20クエリごとに取得するツール数(最大128)。結果はマージされ、重複排除されます
フラグデフォルト説明
--type(required)トランスポート: stdio または sse
--host0.0.0.0SSE バインドホスト
--port8080SSE バインドポート
--targetnone主要なペンテストターゲット(IP / ホスト名)
--scope[]スコープ内ターゲット/CIDR(スペース区切り)
--modelenv varモデル識別子。PENTESTAGENT_MODEL を上書きします
--dockerfalseLocalRuntime の代わりに DockerRuntime を使用
--no-ragfalseRAG エンジンの初期化をスキップ
--no-mcpfalse外部 MCP サーバー接続をスキップ
タスクの現在のステータスと結果プレビューをポーリング
get_task_result完全なタスク結果: 最終出力、思考ステップ、すべてのツール呼び出しと結果、ノートのスナップショット
await_tasks一連の非同期タスク ID がすべて完了するまでブロック(500ms ごとにポーリング、タイムアウト設定可能)