mcpField
C
cybersec-toolkit

cybersec-toolkit

ローカル
github.com/26zlセキュリティ855 日前に更新

cybersec-toolkit について

CTF、ペネトレーションテスト、バグバウンティ、DFIR、ブルーチーム業務向けの、運用者と AI エージェント用セキュリティツールキットです。670 種以上のツールを導入でき、通常は使い捨ての Kata Containers VM 上で、ポリシーに沿って MCP 経由で実行します。自律実行は明示的に許可した場合のみ有効です。

主な機能

  1. 0118 モジュールにまたがる 670 種以上のツールを導入
  2. 02発見・実行用の MCP ツールを 15 個提供
  3. 03Kata VM サンドボックスを標準で使用
  4. 04許可リスト、引数、ネットワークを制御
  5. 05セキュリティ業務向け Agent Skills を 872 件収録

活用シーン

  1. 01CTF の課題に合うツールの探索
  2. 02許可されたペネトレーションテストの実施
  3. 03バイナリのトリアージと DFIR 調査
  4. 04ブルーチームやバグバウンティ業務の支援

MCP 対応

MCP サーバーは、導入済みセキュリティツールの発見、提案、実行に使う 15 個のツールを公開します。実行は許可リストとポリシーチェックで管理され、標準では使い捨ての Kata Containers VM 内で行われます。外部ターゲットとスクリプト実行は初期状態で無効です。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"26zl-cybersec-toolkit": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"CYBERSEC_MCP_ALLOW_EXTERNAL",
"-e",
"CYBERSEC_MCP_ALLOW_SCRIPTS",
"ghcr.io/26zl/cybersec-toolkit:1.4.0"
],
"env": {
"CYBERSEC_MCP_ALLOW_EXTERNAL": "<CYBERSEC_MCP_ALLOW_EXTERNAL>",
"CYBERSEC_MCP_ALLOW_SCRIPTS": "<CYBERSEC_MCP_ALLOW_SCRIPTS>"
}
}
}
}
起動コマンドdocker run -i --rm -e CYBERSEC_MCP_ALLOW_EXTERNAL -e CYBERSEC_MCP_ALLOW_SCRIPTS ghcr.io/26zl/cybersec-toolkit:1.4.0
設定が必要な環境変数
CYBERSEC_MCP_ALLOW_EXTERNALSet to 1 only for explicitly authorized external scopes.
CYBERSEC_MCP_ALLOW_SCRIPTSSet to 1 to enable unsandboxed run_script execution.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/26zl/cybersec-toolkit:1.4.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

CI Integration Security OpenSSF Scorecard Last commit License: MIT Docker image Glama score

    /\   /\        ______      __              _____
   (o ) ( o)      / ____/_  __/ /_  ___  _____/ ___/___  _____
    \ \_/ /      / /   / / / / __ \/ _ \/ ___/\__ \/ _ \/ ___/
  <==\   /==>   / /___/ /_/ / /_/ /  __/ /   ___/ /  __/ /__
     \ V /      \____/\__, /_.___/\___/_/   /____/\___/\___/
     /_ _\           /____/                          by 26zl
      |_|                     Toolkit

AI エージェントが、設定したルールに従って操作できるセキュリティツールキットです。 1 つのコマンドで、Linux または Termux に 670 以上のセキュリティツールをインストールできます。MCP(Model Context Protocol) サーバーにより、Claude Code、Codex、Gemini CLI、OpenCode などの MCP クライアントがツールを検出、推奨し、デフォルトでは使い捨ての Kata Containers VM 内で、管理された実行経路を通じて実行できます。872 のエージェントスキルが、CTF、ペネトレーションテスト、バグバウンティ、DFIR、ブルーチームの作業方法を提供します。

コンポーネント内容
インストーラー18 モジュール、14 プロファイル、12 のインストール方法で 670 以上のツールを提供。Debian/Ubuntu/Kali/Parrot、Fedora/RHEL、Arch、openSUSE、Termux に対応
MCP サーバー検出、助言、管理された実行のための 15 のツールを提供。外部ターゲットとスクリプトの実行はデフォルトで無効
サンドボックスデフォルトではセッションごとに 1 つの Kata Containers VM を使用。--local を指定すると、サーバーをホスト上で実行
エージェントスキル872 のスキル(プロジェクト作成が 31、厳選が 841)。Claude Code プラグインとしてもインストール可能

他との違い: ほとんどのツールキットは、ツールの インストール までで終わります。このツールキットでは、AI がツールを 操作 することもできます。問題の種類を推測し、すべてのモジュールとプロファイルからツールを選び、手順を追って一緒に問題に取り組みます。明示的に許可すると、同じツールチェーンで自律型のソルバーループを実行できます。デフォルトでは伴走型。自律動作は依頼された場合のみ。 Kali、Parrot、BlackArch を置き換えるのではなく、補完するものです。Termux を含む、すでにお使いのマシン上で動作します。

クイックスタート · 仕組み · 信頼と安全性 · インストーラー · MCP サーバー · エージェントスキル · 開発 · ライセンス

クイックスタート

1. ツールをインストールします。サポートされている Linux ディストリビューションまたは Termux にインストールします。

git clone --depth 1 --branch v1.4.0 https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit
./install.sh --doctor             # read-only preflight: distro, prerequisites, MCP server, sandbox
sudo ./install.sh --profile ctf   # one profile; with no flags, all 18 modules

2. AI クライアントを接続します。 Claude Code(GitHub Copilot CLI からも読み込まれる .mcp.json)、Codex、Gemini CLI、OpenCode 用の追跡対象設定では、外部ターゲットとスクリプトの実行を無効にした状態で、scripts/mcp-launch.sh を使ってサーバーを起動します。ツールの実行場所を選択してください。

モードツールの実行場所ホストに必要なもの初回セットアップ
サンドボックス(デフォルト)使い捨ての Kata VM 内、サンドボックスイメージからKVM を搭載した Linux、Kata ランタイムを備えた Docker 23+、Node.js 22+make sandbox-image、続けて npm --prefix sandbox ci --ignore-scripts
ホスト(--local)install.sh でインストールしたツールを使い、ユーザーとして実行uvランチャーに --local を追加するか、クライアントの env で CYBERSEC_SANDBOX_MODE=local を設定

Kata には KVM が必要です。macOS、Windows、およびネストされた仮想化に対応していない VM では、ホストモードを使用してください。

3. クライアントを再起動します。 15 個のツールが表示されます(Claude Code では /mcp)。次に、「このバイナリをトリアージして」や「10.10.0.0/24 にあるラボの攻撃対象領域をマッピングして」のように、必要なことを依頼してください。

仕組み

2 つのエントリーポイントが、1 つのツールレジストリを共有します。__オペレーター__は bash インストーラーを実行して、ホスト上またはビルド時にサンドボックスイメージ内へツールを配置します。__AI エージェント__は MCP サーバーと通信します。デフォルトでは Kata VM 内で実行されるこのサーバーを通じて、単一の管理された経路からツールを検出、推奨、実行します。tools_config.json は、モジュールが定義し、MCP アドバイザーが読み取る唯一の信頼できる情報源です。CI バリデーターは Python 側と bash 側の整合性を保ちます。

仕組み:オペレーターが bash インストーラーを実行してツールをディスクに配置し、AI エージェントが MCP サーバーを操作します。デフォルトでは Kata VM 内で実行されるこのサーバーが、ツールを検出、推奨、実行します。インストーラーと MCP サーバーは tools_config.json レジストリおよびインストール済みツールを介して連携し、security.py がツールの実行を管理し、CI バリデーターが Python 側と bash 側の整合性を保ちます。

実線の矢印は実行時またはインストール時のアクションを示し、破線の矢印は検証とコンテキストの関係を示します。クライアント設定はルート認識型ランチャーを介して渡されます。ランチャーは Sandcastle Kata プロバイダー(sandbox/kata.mjs)を通じて VM を起動します。--local を指定した場合は、ホスト上でサーバーを起動します。security.py は、シェルを呼び出すことなく、許可リスト、引数チェック、ネットワークポリシーを通じて run_tool と run_pipeline を管理します。run_script はデフォルトで無効になっている別の機能で、任意のコードを実行します。Agent Skills は実行経路の外部にあります。.claude/skills/ が正規の場所で、scripts/sync-skills.sh は、ポータブルなミラーを読み込むクライアント向けに .agents/skills/ を生成します。Mermaid のソース:assets/how-it-works.mmd。

信頼と安全性

実行されるものと、制限されるもの:

  • デフォルトで安全な MCP. CYBERSEC_MCP_ALLOW_EXTERNAL=0 は、プライベートまたはループバックの範囲に解決されないネットワークターゲットを拒否し、CYBERSEC_MCP_ALLOW_SCRIPTS=0 は run_script を無効にします。外部スコープとスクリプトの実行は明示的なオプトインです。
  • 管理された実行のための単一のゲート(mcp_server/security.py):レジストリの許可リスト、シェル不使用(create_subprocess_exec を使用し、shell=True は使用しません)、引数のサニタイズ、ツールごとのブロック対象フラグの拒否リスト(例:sqlmap --os-shell、nmap -iL、ファイル一覧・ターゲットへのインジェクションに使えるフラグ)、ターゲットとネットワークのポリシー、レート制限、出力上限、タイムアウトを適用します。このポリシーは、ターゲットとヘッダー、ワードリスト、出力先パス、ターゲット一覧フラグを区別できるだけの CLI 構文を把握しています。ツールの出力からターミナルエスケープシーケンスと LLM 制御マーカーを除去してからモデルに渡し、AI の読み手に向けられた行にはフラグを付けます。
  • ツールはデフォルトで使い捨て VM 内で実行されます。 起動ツールは、独自のカーネルを備え、オプションの CYBERSEC_SANDBOX_WORKSPACE マウントを除いてホストのファイルシステムにアクセスできず、Docker ソケットもなく、すべてのケイパビリティを削除した非 root ユーザーを使い、メモリ、CPU、プロセスに制限を設けた Kata Containers VM を起動します。クライアントが切断されると破棄されます。起動に失敗した場合はホスト上での実行にフォールバックせず、フェイルクローズします。--local は明示的なオプトアウトです。
  • 制限を把握してください。 VM はネットワーク境界ではありません。Docker ネットワークが接続できる先には VM からも接続でき、CYBERSEC_MCP_ALLOW_EXTERNAL は解決済みアドレスに対する事前チェックであってファイアウォールではありません(CYBERSEC_SANDBOX_NETWORK=none を設定するか、フィルタリングされたネットワークを使用してください)。VM 内でも、--local モードのホスト上でも、許可されたツールはサーバーユーザーの権限で実行され、一部のツールは子プロセスを起動したり、プラグインを読み込んだりします。
  • ツールの出力はモデルプロバイダーに送信されます。 ツールが出力する内容はすべて、スキャン結果、ページの内容、ターゲット上で見つかった認証情報や個人データも含め、AI クライアントに返され、クライアントが使用するモデルに送信されます。デフォルトではローカルの監査ログのみが秘匿化されます。クライアントが受け取る内容からも認証情報らしき文字列を秘匿化するには、CYBERSEC_MCP_REDACT_OUTPUT=1 を設定してください。エンゲージメントの規則でクライアントのデータを第三者と共有することが禁止されている場合は、ローカルモデルからサーバーを操作してください(AI クライアントを参照)。
  • リポジトリのフックは自動実行されます。 このリポジトリを Claude Code で開くと、追跡対象の .claude/settings.json 内のフックが実行されます。セッション開始時と各 Bash コマンドの実行前に scripts/agent-guard.sh が実行されます。フックはルーティングコンテキストまたは拒否の判定のみを出力し、ネットワーク通信は行わず、フェイルオープンで動作します。無効にするには CYBERSEC_AGENT_GUARD=0 を設定してください。
  • 漏えいのない監査証跡。 操作は、ユーザーの状態ディレクトリ内にある所有者のみ読み書き可能(0600)なローテーション形式のログ(デフォルトでは ~/.local/state/cybersec-tools-mcp/audit.log)に JSON 行として記録されます。スクリプト本体は保存されず、SHA256 と長さのみが保存されます。また、ツールの引数から認証情報らしき文字列が秘匿化されます。サンドボックス内のサーバーは記録を同じホストログにも複製し、記録をハッシュチェーンで連結するため、チェーン内で編集または削除された記録は make audit-verify で検出できます(制限事項)。
  • インストーラーでは最小権限を適用します。 root として実行されますが、クローンしたリポジトリのビルド、go/cargo/gem のビルド、およびプロジェクトのセットアップ手順(theHarvester、pwndbg)では、実行ユーザー($SUDO_USER)に権限を落とします。バイナリのリリースは、チェックサムが公開されている場合、SHA256 で検証されます。pipx によるインストール(共有の /opt/pipx へのインストール)とグローバルな npm のインストールは引き続き root として実行されるため、ビルドスクリプトとインストールスクリプトは root 権限で実行されます。サプライチェーンモデルを参照してください。Go バイナリは root 所有のファイルとして /usr/local/bin にコピーされます。cargo、gem、クローンしたリポジトリ、ソースからのビルド、patator、Foundry の各ツールは、実行ユーザーが所有するツリーへのリンクまたはラッパーとしてそこに配置されるため、そのユーザーはそれらのコマンドが実行する内容を変更できます。
  • デュアルユースのツールにはゲートを設けています。 C2 とフィッシングのフレームワーク(Sliver、Caldera、gophish、evilginx、…)はデフォルトで 無効 であり、--include-c2 を指定した場合のみインストールされます(redteam と full プロファイルではこのオプションが設定されます)。MCP レイヤーにもこれが反映され、ツールが自動実行されることはありません。
  • 使用は許可された範囲に限ります。 SECURITY.md、サプライチェーンモデル、免責事項を参照してください。

インストーラー

要件

サポート対象の Linux ディストリビューション(Debian/Ubuntu/Kali/Parrot、Fedora/RHEL、Arch、openSUSE)または Termux が必要です。ランタイム(Python、Go、Ruby、Java、Rust、Node.js)、開発ライブラリ、pipx、ビルドツールは自動的にインストールされます。インストーラーは macOS またはネイティブの Windows では動作しません。WSL または Docker を使用してください。

  • Docker は --enable-docker(C2 フレームワーク、MobSF、BeEF、BloodHound、TheHive、Cortex)と、Docker イメージがデフォルトで有効になる blueteam、redteam、blockchain、mobile プロファイルに必要です(プロファイルを参照)。Docker はご自身でインストールしてください:Docker Engine のドキュメント。
  • __GitHub 認証__を推奨します。インストーラーは約50個のリリースバイナリをダウンロードし、GitHub API を約50回以上呼び出します。未認証のリクエストは1時間あたり60回まで、認証済みのリクエストは5,000回までです。gh auth login のセッションを、sudo 実行時も含めて自動的に使用します。または、個人用アクセストークン(スコープは不要)を sudo 経由で渡してください。通常、sudo はトークンを引き継がないため、次のようにします:sudo --preserve-env=GITHUB_TOKEN ./install.sh。
インストール

最新リリースから(バージョン固定、推奨):

git clone --depth 1 --branch v1.4.0 https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit && sudo ./install.sh

main から(未リリースの作業を含む、最新のツールと修正):

git clone https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit && sudo ./install.sh

フラグを指定しない場合、インストーラーは全18モジュールの標準ツールを対象にします。プロファイルで有効にしない限り、C2/フィッシングツールと Docker イメージはオプトインのままです(プロファイルの Docker 列と C2 列を参照)。--profile full --enable-docker を指定すると、現在のプラットフォームでサポートされているすべての項目がインストールされます。一部のみをインストールするには:

sudo ./install.sh --profile ctf                      # CTF tools only
sudo ./install.sh --profile redteam --enable-docker  # Red team + Docker C2
sudo ./install.sh --module web --module recon        # Specific modules
sudo ./install.sh --tool sqlmap --tool nmap          # Individual tools
./install.sh --dry-run --profile ctf                 # Preview without installing; no root needed
./install.sh --doctor                                # Read-only preflight; no root needed
すべてのフラグ
./install.sh --help                     # Full help
./install.sh --list-profiles            # Show profiles
./install.sh --list-modules             # Show modules
sudo ./install.sh --skip-heavy          # Skip large/slow packages
sudo ./install.sh --skip-pipx           # Skip all pipx (Python) installs
sudo ./install.sh --skip-go             # Skip all Go tool installs
sudo ./install.sh --skip-cargo          # Skip all Cargo (Rust) installs
sudo ./install.sh --skip-gems           # Skip all Ruby gem installs
sudo ./install.sh --skip-git            # Skip all git clone installs
sudo ./install.sh --skip-binary         # Skip all binary release downloads
sudo ./install.sh --skip-source         # Skip build-from-source, snap, npm, and curl-pipe installs
sudo ./install.sh --fast                # Skip checksum verification (see Supply chain model)
sudo ./install.sh --require-checksums   # Fail if a binary release has no checksum file
sudo ./install.sh --production          # Strict checksum preset for release downloads
sudo ./install.sh --upgrade-system      # Upgrade system packages before installing
./install.sh --list-sessions            # List install sessions and exit
sudo ./install.sh --rollback <id|last>  # Roll back a session's tools (add --yes when not on a terminal)
./install.sh --version                  # Show installer version and exit
sudo ./install.sh --enable-docker       # Pull Docker images
sudo ./install.sh --include-c2          # Include C2/phishing frameworks (Empire also needs --enable-docker)
sudo ./install.sh -j 8                  # 8 parallel install jobs (default: 4)
sudo ./install.sh -v                    # Verbose / debug output

--tool は、完全な依存関係セットアップを行わずに、指定したツールのみをインストールします。ドライランの所要時間の見積もりは、方法ごとのインストール項目数を数えるため、重複を除いた670以上のツールレジストリの数を上回る場合があります。

調整用の変数(環境変数):GITHUB_TOOL_DIR(デフォルトは /opt、Termux では ~/tools)はリポジトリのクローン先を設定します。GO_MIN_VERSION(デフォルトは 1.21)、PYTHON_MIN_VERSION/PYTHON_TRY_MAX(3.11/3.13)、NODE_MIN_VERSION(22)は、ブートストラップで受け入れるランタイムのバージョンを設定します。ZYPPER_REFRESH_ATTEMPTS/ZYPPER_REFRESH_DELAY(3 回/15 秒、間隔は倍増)は openSUSE のメタデータ再試行を調整します。CYBERSEC_ZYPPER_AUTO_IMPORT_KEYS=1 は更新時に新しいリポジトリキーを信頼します(サプライチェーンモデルを参照)。PKG_AUTOREMOVE=1 はパッケージ削除時に apt-get autoremove を追加します(remove.sh --remove-deps を指定すると設定されます)。

フルインストールに15~45分かかる理由

時間の大半は、どのスクリプト言語でも高速化できない I/O 待ちの作業に費やされます:

時間のかかる作業理由
システムパッケージ(apt/dnf).deb/.rpm パッケージのダウンロードと展開、および依存関係の解決
Go ツールモジュールのダウンロードと、各バイナリのコンパイル
pipx(Python)ツールごとに隔離された venv を作成し、wheel をダウンロード
Cargo(Rust)クレートソースからのコンパイル
Git クローン各リポジトリのクローン
バイナリリリースGitHub からのビルド済みバイナリのダウンロード

./install.sh --dry-run を実行すると、方法ごとの最新の内訳が表示されます。pipx、Go、git、バイナリのインストールは並列実行されます(デフォルトは -j 4)。システムのパッケージマネージャー、Cargo、gem、npm、ソースからのビルドは順次実行されます。高速化するには、すべてではなくプロファイルまたは --module をインストールし、--skip-cargo で Rust のコンパイルを避け、-j 8 で並列ジョブ数を増やし、繰り返しインストールする場合は apt-cacher-ng プロキシを使用してください。

### Docker と Podman

ビルド済みイメージは Ubuntu 上のインストーラーであり、サンドボックスではありません。デフォルトのコマンドは、full プロファイルのドライランです。

docker run --rm ghcr.io/26zl/cybersec-toolkit                                  # preview only
docker run -it --name cybersec --entrypoint bash ghcr.io/26zl/cybersec-toolkit  # keep a container
sudo ./install.sh --profile ctf                                                # inside it; reattach with: docker start -ai cybersec

docker build -t cybersec-toolkit . で自分でビルドするか、同梱の Compose ファイルを使って docker compose run --rm installer --profile ctf で一時的なインストールを実行してください。Apple シリコンでは、docker build と docker run に --platform linux/amd64 を追加してください。Podman はそのまま置き換えて使用できます(podman compose には Compose プロバイダーが必要です)。イメージでは toolkit ユーザーにパスワードなしの sudo 権限を付与しているため、パッケージを管理できます。イメージ内のコードは root 権限を持つものとして扱ってください。

Termux(Android)
pkg install git
git clone https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit
./install.sh --profile lightweight
プロファイル
プロファイルモジュールDockerC2説明
full18 個すべて—はい完全なセキュリティツールキット
ctfmisc、crypto、pwn、reversing、stego、forensics、cracking、web、mobile、blockchain——CTF 競技会
redteammisc、networking、recon、web、enterprise、pwn、mobile、cracking、cloud、wireless、reversing、cryptoはいはい攻撃的セキュリティ
webmisc、networking、recon、web、llm——Web アプリケーションのテスト
osintmisc、recon——OSINT 調査
forensicsmisc、forensics、blueteam、reversing、stego、cracking——デジタルフォレンジックとインシデント対応
pwnmisc、pwn、reversing、crypto——バイナリーのエクスプロイトとリバースエンジニアリング
mobilemisc、mobile、web、reversingはい—モバイルアプリケーションのセキュリティテスト
cloudmisc、cloud、containers、networking、recon——クラウドとコンテナーのセキュリティ監査
blockchainmisc、blockchain、web、cryptoはい—スマートコントラクトの監査とブロックチェーンのセキュリティ
wirelessmisc、wireless、networking——WiFi、Bluetooth、SDR のセキュリティ
lightweightmisc、networking、recon、web、cracking——趣味で倫理的なハッキングを行うための必須ツール(HTB、THM、バグバウンティ)
crackstationmisc、cracking、crypto——ハッシュのクラッキング
blueteammisc、blueteam、forensics、reversing、mobile、containers、networking、cloud、reconはい—防御的セキュリティ、インシデント対応、マルウェア解析

Docker と C2 は、各プロファイルでデフォルトで有効になる機能を示しています。Docker を有効にするプロファイルは、Docker がインストールされていない場合、エラーで停止します。先に Docker をインストールするか、プロファイルの代わりに --module を使って同じモジュールを選択してください。

モジュール
モジュールツール説明
misc40ポストエクスプロイテーション、ソーシャルエンジニアリング、ワードリスト、リソース、C2(Docker + Loki)
networking57ポートスキャン、パケットキャプチャ、トンネリング、MITM、プロトコルツール
recon82サブドメイン列挙、OSINT、DNS、自動化された偵察フレームワーク
web60脆弱性スキャン、ファジング、SQLi、XSS、CMS スキャナー、API テスト
crypto15RSA 攻撃、暗号分析、ハッシュ攻撃、制約充足
pwn36エクスプロイトフレームワーク、バイナリエクスプロイト、ファジング、ペイロード生成
reversing34逆アセンブラー、デバッガー、エミュレーション、Java/Python リバースエンジニアリング
forensics59ディスク/メモリフォレンジック、ファイルカービング、タイムライン分析、ログ分析、ハードウェア/シリアル
enterprise81Active Directory、Kerberos、Azure AD、認証情報の窃取、ラテラルムーブメント
wireless41WiFi クラッキング、Bluetooth、SDR、不正 AP
cracking34ハッシュクラッキング(john、hashcat)、ブルートフォース、ワードリスト生成
stego15画像/音声ステガノグラフィ、検出、StegCracker
cloud22AWS/Azure/GCP セキュリティ監査、Checkov
containers15Docker/Kubernetes セキュリティ(Grype、Syft、Kubescape、kubeaudit)
blueteam40IDS/IPS、SIEM、インシデント対応、脅威インテリジェンス、堅牢化、マルウェア分析(YARA、ClamAV、FLOSS、Capa、Loki)
mobile18Android/iOS アプリテスト、APK 分析、MobSF(Docker)
blockchain15スマートコントラクト監査(Slither、Mythril、Foundry、Aderyn)、ブロックチェーンフォレンジック、Echidna(Docker)
llm14LLM レッドチーミング、プロンプトインジェクション、ジェイルブレイクテスト、AI 脆弱性スキャン
インストール方法 — 優先順位:apt > pipx > go > cargo > binary > gem > Docker > git clone > source
方法数例
Git クローン193自動セットアップ、リソース、ワードリストを備えた GitHub リポジトリ
システムパッケージ(apt/dnf/pacman/zypper)168nmap、wireshark、john、hashcat
pipx137sqlmap、impacket、bloodhound、volatility3
Go install63nuclei、subfinder、ffuf、httpx
バイナリリリース54gitleaks、chainsaw、findomain、FLOSS、Capa、Loki、Syft、Kubescape
ソースからビルド25massdns、duplicut、AFLplusplus、honggfuzz
Docker13Empire、MobSF、BeEF、BloodHound、TheHive、Cortex、PentAGI
Cargo(Rust)8feroxbuster、RustScan、pwninit、yara-x-cli
Ruby gem6wpscan、evil-winrm、brakeman
npm6promptfoo、apk-mitm、surya、solgraph、rea-agents
特殊5Metasploit、Foundry、Steampipe、patator(curl-pipe インストーラー)、crypto venv ブートストラップ
Snap1zaproxy
### インストール後のスクリプト

すべてのスクリプトは --help と --version に対応しています。Linux では、update.sh と remove.sh の実行には root 権限(sudo)が必要です。また、backup.sh schedule と unschedule の実行にも root 権限が必要です。verify.sh とその他の backup.sh コマンドは、ユーザー権限で実行します。Termux では root 権限は不要です。ターミナルを使わずに実行する場合は、remove.sh(および install.sh --rollback)に --yes を渡してください。

スクリプト目的例
scripts/verify.shインストール済みのツールを確認する./scripts/verify.sh --module web --skip-heavy
scripts/update.shこのツールキットがインストールしたツールを更新するsudo ./scripts/update.sh --skip-system
scripts/remove.shモジュールごとにツールを削除するsudo ./scripts/remove.sh --module enterprise --yes
scripts/remove.sh --deep-cleanツールキットのすべてのツールを削除し、キャッシュとビルド成果物を消去するsudo ./scripts/remove.sh --deep-clean --yes
scripts/backup.shツールの設定をバックアップおよび復元する./scripts/backup.sh backup

完全に削除した後、--deep-clean を実行すると、Go モジュール/ビルドキャッシュ、Cargo レジストリ、pip/pipx/npm/gem キャッシュ、孤立した pipx 仮想環境、古いシンボリックリンク、ログファイルが削除されます。Rustup のツールチェーンも消去するには、--remove-deps を追加してください。

ツールの配置場所

システム以外のツールは、Linux では /usr/local/bin/、Termux では $PREFIX/bin に配置されます。システムパッケージはデフォルトの場所(/usr/bin/)を使用します。

方法バイナリの場所(Linux)バイナリの場所(Termux)データの場所
pipx/usr/local/bin/$PREFIX/bin//opt/pipx/ または ~/.local/pipx/
Go/usr/local/bin/$PREFIX/bin//opt/go/ または ~/.go/
Cargo/usr/local/bin/(シンボリックリンク)$PREFIX/bin/(シンボリックリンク)~/.cargo/
Git リポジトリ/usr/local/bin/(シンボリックリンク)$PREFIX/bin/(シンボリックリンク)/opt/<repo>/ または ~/tools/<repo>/
バイナリリリース/usr/local/bin/スキップ(glibc は Bionic と互換性がありません)--

.versions ファイルには、インストールされたもの、方法、日時が記録されます。

オプションの Docker イメージ(--enable-docker)

--enable-docker が設定されていて Docker が見つからない場合、インストーラーは停止し、先に Docker をインストールするよう求めます。

イメージモジュールフラグ説明
bcsecurity/empiremisc--enable-docker --include-c2Empire C2
spiderfoot/spiderfootmisc--enable-dockerSpiderFoot OSINT
beefproject/beefweb--enable-dockerBeEF ブラウザー悪用
opensecurity/mobile-security-framework-mobsfmobile--enable-dockerMobSF
specterops/bloodhoundenterprise--enable-dockerBloodHound CE
trailofbits/echidnablockchain--enable-dockerEchidna スマートコントラクトファザー
checkmarx/kics:latestcloud--enable-dockerKICS インフラストラクチャ・アズ・コードスキャナー
sagemath/sagemath:latestcrypto--enable-dockerSageMath(Coppersmith、Groebner 基底、曲線演算)
strangebee/thehive:latestblueteam--enable-dockerTheHive インシデント対応プラットフォーム
thehiveproject/cortex:latestblueteam--enable-dockerCortex 分析
zeek/zeek:latestblueteam--enable-dockerZeek ネットワーク分析
wagga40/zircolite:latestblueteam--enable-dockerZircolite EVTX 検出
vxcontrol/pentagi:latestllm--enable-dockerPentAGI 自律型ペネトレーションテスト
### ディストリビューションのサポート

__主な対象はDebian/Ubuntu/Kali__で、最も幅広くテストされています。KaliとParrotではaptパッケージ一式を利用できますが、通常のDebian/UbuntuではKali専用パッケージの一部がスキップされます。Fedora、Arch、openSUSEでは、各ディストリビューションのリポジトリにないパッケージ(lib/distro_compat.tsvの-の項目。各ディストリビューションにつき数十件)がスキップされ、統合ワークフローで実行されます。

プラットフォームステータス
WSLインストールとMCPの利用をサポートしています。ワイヤレスモジュールとカーネルレベルのパッケージはスキップされます。専用のCIジョブはないため、リリースに関わる変更はローカルのWSLディストリビューションで検証してください。リポジトリがWindowsのマウントパス上にある場合は、Windows Defenderの誤検知を参照してください。
ARM (aarch64/armv7)サポートしています。x86専用のバイナリリリースと、ソースからビルドするx86専用ツールは自動的にスキップされます。専用のCIジョブはありません。
Termux (Android)sudoなしでサポートしています。Docker、snap、バイナリリリース、およびソースからのビルドはスキップされます(Bionicとの互換性がありません)。専用のCIジョブはありません。
Windows (ネイティブ)サポートしていません。WSLを使用してください。
macOSインストーラーはサポートされていません。Dockerイメージを使用してください。MCPサーバーはホストモード(--local)でmacOS上で動作します。
その他のLinuxディストリビューションapt/dnf/pacman/zypperがないディストリビューション(NixOS、Gentoo、Void、Alpine、Slackwareなど)は検出され、明確なエラーを表示して処理が中止されます。Dockerイメージを使用してください。
インストーラーによる変更

パッケージのインストール以外にも、インストールによってシステムに変更が加えられることがあります。これらの変更はremove.shでは元に戻りません。

  • aptのソース: Metasploitリポジトリ(/etc/apt/sources.list.d/metasploit-framework.list。キーは/usr/share/keyrings/metasploit-framework.gpg)は、このツールキットがインストールしたMetasploitを削除する際にremove.shによって削除されます。また、NodeSourceのセットアップスクリプトによってNodeSourceリポジトリとキーが追加され、これらは残ります。削除後もaptはNodeSourceを信頼し続けるため、不要になった場合はソースを手動で削除してください。
  • Arch: /etc/pacman.confでParallelDownloadsが有効になります。
  • aptベースのディストリビューションのsnapd: snap専用ツールのためにインストールされます。
  • ランタイム: Go SDKは/usr/local/goに、rustup、cargo、uvは実行ユーザーのホームディレクトリにインストールされます。
  • /opt、/opt/pipx、/usr/local/bin内の__ツール__。

このツールキットがこのマシンにのみ保存するデータ:

  • チェックアウト内の.versions、.install_sessions/、*.log:インストールの来歴とログ。
  • ~/.local/state/cybersec-tools-mcp/:MCP監査ログとそのローテーションファイル、remote_hosts.json、およびエージェントガードのguard-session*マーカーとguard-denials.log。
  • ~/cybersec_tools_backup/:暗号化された設定バックアップ。
  • チェックアウト内のwriteups/(gitで無視されます)。

remove.sh --deep-cleanはキャッシュとチェックアウト内のログを削除しますが、MCPの状態ディレクトリ、バックアップ、writeupsは削除しません。不要になった場合は、これらを手動で削除してください。

サプライチェーンモデル

インストーラーはインターネットからコードをダウンロードして実行します。Linux では root(sudo)として実行され、Termux ではアプリのユーザーサンドボックス内で実行されます。

  • システムパッケージ:ディストリビューションのリポジトリ(apt、dnf、pacman、zypper、pkg)によって署名されています。openSUSE では、CI=true または CYBERSEC_ZYPPER_AUTO_IMPORT_KEYS=1 が設定されている場合に限り、zypper refresh は新しいリポジトリキーやローテーションされたリポジトリキーを自動的に信頼します。
  • pipx/Go/Cargo/Gem/npm:署名検証なしで各レジストリから取得されます。pipx のツールは venv 内で分離されます。Go、Cargo、Gem のビルドは実行ユーザーとして実行されます。pipx とグローバル npm のインストールは root として実行されるため、パッケージのビルドバックエンドと npm のライフサイクルスクリプトは root 権限で実行されます。
  • バイナリリリース:上流のチェックサムファイル、GitHub リリースの正確なアセットダイジェスト、または lib/release_checksums.tsv 内のレビュー済みリポジトリ/タグ/アセットのチェックサムを使用して SHA256 検証されます。不一致があれば必ず失敗します。--require-checksums または --production を指定した場合、検証データが利用できないときも失敗します。これらのチェックで確認できるのはダウンロードの完全性であり、独立した配布元の認証ではありません。--fast は通常のリリース検証を省略し、厳格なフラグと併用できません。プライベートなランタイム依存関係は常に検証が必要です。
  • ランタイムのブートストラップ:rustup、uv、cargo-binstall のインストーラーと NodeSource のセットアップスクリプト(root として実行)は HTTPS 経由で取得され、実行前に健全性がチェックされますが、署名検証は行われません。厳格モード(--production/--require-checksums)では、rustup、uv、cargo-binstall のインストーラーが root として実行される場合(つまり、通常ユーザーから sudo なしで実行される場合)はスキップされます。また、NodeSource のスクリプトは常にスキップされ、ディストリビューションの署名済み nodejs/npm が優先されます。その後、cargo-binstall は利用可能な場合、ビルド済みの Rust バイナリをダウンロードします。新しいホストで --skip-source を指定すると、そのインストーラーはスキップされるため、Rust ツールは crates.io からコンパイルされます。
  • Go SDK:API に接続できる場合は go.dev を参照して SHA256 検証されます。厳格モードでは、接続できない場合に失敗します。
  • Git リポジトリ:HEAD の状態でクローンされます。リポジトリ独自の setup.py は実行されません。requirements.txt は実行ユーザーとしてリポジトリごとの venv にインストールされます。このとき依存関係の sdist がビルドされる場合があります。また、厳格モード(--production または --require-checksums)以外では、ピン留めされたインストールが失敗すると、== を >= に緩和して再試行します。
  • ソースからのビルド:make は root ではなく実行ユーザーとして実行されます。ビルドする内容を確認してください。
  • MCP の Python 依存関係:uv によって 3 日間の exclude-newer ウィンドウを設定して解決され、Dependabot も同じ 3 日間待機します。これはセキュリティツール自体には適用されず、セキュリティツールはそれぞれの上流リリースチャネルに従います。
  • Toolkit の Docker イメージ:Ubuntu と uv はダイジェストで固定されています。apt パッケージは現在の署名済み Ubuntu リポジトリから解決されるため、再ビルドしてもビット単位で同一にはなりません。
  • オプションのツールイメージ:変更可能なタグで取得され、そのうち複数は latest です。--production では固定も検証も行われません。

--production では、Git のクローン、言語パッケージのレジストリ、ソースからビルドするツールは固定されません。これらはそれぞれの上流リリースチャネルに従います。

Windows Defender の誤検知

Windows からマウントされたパス(例:C:\Users\<you>\...、または WSL で作業中に Windows から参照できるフォルダー)では、Microsoft Defender やその他のウイルス対策製品によって個々のファイルが隔離されることがあります。.claude/skills/、writeups/、および mcp_server/ の一部にある IOC テーブル、難読化された PowerShell のサンプル、マルウェア分析のスニペット、エクスプロイト文字列には、実際の攻撃者が使用するものと同じバイトパターンが含まれています。よくある判定には、Trojan:Script/Wacatac.B!ml、HackTool:*、一般的な Heur.* などがあります。これらはセキュリティツールキットに対する誤検知です。

回避策
  1. リポジトリフォルダーを除外する(個人用の開発環境では推奨)。管理者権限で PowerShell を起動して、次を実行します。

    Add-MpPreference -ExclusionPath "C:\path\to\cybersec-toolkit"
    
  2. Windows セキュリティ → ウイルスと脅威の防止 → 保護の履歴 →「デバイスで許可」から、隔離されたファイルを復元する。これはファイルごとの設定であり、再検出は防げません。

  3. リポジトリを WSL のファイルシステム内に置く(例:~/cybersec-toolkit)。Defender は既定では WSL2 の仮想ディスクをスキャンしません。MCP サーバーについては、scripts/sync-wsl.sh がこれを行います。

Defender によって削除されたファイルは、git status で D と表示されます。除外設定を行った後、git checkout -- <path> で復元してください。

MCP サーバー

このサーバーは、MCP 対応クライアントに対して、670 以上のツールレジストリ、インストール状況、推奨事項への読み取りアクセスと、インストール済みツールの管理された実行を提供します。エージェントはすべてのツールと、利用可能なツール、およびツールの連携方法を把握できます。

対応クライアント

Claude Code、Codex、Gemini CLI、OpenCode、GitHub Copilot CLI は、追跡対象の設定を自動的に読み込みます。Claude Desktop、VS Code の Copilot、Hermes Agent、OpenClaw、DeepSeek Harness、Cursor、Cline、Goose、Continue、LM Studio は、それぞれ独自の MCP 設定を介して接続します。Ollama や Open WebUI は、MCP ホストまたはブリッジを介して接続します。クライアントごとのスキル検出状況とテスト状況を含む対応状況の一覧は、docs/AI_CLIENTS.md にあります。

任意の MCP クライアント間で複数のエージェントを連携させる方法については、docs/ORCHESTRATION.md をご覧ください。

このサーバーは io.github.26zl/cybersec-toolkit として公式 MCP Registry に公開されており、Glama にも掲載されています。

Glama 上の Cybersec Toolkit MCP サーバー

AI にできること
ツール説明
list_toolsモジュール、メソッド、インストール状況で 670 以上のすべてのツールを一覧表示/フィルタリングします(URL を含みます)
check_installedツールがインストールされているか確認します(6 種類の検出方法)
get_tool_infoメソッド、モジュール、URL、インストール/更新/削除コマンドなど、詳細情報を表示します
get_module_infoモジュールを詳しく調べます。すべてのツール、インストール状況、使用しているプロファイルを確認できます
get_profile_toolsプロファイルがインストールするすべてのツールを、モジュールごとにまとめて表示します
suggest_for_ctf14 種類の CTF チャレンジカテゴリに対応する、厳選されたツールを推奨します
suggest_for_bounty7 種類のターゲットに対応するバグバウンティ向けツールを、手法やよくある脆弱性とともに推奨します
guided_assessment許可されたターゲット向けの、コンパニオン型の解決支援です。ターゲット/検出事項を分類し、トリアージの判断基準を提示し、スキルを推奨し、すべてのモジュール/プロファイルからツールを選び、手順を追って案内します。オプトインの autonomous を有効にすると、run_tool、run_pipeline、個別に許可が必要な run_script を使う自動ソルバーループが開始されます
get_cve_infoCVE ID または通称(例:log4shell)を、厳選されたスキル、レジストリツール、モジュール、および NVD/KEV/EPSS の最新情報を取得するコマンドに対応付けます
recommend_install自然言語から、プロファイル/モジュール/ツールを推奨します
list_profiles14 種類すべてのプロファイルと、ツール数およびインストールコマンドを表示します
run_toolインストール済みのツールを安全に実行します(引数のサニタイズ、ネットワークポリシー、レート制限、監査ログに対応)。SSH 経由のリモート実行もサポートします
run_pipelineシェルを使わずにツールをパイプで連結します(strings binary | grep flag)
run_scriptスクリプトごとに仮想環境を選択して、明示的なオプトインの Python/Bash 実行を行います
manage_remote_hostsリモートツール実行用の SSH リモートホストを追加、削除、一覧表示、テストします
使用例 — 攻撃から防御までの完全なワークフロー

エージェントはすべてのツールとそのインストール状況を照会し、管理下にあるツール呼び出しを連鎖させ、出力を解析し、見つかった情報をもとに次の調査へ進めます。スクリプトの実行には個別のオプトインが必要です。

外部の偵察 → 攻撃対象領域(CYBERSEC_MCP_ALLOW_EXTERNAL=1 が必要です。許可されたスコープ内に限ります)
  • "target.com の攻撃対象領域を列挙し、悪用可能なものがあれば指摘して" — amass/subfinder を並行して実行 → httpx で名前解決とプローブ → whatweb でフィンガープリント → nuclei のテンプレートを実行 → ffuf でコンテンツを探索し、その後、露出度に基づいてホストをランク付けし、次の手順を提案します
  • "/go?url= にオープンリダイレクトが見つかった。悪用して" — curl で検証した後、SSRF/OAuth トークン窃取の PoC を作成し、悪用可能なコールバックを調査します
Web の悪用
  • "ログインエンドポイントの SQLi を確認して悪用して" — sqlmap で確認してダンプします(破壊的な --os-shell/--os-cmd はポリシーでブロックされます)。続いて run_script で認証バイパスを自動化し、PoC に必要な最小限のデータを取得します
  • "GraphQL のイントロスペクションが有効になっている。マッピングして IDOR を探して" — スキーマを取得してクエリを生成し、オブジェクト ID をファジングして、認証済みと未認証のレスポンスを比較します
Active Directory/内部ネットワーク
  • "10.10.0.0/24 の低権限認証情報から、Domain Admin への経路を探して" — Kali マシン上で SSH 経由(manage_remote_hosts のホストモード)により、bloodhound で情報を収集し、impacket(GetUserSPNs.py)で Kerberoasting を行い、hashcat で TGS をクラックしてから、netexec で横方向への移動を検証します
  • "DCSync 権限を確認し、経路が存在する場合はダンプして" — レプリケーション ACL を列挙し、続いて DC に対して secretsdump.py を実行します
バイナリの悪用とリバースエンジニアリング
  • "この 64 ビットバイナリ向けに ret2libc エクスプロイトを作成して" — checksec/readelf で初期分析し、ROPgadget でガジェットを探します。puts@plt 呼び出しで libc のアドレスをリークしてから、venv="pwntools" で pwntools の完全なチェーンを記述し、ローカルでシェルを起動します
  • "このシンボルが削除されたバイナリからアルゴリズムを復元して" — objdump/radare2 の逆アセンブル結果を対象を絞った分析にパイプで渡し、その後 run_script で実装し直して動作を検証します
#### 暗号技術
  • 「この RSA を解読してください — 小さな e、複数の暗号文」 — 攻撃(Håstad/共通法/Wiener)を検出し、venv 内の pycryptodome と sympy を使って解読し、平文を返します
  • 「この JWT は HS256 で、鍵が弱いです」 — 署名シークレットをクラックし、管理者トークンを偽造します
ブルーチーム・検知エンジニアリング
  • 「この手法の Sigma ルールを書いて、使用している SIEM 向けに変換してください」 — ルールを作成し、sigma-cli を使って対象のバックエンド(Splunk/Elastic)向けに出力します
  • 「この Windows イベントログを調べて、横展開を探してください」 — Sigma ルールを使って EVTX を chainsaw で解析し、検出結果をホストとタイムラインごとに要約します
  • 「これらのサンプルから YARA ルールを作成し、ディレクトリツリーをスキャンしてください」 — yara シグネチャを生成し、再帰的に実行します
DFIR・マルウェアのトリアージ
  • 「このメモリダンプのタイムラインを作成してください」 — volatility3 のプラグイン(pslist、netscan、malfind)をまとめて実行し、結果をひとつの説明にまとめます
  • 「この pcap から C2 のビーコン通信を探してください」 — tshark/tcpdump で抽出 → suricata ルール → 周期的なコールバックにフラグを付けます
  • 「この不審なファイルを静的解析でトリアージしてください」 — file → strings → capa/yara の順に実行し、IOC を抽出して情報を補完します
クラウド・コンテナ・運用
  • 「この AWS アカウントの公開 S3 とリスクの高い IAM を監査してください」 — prowler/scoutsuite を実行し、重大度の高い検出結果のみを表示します
  • 「デプロイ前にこのイメージと k8s マニフェストをスキャンしてください」 — イメージを grype でスキャンし、kubescape で設定をチェックします
  • 「レッドチームの対応範囲を確認して、不足を補ってください」 — get_profile_tools("redteam") の結果とインストール状況を比較し、正確なインストールコマンドを出力します
モバイル・ワイヤレス・ブロックチェーン
  • 「この APK を静的解析し、シークレットと安全でないストレージを探してください」 — apktool/jadx で逆コンパイル → MobSF 形式のチェックを行い、鍵とエンドポイントを grep で検索します
  • 「この Wi-Fi キャプチャを監査してください」 — ハンドシェイクを解析し、aircrack-ng/hashcat で解析します
  • 「この Solidity コントラクトにリエントランシーの問題がないか確認してください」 — slither/mythril を実行し、検出結果を説明します

run_tool と run_pipeline は引数がサニタイズされ、ネットワークが制御され、レート制限が適用され、監査ログが記録されます。また、破壊的なフラグ(--os-shell、-rf、--exploit、…)はブロックされます。run_script はデフォルトで無効です。有効にすると、サーバーのユーザーが持つファイルシステムとネットワークの権限で任意のコードが実行されます(デフォルトでは VM 内、--local を指定するとホスト上)。外部ターゲットに関するポリシーは適用されません。テストの許可を得ているシステムに対してのみ使用してください。

### サンドボックスモードとホストモード

scripts/mcp-launch.sh は、--local を渡すか CYBERSEC_SANDBOX_MODE=local を設定しない限り、Kata Containers VM 内でサーバーを起動します。VM は、Kata ランタイムを固定する Sandcastle の隔離サンドボックスプロバイダー(sandbox/kata.mjs)によって作成されます。同じプロバイダーを、MCP クライアントの代わりに Sandcastle のエージェントオーケストレーションループの基盤として使用することもできます。起動時は安全側に失敗します。ランタイム、サンドボックスイメージ、KVM デバイス、Node.js、またはランチャーの依存関係が不足している場合、ホストにフォールバックせず、その理由を示してサーバーを停止します。./install.sh --doctor でサンドボックスの準備状況を確認できます。セットアップ、調整、脅威モデルについては、docs/SANDBOX.md を参照してください。

  • VM には独自のツールセットがあります。 サンドボックスイメージには、MCP サーバーのほか、file、git、binutils、nmap、curl、Python が含まれています。ホストにインストールされたツールは VM 内からは見えず、check_installed とアドバイザーが報告するのはゲストのツールです。代わりにイメージにプロファイルを組み込み、サーバーの変更を取得した後に再ビルドしてください。イメージにはサーバーのコピーが含まれているためです。

    make sandbox-image TOOLKIT_PROFILE=ctf
    
  • ファイル: CYBERSEC_SANDBOX_WORKSPACE に絶対パスを指定しない限り、VM からホストのパスは見えません。指定したディレクトリは /workspace として表示されます(CYBERSEC_SANDBOX_WORKSPACE_RO=1 の場合は読み取り専用です)。run_tool にはゲストのパスを渡してください。

  • ネットワーク: VM は Docker のデフォルトブリッジを使用します。オフライン分析には CYBERSEC_SANDBOX_NETWORK=none を設定するか、フィルタリングされた Docker ネットワークを使用して送信トラフィックを制限してください。

  • 権限: デフォルトでは uid 10001、すべてのケイパビリティを削除、no-new-privileges を設定し、2 GB/2 vCPU/512 プロセスに制限されています。サンドボックスでは Raw ソケットスキャン(nmap -sS、-sU、OS 検出)は使用できません。ゲストユーザーに権限がなく、no-new-privileges が設定されているため、NET_RAW ケイパビリティを追加しても有効になりません。コネクトスキャン(-sT)または --local モードを使用してください。

  • ホストモードのみ: SSH 経由のリモート実行(manage_remote_hosts)と、ホスト上で作成した ~/.ctf-venvs/ 配下の venv。

  • 監査: 記録は stderr のサイドチャネル経由で VM の外に送られ、ホストのログに追記されるため、VM が終了した後も記録が残ります。

クライアントの設定

Claude Code は追跡対象の .mcp.json を読み込みます。

{
  "mcpServers": {
    "cybersec-tools": {
      "command": "bash",
      "args": [
        "-lc",
        "cd \"$(git rev-parse --show-toplevel)\" && exec bash scripts/mcp-launch.sh"
      ],
      "env": {
        "CYBERSEC_MCP_ALLOW_EXTERNAL": "0",
        "CYBERSEC_MCP_ALLOW_SCRIPTS": "0"
      }
    }
  }
}

ログインシェル(bash -lc)はプロファイルから node と uv を読み込むため、プロファイルのスクリプトが標準出力に出力しないようにしてください。標準出力には MCP プロトコルが流れます。ほかのクライアントでも同じランチャーを使います。どのディレクトリからでも実行できます。

bash /path/to/cybersec-toolkit/scripts/mcp-launch.sh           # Kata VM (default)
bash /path/to/cybersec-toolkit/scripts/mcp-launch.sh --local   # host, no VM boundary
  • Codex: プロジェクトの .codex/config.toml は最初に Git ルートを解決するため、どのサブディレクトリからでも動作します。Codex がプロジェクト設定を無視する場合は、[mcp_servers.cybersec-tools] ブロックを ~/.codex/config.toml にコピーしてください。
  • Cursor / Continue / Cline / Goose: クライアントの MCP 設定に起動コマンドを追加します。クライアントの作業ディレクトリがリポジトリのルートでない場合は、絶対パスを指定してください。
  • LM Studio (≥0.3.17): MCP ホストそのものです。絶対パスを指定して、サーバーを mcp.json に追加します(.mcp.json と同じ mcpServers の形式です)。LM Studio の API 経由の MCP には、≥0.4.0 と /api/v1/chat や /v1/responses などの MCP 対応エンドポイントが必要です。
  • Ollama およびその他のローカルモデル: モデルのランタイムは MCP を話しません。MCP 対応ホスト(OpenCode、Hermes、OpenClaw、Kit、LM Studio、Cline、Continue、Goose、または mcpo などの MCP→OpenAPI ブリッジを介した Open WebUI)を手前に配置し、そのホストからランチャーを指定してください。

まずはこのサーバーだけを起動し、許可されたスコープがない限り、スクリプトと外部ターゲットは無効のままにしてください。人間がツールの使用を承認するホストを優先してください。ベンダーに依存しないリポジトリの手順は AGENTS.md にあります。Claude Code は CLAUDE.md を、Gemini CLI は GEMINI.md を読み込みます。

WSL(例:Kali Linux)から接続する

サーバーは stdio で通信するため、Windows クライアントから WSL 内で起動できます。これは Kata VM を使わずに WSL で直接実行します(--local と同等です)。

{
  "mcpServers": {
    "cybersec-tools": {
      "command": "wsl",
      "args": [
        "-d", "kali-linux",
        "bash", "-lc",
        "cd ~/cybersec-toolkit/mcp_server && uv run fastmcp run server.py --transport stdio --no-banner"
      ]
    }
  }
}

WSL のファイルシステム内にクローンを作成するか、Windows 上のチェックアウトから scripts/sync-wsl.sh を実行して、サーバーを WSL 内の ~/cybersec-toolkit にコピーしてください(uv は NTFS 上に仮想環境を作成できません)。Windows から CYBERSEC_MCP_* 変数を渡すには WSLENV が必要です。詳しくは mcp_server/README.md を参照してください。

Docker から接続する

インストーラーのイメージ内でサーバーを実行します。これは通常のコンテナであり、Kata VM ではありません。また、コンテナ内のユーザーはパスワードなしで sudo を実行できます。

{
  "mcpServers": {
    "cybersec-tools": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "CYBERSEC_MCP_ALLOW_EXTERNAL=0", "-e", "CYBERSEC_MCP_ALLOW_SCRIPTS=0",
        "--entrypoint", "bash", "cybersec-toolkit",
        "-c",
        "cd /opt/cybersec-toolkit/mcp_server && uv run fastmcp run server.py --transport stdio --no-banner"
      ]
    }
  }
}
スクリプトの実行

run_script を使うと、エージェントが Python または Bash を記述して実行できます。クライアントの env ブロックに "CYBERSEC_MCP_ALLOW_SCRIPTS": "1" を設定して有効にします。スクリプトにはサーバープロセスのファイルシステムとネットワークの権限が適用されます(デフォルトでは VM、--local モードではユーザーの権限)。また、CYBERSEC_MCP_ALLOW_EXTERNAL による制限も適用されません。有効にする前に、生成されたコードとスコープを確認してください。

コンソールスクリプトを持たない Python ライブラリは、~/.ctf-venvs/ の名前付き venv に格納されます(CYBERSEC_MCP_VENVS_DIR で変更できます)。スクリプトごとに venv パラメーターで選択します。./install.sh --module crypto を実行すると、pycryptodome、sympy、gmpy2、numpy、z3、fpylll(インポート時に必要ですが依存関係として宣言されていない cysignals を含む)、および cypari2 を含む ~/.ctf-venvs/crypto が作成され、エージェントは run_script(code, venv="crypto") を呼び出せるようになります。サンドボックス内では、venv はゲスト側のパスです。crypto を利用するには、TOOLKIT_PROFILE=ctf を指定してイメージをビルドしてください。pwntools など、一部のパッケージには古い Python が必要です。

python3.12 -m venv ~/.ctf-venvs/pwntools
~/.ctf-venvs/pwntools/bin/pip install pwntools z3-solver

名前付き venv がない場合、スクリプトからは FastMCP と標準ライブラリを利用できます。cd mcp_server && uv sync --extra ctf-core を実行すると、requests、pycryptodome、beautifulsoup4、Pillow、NumPy が追加されます。

エージェントが作成した、再利用可能なヘルパー(エクスプロイト、複数ステップのソルバー、パーサー、プロトコルヘルパーなど)は、manual_scripts/ に保存されます。コンパニオンモードでは、エージェントがスクリプトを提案し、承認を得てから実行します。autonomous モードでは、ツールやパイプラインで進展がなくなった場合、エージェントはスコープを限定したヘルパーを作成して実行します。通常の偵察や HTTP リクエストには、run_tool を使います。

サーバーをテストする
cd mcp_server && uv run fastmcp dev inspector server.py

各ツールをインタラクティブに試せる MCP Inspector が開きます。Claude Desktop のセットアップとサーバーの完全なリファレンスについては、mcp_server/README.md をご覧ください。

エージェントスキル

872 個のエージェントスキルが .claude/skills/ にあり、Claude Code が直接検出する正規のツリーです。スキルはコンテキストを常に占有するのではなく、その時点のタスクに応じて必要になったときに読み込まれます。31 個はプロジェクトで作成され、841 個はオープンソースプロジェクトから厳選したもので、それぞれ THIRD_PARTY_NOTICES.md にクレジットを記載しています。

  • プロジェクト開発者向けスキル 10 個(add-tool、validate-all、module-scaffold、writeup-template、mcp-sync-check、security-wordlists、security-payloads、guided-assessment、skill-dependency-audit、skill-curation-router)
  • 検出事項、コミュニケーション、認可チェック、証拠のサニタイズを振り分ける、スキル間コーディネーター 4 個(finding-triage、security-comms、authorization-gate、evidence-hygiene)
  • カバレッジのギャップを補うアンカー 7 個(GRC/プライバシー、AI/LLM セキュリティ、IoT/組み込み/ハードウェア、メインフレーム、通信/5G、SAP/ERP、サプライチェーン/製品セキュリティ)
  • CTF 手法スキル 6 個(ctf-crypto、ctf-pwn、ctf-web、ctf-rev、ctf-forensics、ctf-stego)と、バグバウンティ手法スキル 4 個(bounty-recon、bounty-web、bounty-api、bounty-mobile)
  • mukul975/Anthropic-Cybersecurity-Skills の運用向けハウツー 754 個(Apache 2.0)
  • SnailSploit Claude-Red の攻撃手法スキル 58 個(MIT)
  • Trail of Bits のコード監査スキル 14 個(CC-BY-SA 4.0)
  • BugHunter (claude-bug-bounty) のバグバウンティワークフロースキル 10 個(MIT)
  • Transilience の高レベルワークフロー 4 個(MIT)
  • multica-ai/andrej-karpathy-skills のコーディングエージェント向けワークフロースキル 1 個(MIT)

ソースとカテゴリのインデックス:.claude/skills/SKILLS.md。ランキングとキュレーションについては、.claude/skills/CURATION.md と curation.json をご覧ください。python3 scripts/curate_claude_skills.py --write で再生成できます。

Claude Code プラグインとして。 このリポジトリはプラグインマーケットプレイスも兼ねているため、どのプロジェクトからでもクローンせずにスキルライブラリを利用できます。

/plugin marketplace add 26zl/cybersec-toolkit
/plugin install cybersec-toolkit@cybersec-toolkit

プラグインに含まれるのはスキルのみです。MCP サーバーは別途設定してください(MCP サーバーを参照)。

その他のクライアントでは。 OpenCode、Codex、Gemini CLI、GitHub Copilot、Cursor、Cline、Goose、Hermes、OpenClaw、DeepSeek Harness は、それぞれ独自の方法でエージェントスキルをサポートしています。scripts/sync-skills.sh は .claude/skills/ を Git の追跡対象外である .agents/skills/ に同期し、その場所を読み込むクライアントで利用できるようにします(--check は差分を報告し、make setup はこの処理を実行します)。Continue と LM Studio では、スキルの自動検出についての説明がありません。代わりに、選択したスキルの内容をルールまたはコンテキストとして渡してください。詳細は docs/AI_CLIENTS.md をご覧ください。

ヘルパースクリプトの依存関係。 一部のベンダー提供スキルには、任意の Python インポートを含むヘルパースクリプトがあります。インポート一覧から生成された .claude/skills/requirements.txt に依存関係が記載されています。scripts/validate_claude_skills.py は、スキルのメタデータ、インデックスの件数、キュレーションの最新状態、ヘルパースクリプトの構文をチェックします。

python3 scripts/audit_skill_dependencies.py --check-declared   # verify declarations
python3 -m pip install -r .claude/skills/requirements.txt      # optional, ideally in a venv

開発

コントリビューションを歓迎します。さまざまなディストリビューションでのインストールテスト、不足しているツールの追加、パッケージのマッピング修正、MCP ワークフローの改善、使用例の作成、実際の CTF、ラボ、バグバウンティ、ペンテスト、DFIR、または防御業務で見つかった問題の報告などをお寄せください。大きな変更については issue を作成し、小規模な修正については内容を絞った PR をお送りください。検証チェックリストは CONTRIBUTING.md をご覧ください。

git clone https://github.com/26zl/cybersec-toolkit.git && cd cybersec-toolkit
make setup    # submodules, MCP deps, sandbox deps, skill mirror
make check    # lint, validators, bats, pytest, sandbox tests

make help で全ターゲットを確認できます。コマンドの詳細は AGENTS.md に記載されています。MCP Python プロジェクトでは uv と exclude-newer = "3 days" を使って依存関係を解決しており、侵害されたアップロードによる影響範囲を抑えるため、新しいリリースは 72 時間無視されます。Dependabot と週次の uv 更新ワークフローにも同じクールダウン期間が適用されます。シェルテストは Linux、macOS、または WSL で実行してください。ネイティブの Windows チェックアウトでは、Bats サブモジュールが CRLF に書き換えられ、$'\r' エラーが発生することがあります。

セキュリティ修正やアップグレード手順を含む各バージョンのリリースノートは、GitHub Releases ページをご覧ください。git log $(git describe --tags --abbrev=0).. で、最新リリース以降に追加された変更を確認できます。

スター履歴

スター履歴チャート

ライセンス

MIT License。詳細は LICENSE をご覧ください。

このリポジトリでは、独自の条件が適用されるサードパーティコンポーネントも再配布しています。CC-BY-SA-4.0(継承が必要で、MIT への再ライセンス不可)のものも含まれます。同梱コンテンツを再配布または改変する場合は、それぞれの条件に従ってください。詳細は THIRD_PARTY_NOTICES.md をご覧ください。

コントリビューションの手順:CONTRIBUTING.md。コミュニティの行動指針:CODE_OF_CONDUCT.md。脆弱性の報告方法:SECURITY.md。

免責事項

このプロジェクトは、教育、防御、および明示的に許可されたセキュリティテストのみを目的として提供されています。自分が所有するシステム、または評価する書面による許可を得ているシステムにのみ使用し、適用されるすべての法律、作業範囲、サードパーティツールのライセンス、およびサービスの利用規約に従ってください。

このツールキットには、攻撃と防御の両方に利用できるツールが含まれています。一部のコマンドは、ネットワークのスキャン、エクスプロイトの実行、システムの変更、またはセキュリティアラートの発生を引き起こす可能性があります。MCP/AI 統合には安全ポリシーが適用されていますが、アクションを実行する前に、対象範囲、プロンプト、コマンド、出力を確認する責任はユーザーにあります。

このリポジトリは、セキュリティツール自体を再配布するものではありません。インストール時に、公式のアップストリームソースから一般公開されているオープンソースプロジェクトをインストールします。合法かつ許可された使用のみを目的としています。

このプロジェクトは「現状有姿」で提供され、保証はありません。メンテナーは、このツールキットの使用による誤用、損害、データ損失、サービスの中断、または法的責任について責任を負いません。

サードパーティのコンテンツは元のライセンスに基づいて同梱されています。詳細は THIRD_PARTY_NOTICES.md をご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。