Hello there, ('ω')ノ
AI が外部ツールを直接操作できたら便利だと思いませんか?
ポイントは以下の3つです。
- MCP(Model Context Protocol)で AI とツールをつなぐ
- Kali Linux を Docker コンテナで安全に扱う
- Claude Desktop から侵入テストを実行させる
1. MCP(Model Context Protocol)とは?
MCP は AI と外部ツールを接続するための共通ルール(プロトコル)です。
通常の AI は文章を生成するだけですが、MCP を使うと次のようなことができます。
- AI が「どのツールを使うべきか」を判断
- 実際にコマンドを実行
- 実行結果を読み取り、要約・分析
つまり、AI が 実務ツールを操作するアシスタントになります。
2. なぜ Kali Linux をコンテナ化するのか?
Kali Linux は侵入テスト専用の Linux ディストリビューションです。
ただし、そのまま使うと次の問題があります。
- 環境構築が重い
- ホスト OS を汚しやすい
- 使い捨てしにくい
そこで Docker を使います。
Docker を使うメリット
- 必要なツールだけ入れた軽量環境
- 壊してもすぐ作り直せる
- AI 用の実験環境として安全
3. 全体構成
今回作る構成は以下の通りです。
- Docker コンテナ
- Kali Linux
- nmap などの侵入テストツール
- MCP サーバ(Python)
- Claude Desktop
- MCP サーバに接続
- 自然言語でスキャン指示
4. MCP サーバの実装(Python)
MCP サーバは Python で作ります。
FastMCP という軽量な MCP 実装を使います。
必要なライブラリ
pip install fastmcp
最小構成の MCP サーバ例
from fastmcp import FastMCP
import subprocess
mcp = FastMCP("kali-mcp-server")
@mcp.tool()
def nmap_scan(target: str) -> str:
"""
nmap を使って TCP ポートをスキャンする
"""
result = subprocess.run(
["nmap", "-A", target],
capture_output=True,
text=True
)
return result.stdout
if __name__ == "__main__":
mcp.run()
このコードでやっていることは単純です。
- AI から
nmap_scanが呼ばれる - コンテナ内で nmap を実行
- 結果を文字列で返す
5. Dockerfile の作成
次に Kali Linux をベースにした Docker イメージを作ります。
Dockerfile の例
FROM kalilinux/kali-rolling
RUN apt update && \
apt install -y nmap python3 python3-pip && \
pip3 install fastmcp
WORKDIR /app
COPY server.py /app/server.py
CMD ["python3", "server.py"]
ビルドと起動
docker build -t kali-mcp .
docker run -it kali-mcp
これで Kali + MCP サーバが起動します。
6. Claude Desktop から接続する
Claude Desktop は MCP に対応しています。
設定ファイルで、起動中の MCP サーバを登録します。
設定後、Claude に次のように話しかけます。
quick scan with aggressive nmap tcp ports on 10.10.10.10
すると Claude は次の流れで動きます。
- 要求内容を理解
- nmap が必要だと判断
- MCP サーバ経由で nmap 実行
- 実行結果を解析
- 分かりやすく説明
7. 実際にできること
この構成で、次のようなことが可能になります。
- ポートスキャン
- サービスの特定
- 脆弱そうなポイントの洗い出し
- スキャン結果の自動レポート化
コマンドを覚えていなくても、日本語や英語で指示するだけで進められます。
8. 注意点(重要)
この仕組みは非常に強力です。
必ず次を守ってください。
- 自分が所有・許可された環境のみを対象にする
- 公開サーバで無断スキャンしない
- MCP サーバを外部公開しない
侵入テストは 学習・検証目的のみに限定しましょう。
9. まとめ
- MCP を使うと AI がツールを直接操作できる
- Kali Linux は Docker で扱うと安全で便利
- Claude は侵入テストの補助役として非常に優秀
- 初学者でも「何をすべきか」を AI が導いてくれる
AI 時代の侵入テスト学習環境として、とても相性の良い構成です。
まずはローカルや演習用環境で試してみるのがおすすめです。
Best regards, (^^ゞ