HexStrike AIは、ClaudeやGPTなどのLLMから150本以上のセキュリティツールを呼び出せるようにするMCPサーバーです。2025年9月、公開直後に地下フォーラムでCitrix NetScalerの脆弱性悪用への転用が議論されたとCheck Pointが報告して以降、名前が広く知られるようになりました。一方で、解説記事はREADMEの記載を引き写したものが目立ち、実際の配布物との差は小さくありません。ここでは2026年10月15日時点のリポジトリ・Kali公式パッケージ・実コードを直接確認し、さらにサーバーを隔離環境で起動して待受の挙動まで実測したうえで、導入手順、MCP設定、「READMEに書いてあるが手に入らない機能」を切り分けます。
まとめ:HexStrike AIの要点
- 実体はMCPサーバーで、単体では診断しません。Claude Desktop・Cursor・VS Code Copilotなどのクライアントが必須です。
- Kali Linuxでは
sudo apt install hexstrike-aiで導入できます。収録版は2026年8月3日のgitスナップショットで、2026年9月28日にkali-rollingへ移行しました。 - 現行はv6.0で、150+ツール・12種のエージェントを備えます。250+エージェント・Docker対応・デスクトップ版はv7.0の予告であり、2026年10月時点で提供されていません。
- APIサーバーは起動時に0.0.0.0へ束縛され、
/api/commandが認証なしで任意コマンドを実行します。2026年10月15日に実測すると、起動バナーの「127.0.0.1」表示とは裏腹に全インターフェースで待ち受け、別ホストから認証ヘッダなしでコマンドが通りました。 - コード本体の更新は2025年9月19日で止まっており、以降の変更はREADMEとライセンスファイルだけです。
重要なのは、診断を実行するサーバー(hexstrike_server)と、LLMクライアントと会話する橋渡し(hexstrike_mcp)が別プロセスに分かれている点です。この区別が導入・設定・トラブル切り分けのすべての前提になります。
HexStrike AIの実体:150超のツールをLLMへ開放するMCPサーバー
hexstrike_serverとhexstrike_mcpに分かれた2プロセス構成
リポジトリの中身はきわめて単純で、ルートにあるPythonファイルはhexstrike_server.py(約17,300行)とhexstrike_mcp.py(約5,500行)の2本だけです。前者がFlaskベースのAPIサーバーとして実際のツールを起動し、後者がFastMCP経由でLLMクライアントと会話しながら前者のREST APIを叩きます。つまりLLMは直接nmapを実行しているのではなく、MCPクライアント経由でHTTPリクエストを送り、サーバー側がコマンドを組み立てて実行しています。
サーバーは150以上のエンドポイントを公開します。疎通確認に使う/health、任意コマンドを実行する/api/command、対象分析の/api/intelligence/analyze-targetやツール選定の/api/intelligence/select-toolsに加え、ファイル操作(/api/files/createなど)、Python実行(/api/python/execute)、ペイロード生成といった口も並びます。この2プロセス構成を押さえておくと、後述する接続トラブルの切り分けが早くなります。MCPサーバーそのものの仕組みはMCPサーバーの作り方とAIエージェントへの接続手順|Python SDK 2.3でツール定義・認可を実装で扱っています。
6カテゴリ150超のツールと実名で列挙された12種のエージェント
READMEのアーキテクチャ図では、統合ツールがネットワーク25本以上、Webアプリ40本以上、クラウド20本以上、バイナリ25本以上、CTF20本以上、OSINT20本以上の6カテゴリに整理されています。実体はnmap・nuclei・gobuster・sqlmap・hydra・radare2・prowlerといった既存ツールで、HexStrike AI自身がスキャナを実装しているわけではありません。/healthが検出対象として持つツール名は、サーバーのコード上では13カテゴリ127件に分かれて列挙されています。未導入のツールは当然動かないため、Kaliのように主要ツールが揃った環境が前提になります。
「12+ AIエージェント」も抽象的な呼称ではなく、IntelligentDecisionEngine(ツール選定とパラメータ最適化)、BugBountyWorkflowManager、CTFWorkflowManager、CVEIntelligenceManager、AIExploitGenerator、VulnerabilityCorrelator、TechnologyDetector、RateLimitDetector、FailureRecoverySystem、PerformanceMonitor、ParameterOptimizer、GracefulDegradationの12クラスとして列挙されています。名前のとおり、大半は「LLMの代わりに考える」機構ではなく、ツール選定・再試行・劣化時の縮退といった制御を担う部品です。
GitHubリポジトリの実測値と、更新が止まっている事実
2026年10月15日にGitHub APIで取得した値は、スター12,801・フォーク2,619・ライセンスMIT・言語Pythonです。公開は2025年7月10日で、リリースもタグも0件です。READMEのバージョンバッジはリリースページを指していますが、リンク先には配布物が1つもありません。「v6.0」はREADMEとファイル冒頭のコメント、そして/healthが返す"version": "6.0.0"に書かれた表記であり、GitHub上のリリースとしては存在しない点は押さえておく必要があります。
さらに重要なのは更新履歴です。コミット履歴を遡ると、コードに手が入った最後のコミットは2025年9月19日の「cve exploit gen update」で、それ以降の変更は2026年3月6日のMITライセンスファイル追加と、2026年4月27日・8月3日のREADME更新だけです。約1年間、機能追加もバグ修正も行われていません。導入を検討するなら、これは「活発に開発中のツール」ではなく「2025年9月時点のスナップショット」として評価すべきです。
Kali Linuxへの導入:aptパッケージとgit cloneの使い分け
sudo apt install hexstrike-aiで入るKali公式パッケージの版
Kali Linuxではディストリビューション側でパッケージ化されており、1コマンドで導入できます。Kali Linuxとは?できること・インストール方法と危険性【2026.2対応】で扱った標準環境をそのまま使えます。
sudo apt update
sudo apt install hexstrike-ai
# 収録されるコマンド
hexstrike_server -h
hexstrike_mcp -h
Kali公式のツールページおよびpackage trackerでの現行版は0.0~git20260803.d689933-0kali1で、2026年9月28日にkali-rollingへ移行しています。バージョン文字列が示すとおり、これは上流の2026年8月3日のコミットを固めたスナップショットですが、その8月3日のコミットはREADME更新であり、コード本体は前述のとおり2025年9月で止まっています。初収録は2025年9月11日の0.0~git20250820.0475ec4-0kali1で、Check Pointの報告からわずか9日後にKaliへ取り込まれた計算になります。インストールサイズは約2.76MBと小さく、依存はmitmproxy・python3-flask・python3-mcp・python3-pwntools・python3-selenium などです。なおメタパッケージ区分はeverythingのため、Kaliの標準インストールには含まれません。
git cloneと仮想環境で最新masterを動かす手順
Kali以外のDebian系や、上流の最新コードを使いたい場合は手動導入になります。上流READMEが示す手順はこれだけです。
git clone https://github.com/0x4m4/hexstrike-ai.git
cd hexstrike-ai
python3 -m venv hexstrike-env
source hexstrike-env/bin/activate
pip3 install -r requirements.txt
python3 hexstrike_server.py
requirements.txtにはflask・fastmcp・selenium・mitmproxy・pwntools・angrなどが並び、ネイティブ拡張を含むangrとpwntoolsのビルドが詰まりやすい箇所です。ブラウザエージェントを使う場合はChromiumとchromedriverも別途必要になります。パッケージ版と手動導入の差は、更新管理だけではありません。apt版はDebianのpython3-mcpなど配布側の依存を使い、hexstrike_server・hexstrike_mcpという専用コマンドを提供します。手動導入はrequirements.txtを自分の仮想環境へ入れ、スクリプトを直接起動する形です。上流のコード更新が止まっている以上、実務では依存解決を任せられるapt版で足ります。
依存で見落としやすいのがMCPフレームワークの版です。requirements.txtはfastmcp>=0.2.0,<1.0.0を要求し、これが依存するmcpパッケージを1.x系に固定します。クライアント側hexstrike_mcp.pyのfrom mcp.server.fastmcp import FastMCPはこの1.x系の経路です。mcpを手動で2.x系へ上げると、2026年10月時点のv2ではFastMCPがMCPServerへ改称されており、この import は失敗します(実際にmcp==2.3.0でModuleNotFoundError: No module named 'mcp.server.fastmcp'を確認しました)。混在環境で動かすならMCP Python SDK v2 移行:FastMCPからMCPServerへの書き換え手順と据え置き判断を参照し、mcpは上げないでください。
起動オプションとポート変更、そして表示と食い違う待受アドレス
サーバーが受け付ける引数は--debugと--portの2つだけです。ポートはコード先頭で環境変数HEXSTRIKE_PORTから読まれ、未設定なら8888になります。READMEに環境変数の記載はないため、引数と環境変数のどちらでも指定できる点は覚えておくと便利です。
# 表示は 127.0.0.1:8888 だが実際の待受は 0.0.0.0:8888
python3 hexstrike_server.py --debug --port 8888
# 疎通確認
curl http://localhost:8888/health
/healthは稼働状態に加えて検出できたセキュリティツールの一覧を、essential・network・web_security・binary・forensics・cloud・osintなどのカテゴリ別件数で返します。LLMから呼び出す前に、想定しているツールが認識されているかをここで確認してください。ツール未検出のまま診断を依頼すると、エージェントは代替ツールへ勝手に切り替えるか、失敗の報告を返します。
MCPクライアント設定:Claude Desktop・Cursor・VS Code Copilot
Claude DesktopとCursorの設定ファイルと保存先
保存先はクライアントごとに異なります。Claude Desktopはアプリの「Settings」→「Developer」→「Edit Config」から設定ファイルを開くのが確実で、実体のパスはmacOSが~/Library/Application Support/Claude/claude_desktop_config.json、Windowsが%APPDATA%/Claude/claude_desktop_config.json、Linux(Kaliなど)が~/.config/Claude/claude_desktop_config.jsonです。Cursorは別で、プロジェクト共有なら.cursor/mcp.json、全プロジェクト共通なら~/.cursor/mcp.jsonに書きます。いずれもmcpServersキーを使う形式は共通です。
{
"mcpServers": {
"hexstrike-ai": {
"command": "/path/to/hexstrike-ai/hexstrike-env/bin/python3",
"args": [
"/path/to/hexstrike-ai/hexstrike_mcp.py",
"--server",
"http://localhost:8888"
],
"timeout": 300,
"disabled": false
}
}
}
commandにはpython3とだけ書かず、依存を入れた仮想環境のpython3の絶対パスを指定してください。GUIから起動されるプロセスはシェルのactivateを引き継がないため、素のpython3では依存が解決できずに起動へ失敗します。apt版ならcommandにhexstrike_mcpコマンドを指定できます。クライアント側スクリプトの既定サーバーURLはhttp://127.0.0.1:8888、HTTPリクエストの既定タイムアウトは300秒です(hexstrike_mcp.pyのDEFAULT_REQUEST_TIMEOUT)。この値はサーバーへのAPI応答を待つ上限なので、縮めると長時間のnmapやnucleiで応答待ちがタイムアウトします。対応クライアントはClaude Desktop・Cursor・VS Code Copilot・Roo Code・5ireで、5ireだけはv0.14.0が非対応とREADMEに明記されています。
VS Code Copilot向けmcp.jsonのstdio設定
VS Code Copilotではsettings.jsonではなく、ワークスペースの.vscode/mcp.jsonにトップレベルのserversとして記述し、通信方式にstdioを指定します。
{
"servers": {
"hexstrike": {
"type": "stdio",
"command": "/path/to/hexstrike-ai/hexstrike-env/bin/python3",
"args": [
"/path/to/hexstrike-ai/hexstrike_mcp.py",
"--server",
"http://localhost:8888"
]
}
},
"inputs": []
}
ここでもcommandは仮想環境のPythonの絶対パスにします。WSL内のKaliで動かすなら、VS Code側のMCPプロセスも同じWSL環境で起動する構成にしてください。接続できないときは、まずサーバープロセスが動いているかをss -tlnp | grep 8888で確かめます。サーバーの/healthが応答するのにLLM側からツールが見えないなら、設定ファイルのパス記述・依存不整合・クライアント側での無効化などが考えられるので、クライアントのMCPログで切り分けます。
alwaysAllowを空のまま運用するかどうかの判断
リポジトリに同梱されたhexstrike-ai-mcp.jsonには、READMEにはない設定項目が入っています。alwaysAllowという配列で、descriptionには「自律実行をさせたくないならalwaysAllowをオフにせよ」という但し書きが添えられています。配布物での値は空配列です。これはクライアント側で解釈される承認用の許可リストで、どのツールを無確認で実行するかを列挙する項目です。承認の最終的な挙動は使うクライアント(Roo Codeなどは全体の自動承認設定が優先され、承認対象もツール単位)に依存します。
ここに実行させたいツールを列挙すると、そのツールは人間の確認を挟まずに走るようになります。診断対象が本番環境に隣接している状況では、空配列のまま運用してください。攻撃チェーンの自動構築は魅力的に見えますが、承認を外すということは、LLMの誤解釈がそのまま対象外ホストへのスキャンになるということです。
運用リスク:認証を持たないAPIと悪用事例が示す隔離の必然性
認証を持たない/api/commandと、0.0.0.0に固定された待受
サーバーの実装を読むと、/api/commandはリクエストボディのcommandをそのまま実行関数へ渡します。認証チェックもトークン検証も、Flaskのbefore_requestフックもありません。READMEの注意書きも「本番配備では認証の実装を検討せよ」と述べるにとどまり、機能としては用意されていません。
問題は待受アドレスです。コード先頭には環境変数HEXSTRIKE_HOST(既定127.0.0.1)を読む変数がありますが、この値は起動バナーの表示に使われるだけで、実際の起動行はapp.run(host="0.0.0.0", port=API_PORT, debug=DEBUG_MODE)とホストがハードコードされています。
これを机上ではなく実環境で確かめました。2026年10月15日、上流のサーバーを隔離した専用ネットワーク上のコンテナで、あえてHEXSTRIKE_HOST=127.0.0.1を指定して起動したところ、起動バナーは「Server starting on 127.0.0.1:8888」と表示する一方、Flask(werkzeug)のログは「Running on all addresses (0.0.0.0)」と出力し、ss -tlnpでも0.0.0.0:8888でLISTENしていました。別ホストから認証ヘッダなしで/api/commandへ簡単なコマンドを送ると、そのまま実行結果が返りました。環境変数で待受を127.0.0.1へ絞ったつもりでも、実際には全インターフェースで待ち受けているということです。
つまりpython3 hexstrike_server.pyを叩いた時点で、同一ネットワークから認証不要のリモートコード実行窓口へ到達できる状態です。バナーを信じてファイアウォールを省略しないでください。実行ホストはインバウンドを遮断した専用VMに置き、複数人で使うならサーバーは各自の端末で動かすか、SSHポートフォワードで転送します。診断ツールの実行基盤が現場で最も脆い箇所になっては本末転倒です。
脆弱性公開後12時間に観測された悪用議論とCheck Point報告の事実関係
2025年9月2日、Check Point Researchは、地下フォーラムでHexStrike-AIを使った悪用手法が議論されている状況を報告しました。話題の中心はCitrix NetScalerの脆弱性3件で、CVE-2025-7775(未認証リモートコード実行)、CVE-2025-7776、CVE-2025-8424がいずれも2025年8月26日に公開されました。うちCVE-2025-7775は公開時点ですでに実環境で悪用され、侵害されたアプライアンス上でwebshellが観測されていた1件です。
Check Pointが観測したのは、この3件の脆弱性が公開されてから12時間のあいだに地下フォーラムでHexStrike-AIの利用が議論されていたことで、12時間の起点は脆弱性の公開です。攻撃者は「悪用までの時間を数日から10分未満へ短縮できる」と主張していました。ここは引用の精度が大事です。Check Pointが直接確認したのはフォーラム上の投稿と、CVE-2025-7775に対するwebshellの存在であり、そのwebshellがHexStrike-AIによるものだと立証したわけではありません。CVE-2025-7776とCVE-2025-8424については実攻撃を確認できていないとも明記しています。また「10分未満」という数字は攻撃者側の主張で、Check Pointが計測した値ではありません。防御の判断材料にするときは、観測された事実と攻撃者の主張を混ぜないでください。脆弱性そのものの読み方は脆弱性とは?種類・CVE/CVSSの仕組みと発見から修正までの実務を解説で整理しています。
レッドチーム運用で外せない所有権・スコープ・隔離の前提
この事例が示すのは、ツールの善悪ではなく導線の短さです。防御側が同じツールを使うなら、運用規程を先に固めておく必要があります。最優先は対象資産の所有権、または書面での実施許可です。次に実行環境の分離で、業務ネットワークから切り離した専用VMに置きます。/api/commandという任意実行の口を抱えている以上、サーバーを診断対象と同一セグメントに同居させる構成も避けてください。こうした許可取得・スコープ合意を前提にした外部診断は、脆弱性診断・セキュリティ診断として専門のチームへ委ねる選択肢もあります。
READMEも「AIエージェントは任意のセキュリティツールを実行できる」と明記し、隔離環境または専用の診断用VMでの実行を求めています。プロンプト側にも作法があり、いきなり「このサイトをペネトレーションテストして」と書くとモデルの安全フィルタで拒否されます。自分の役割と対象の所有関係を先に述べてから依頼してください。
公称98.7%・誤検知2.1%の読み方と第三者評価とのギャップ
READMEには成功指標として、脆弱性検出率98.7%(手動テスト85%比)、誤検知率2.1%(従来型スキャナ15%比)、攻撃ベクトルカバレッジ95%、CTF成功率89%(人間の専門家平均65%比)が並びます。あわせて、サブドメイン列挙が2〜4時間から5〜10分へ、レポート生成が4〜12時間から2〜5分へ短縮されるという比較表も掲載されています。
これらはすべてREADMEの自称値で、測定条件・対象・試行回数はどこにも書かれていません。同じくREADME末尾には「4000+の脆弱性テンプレート」「稼働率99.9%」も並びますが、後者は単一のFlaskアプリに対する数値で、根拠となる計測期間の記載がありません。検証手順が公開されていない数値を、そのまま社内の導入根拠に使うことは勧められません。
対照的なのが、Ostorlabが公開したオープンソースAIペンテストツールの実地比較です。2026年1月30日に公開され、2026年10月6日の更新で対象が9ツールへ広がりました。同社はvulnbankという検証用の銀行アプリに対して各ツールを走らせており、その評価でHexStrike AIは「MCPサーバーであって単体の診断エンジンではなく、ClaudeやGPTのような外部AIクライアントが必須」と位置づけられ、自律テスターとしては実行対象から外されています。実際に成果を出したのはStrixとRedAmonで、RedAmonはサーバーサイドの不備を連鎖させて管理者権限の取得まで到達したと報告されています。以前の版で有力とされたCybersecurity AI(CAI)も重大な脆弱性を検出したものの、2026年8月にリポジトリがアーカイブされました。同じ比較ではPentestGPTとは?v1.0の構成・導入手順と同名別製品の見分け方で扱ったPentestGPTは設定したモデルではなくOpenAIへ戻ってしまい、PentAGIとは?v2.2の導入手順とCVE-2026-14784後のDocker権限設計のPentAGIは複雑なセットアップで実行に至らなかったとされています。この比較でHexStrike AIは、外部AIクライアントが必須という構成上の理由で自律テスターとしての試験対象から外されており、精度を直接比較されたわけではありません。評価元のOstorlab自身が診断製品を提供する事業者で、試験は単一の検証用アプリに対する特定の設定での結果という限界も開示されています。導入可否は、こうした条件を踏まえたうえで自社の用途に照らして判断してください。
v7.0ロードマップの現在地:Docker・ワンコマンド導入・デスクトップ版
ここは解説記事で読み違えられやすい部分です。READMEには「HexStrike AI v7.0 – Release Coming Soon!」という見出しの下に、ワンコマンド導入、Dockerコンテナ対応、250以上へのエージェント拡張、ネイティブデスクトップクライアント、メモリ使用量40%削減などが列挙されています。これらはすべて未リリースの予告であって、v6.0の機能ではありません。
| 項目 | v6.0(現行) | v7.0(予告のみ) |
|---|---|---|
| 統合ツール数 | 150+ | 250+ |
| 導入方法 | git clone+pip3/Kaliはapt | ワンコマンド導入 |
| Docker | Dockerfileなし | コンテナ対応 |
| GUI | なし | デスクトップクライアント |
| 提供状況 | 入手可 | 2026-10時点で未提供 |
リポジトリのルートにあるのはライセンス、README、assets、MCP設定サンプル、Pythonファイル2本、requirements.txtだけで、Dockerfileもcompose定義もありません。「Docker対応」と書かれた解説は、ロードマップを現行機能として読み違えています。デスクトップ版の配布元とされる www.hexstrike.com も、2026年10月時点ではGitHubリポジトリへ301リダイレクトするだけで、配布ページは存在しません。
コード更新が2025年9月で止まっている事実と合わせれば、v7.0を待って導入判断を保留する意味は薄いでしょう。現行v6.0で要件を満たすかどうかで判断し、GUIやコンテナ化が必須ならほかのツールを選ぶのが現実的です。通信傍受を軸に据えるならBurp Suiteとは?通信傍受の仕組みとエディションの選び方・初期設定のような成熟したツールのほうが実務では扱いやすい場面も多くあります。
よくある質問
HexStrike AIは商用利用できますか?
ライセンスはMITで、商用利用・改変・再配布が可能です。ただしLICENSEファイルがリポジトリに追加されたのは2026年3月6日で、それ以前はREADME上の記載のみでした。古いフォークを使う場合はライセンス表記の有無を確認してください。READMEは開発元をOTT Cybersecurity LLCと明記していますが、商用サポートの窓口は示されておらず、問い合わせ先はGitHubのIssueに限られます。2026年10月15日時点でオープンなIssueは61件、未マージのプルリクエストは55件です(APIのopen_issues_countが返す116件は両者の合算値です)。
Dockerで動かせますか?
公式にはできません。リポジトリにDockerfileもcompose定義も含まれておらず、コンテナ対応はv7.0の予告項目です。どうしてもコンテナで動かすなら、Python 3系のイメージにrequirements.txtを入れて自作することになりますが、150本のセキュリティツール本体もイメージ内に用意する必要があるため、Kaliのイメージを基点にする方が現実的です。
本家のGitHubリポジトリはどれですか?
0x4m4/hexstrike-ai が本家です。READMEの著者表記はm0x4m4で、www.0x4m4.com が個人サイトとして記載されています。公式サイトとして書かれている www.hexstrike.com はGitHubリポジトリへ転送されるため、実質的な情報源はリポジトリだけです。フォークが2,600件以上あるので、検索結果で別アカウントのコピーを掴まないよう注意してください。
Windowsでも動きますか?
READMEの手順にはWindows向けの仮想環境有効化コマンドがコメントで併記されており、Pythonサーバー自体の起動は想定されています。ただし呼び出すセキュリティツール群の多くはLinux向けで、Kaliのように主要ツールが揃った環境と最も相性が良いです。Windowsで試すならWSL2上のKaliを使う方が、依存解決の手間が小さく済みます。
v6.0とv7.0の違いは何ですか?
v7.0はまだ存在しません。READMEに改善予定が列挙されているだけで、リリースもタグも公開されていません。現行のv6.0という表記自体もREADME内の記述で、GitHubのリリースページには成果物が0件です。「v6.0で250エージェントに拡張された」という説明を見かけたら、ロードマップの読み違いだと判断して構いません。