mcpField
C
cyberchef-mcp

cyberchef-mcp

ローカル
github.com/doublegateセキュリティ302 日前に更新

cyberchef-mcp について

cyberchef-mcp は、GCHQ の CyberChef を MCP サーバーとして提供するプロジェクトで、504 種類のデータ変換操作を、暗号化、エンコード、圧縮、フォレンジック分析のために AI アシスタントから利用できるようにします。CyberChef v11.5.0 をベースとし、GPL-3.0-or-later で公開されています。

主な機能

  1. 01504 種類の CyberChef データ変換操作
  2. 02bake ツールによる多段階レシピの実行
  3. 03キーワードによる操作の検索
  4. 04画像と音声の結果をコンテンツブロックで返却
  5. 05HTTP 利用時の OAuth 2.1 認証とテナント分離

活用シーン

  1. 01Base64 デコードと gunzip などの多段階処理
  2. 02未知データの分析やハッシュ形式の特定
  3. 03エアギャップ環境でのエンコードや暗号化処理の実行

MCP 対応

本サーバーは CyberChef の操作を MCP ツールとして公開し、ワークフロー用のプロンプトや、recipe:// アドレスで読み取れる保存済みレシピをリソースとして提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"doublegate-cyberchef": {
"command": "npx",
"args": [
"-y",
"cyberchef-mcp"
]
}
}
}
起動コマンドnpx -y cyberchef-mcp

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

パッケージ
ocighcr.io/doublegate/cyberchef-mcp_v4:4.2.0
npmcyberchef-mcp4.2.0

ツール

23

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
toolstringはい分析ツール名。`cyberchef_` 接頭辞を除いた名前です。例:"hash_identify"、"xor_key_length"、"pqc_identify"。どちらの形式も使用できます。
argumentsobjectいいえツールの引数。cyberchef_describe_operation が返すスキーマに一致させてください。

詳細

CyberChef MCP サーバー

このプロジェクトは、GCHQ が開発した「サイバー版スイスアーミーナイフ」である CyberChef の Model Context Protocol(MCP) サーバーインターフェースを提供します。

このサーバーを実行すると、AI アシスタント(Claude、Cursor AI など)が、暗号化、エンコード、圧縮、フォレンジック分析などを含む、CyberChef の豊富な 504 種類のデータ操作オペレーションを実行可能なツールとしてネイティブに利用できるようになります。

最新リリース: v4.2.0 | リリースノート | チュートリアル | 例 | 破壊的変更 | セキュリティポリシー

上流のベース: GCHQ CyberChef v11.5.0 | ライセンス: GPL-3.0-or-later(v2.0.0 以降。v1.9.x 以前は Apache-2.0 のままです)

CyberChef MCP バナー

npm MCP Enabled License Docker Version Node.js Version Security Scan codecov CyberChef MCP Server – quality and maintenance score on Glama

プロジェクトの背景

CyberChef は、Web ブラウザー上であらゆる「サイバー」操作を実行するための、シンプルで直感的な Web アプリです。GCHQ によって考案され、開発されました。

このフォークは、CyberChef のコア Node.js API を MCP サーバーとしてラップし、自然言語による AI の意図と決定論的なデータ処理を橋渡しします。

フォークの関係

このプロジェクトは、上流の GCHQ/CyberChef リポジトリと選択的に同期しています。

  • 上流から同期するもの:src/core/**(生成された 3 つのパスを除く)および src/node/ 内の上流所有ファイル 6 つです。内容をそのままミラーリングしています。手作業で編集しないでください。フォーク側の変更は、パッチを再適用して反映します。
  • Web UI コンポーネント:削除済み(88 ファイル、約 19,260 行)。MCP サーバーには不要です。
  • MCP 固有のコード:このフォーク独自のものです(src/node/mcp-server.mjs、src/node/lib/**、tests/mcp/、ワークフロー)。
  • 同期は一方向:取り込みのみです。v2.0.0 以降、統合されたコードは GPL-3.0-or-later となるため、MCP レイヤーの変更を Apache-2.0 の上流に提供することはできません。

正確な範囲、パッチの仕組み、同期の競合が発生した場合の対応については、 上流同期ガイド をご覧ください。

同期プロセスの詳細については、上流同期ガイドをご覧ください。

CyberChef MCP の設計図

機能

MCP ツール

このサーバーは、CyberChef のオペレーションを MCP ツールとして公開します。

  • ARM で動作し、30%小型化(v2.8.0):linux/arm64 と linux/amd64 の両方のイメージを公開しています。Apple Silicon、Graviton、Raspberry Pi 4/5 に対応し、イメージサイズは 643 MB から 453 MB に縮小しました。また、ネットワークから隔離されたホスト向けに CYBERCHEF_OFFLINE=true を用意しています。504 個の操作のうち 502 個はそもそもネットワークにアクセスしないため、これはネットワークを使う残り 2 個に対するフェイルクローズスイッチであり、ツール名ではなく レシピ を基準にチェックします。アーキテクチャ、サイジング、ネットワークから隔離された環境へのインストールについてはエッジデプロイガイドを、サイズ削減の方法と検証についてはリリースノートを参照してください。
  • 可観測性(v2.7.0):依存関係のない Prometheus エンドポイント /metrics(20 のメトリクスファミリー。デフォルトでは無効です。ヘルスプローブとは異なり、どのツールがどのくらいの頻度で使われ、入力がどれほどの大きさかを報告するため、偵察の足掛かりとなります)、MCP のセマンティック規約に準拠した OpenTelemetry スパン、およびすべてのログ行への trace_id/span_id の追加を実現します。追加するパッケージは 1 つだけです。OTel API であり、SDK ではありません。SDK の 71 パッケージ/50 MB/+100 ms に対し、1 パッケージ/2.6 MB/+9 ms であることを計測しています。SDK を使えば、v2.6.0 で起動時に行っていた処理の半分以上を、stdio で起動するたびに再び負担することになっていたでしょう。SDK は利用者側で用意するため、特定の少数のバックエンドに限定されず、あらゆる OTLP バックエンドを利用できます。Grafana ダッシュボード、アラートルール、実行可能な Prometheus スタックも同梱しています。これらはレビューだけでなく、実サーバーに対してすべて実行済みです。ツールの引数は決して記録しません。規約では引数は Opt-In とされており、このサーバーでは引数そのものが機密情報だからです。
  • HTTP での OAuth 2.1 認証(v2.5.0):サーバーは OAuth 2.1 の リソースサーバー として動作します。RFC 9728 の保護対象リソースメタデータ、JWKS に基づくベアラートークンの検証、RFC 8707 のオーディエンスバインディングに対応しています。オーディエンスバインディングは、別のサービス向けに発行されたトークンがここで再利用されるのを防ぐチェックです。3 つのスコープ(cyberchef:read、cyberchef:write、cyberchef:network)を使ったスコープベースの RBAC を備え、各ツールに必要なスコープは古くなり得る表ではなく、アノテーションから導出 されます。誰が何を呼び出したかを記録する監査ログもあります。CYBERCHEF_AUTH_ISSUER が設定されていない限り無効で、意図的に stdio には適用しません。MCP 仕様では stdio で OAuth を使うべきではない(SHOULD NOT)とされています。クライアントがすでにプロセスを所有している場合、ベアラートークンでは何も保護できないからです。
  • マルチテナンシー(v2.5.0):操作キャッシュ、レシピストア、同時実行プール、監査証跡はテナントごとに分離されます。テナントは、すでに検証済みのトークン内のクレーム(CYBERCHEF_TENANT_CLAIM)から取得し、呼び出し元が制御するヘッダーから取得することはありません。これがないと、共有 HTTP デプロイメント上の任意の呼び出し元が、他の呼び出し元の保存済みレシピを一覧表示、変更、削除でき、clear() はすべてのテナントのレシピを一度に削除してしまいます。設定しない限り無効です。また、CYBERCHEF_AUTH_ISSUER を設定せずにマルチテナンシーを設定すると、暗黙のダウングレードではなく起動エラーになります。
  • 約 185 ms で起動(v2.6.0):以前は約 1.3 秒かかっており、そのうち約 1.15 秒は何かに応答する前に 505 個すべての操作実装をインポートする時間でした。エディターがサーバーを起動するたびに、つまり stdio で起動するたびに発生していました。505 操作の バレル は、必要とする 3 つのツール(cyberchef_search、バッチ検索、保存済みレシピの実行)からのみ読み込まれるようになりました。tools/list はメタデータから構築され、通常の操作呼び出しでは、実行する操作 1 つだけが読み込まれます。cyberchef_bake はバレルをまったく読み込まずに完了することを検証済みです。バックグラウンドでのウォームアップも試して計測しましたが、削除しました。モジュールの読み込みはイベントループをブロックするため、最初のリクエストの前にコストを移しただけだったからです。
  • サービスとしてデプロイ可能(v2.6.0):ライブネス/レディネス/起動プローブと、ローリングアップデート中にリクエストを失わないドレイン処理を備えたHelm チャートと Compose ファイルを提供します。ドレイン中もライブネスは意図的に正常な状態を維持します。このときライブネスが失敗すると、ドレインの途中で Pod が強制終了されるからです。チャートは、サーバーが起動時に拒否する設定をレンダリングすることを 拒否 します。そのため、クラッシュループではなく helm template の時点で失敗します。
  • 認可サーバーへの呼び出しを制限(v2.6.0):JWKS の検出にはタイムアウトがありませんでした(Node の fetch にはデフォルトでタイムアウトがありません)。また、失敗もキャッシュされなかったため、Issuer の停止中はすべてのリクエストで 2 回の外向きリクエストが発生し、OS が諦めるまでハングする可能性がありました。現在は 5 秒の期限とサーキットブレーカーを導入しています。停止中の Issuer に対する 20 回の検証で、外向きの試行回数は 40 回から 10 回に減りました。
  • 操作ではない 19 個の解析ツール(v2.4.0、v3.11.0 まで拡張):当初の 4 つは cyberchef_xor_key_length(一致指数による繰り返しキー XOR の長さ)、cyberchef_cyclic_pattern(pwntools の cyclic とバイト互換の De Bruijn パターンとオーバーフローオフセット)、cyberchef_hash_identify(hashcat のモードと John 形式名を含むハッシュ形式)、cyberchef_rsa_attack(Fermat、共通因数、Wiener、パディングなしの小さな e)です。v3.3.0 ではさらに 12 個(古典暗号、クリブドラッギング、エントロピーのスキャン、ハッシュのクラックと統計、JWT の弱点、平文のスコアリング、複数キー RSA、換字式暗号と Vigenère 暗号の解読、タイムスタンプの識別、コーパスの差分)が追加され、v3.4.0 では cyberchef_ecdsa_recover(ECDSA nonce の再利用から秘密鍵を復元)、v3.8.0 では cyberchef_cert_chain(X.509 バンドルを順序付けし、各リンクを暗号学的に検証して、チェーンの有効期間を各証明書の期間の積集合として両端とも報告)が追加されました。v3.11.0 では cyberchef_pqc_identify が追加されました。鍵、署名、暗号文の背後にある NIST の耐量子パラメーターセット(ML-KEM(FIPS 203)、ML-DSA(FIPS 204)、SLH-DSA(FIPS 205))を、読み取れる DER がある場合は OID から、ない場合はバイト長から特定します。後者の場合は候補をすべて報告し、1 つに決めつけず、その旨も明示します。解析ツールを参照してください。操作は、1 つの入力に対する純粋な run(input, args) であり、解析を表現できません。レシピはパイプラインであってループではないため、cyberchef_bake でも解析はできません。v4.1.0 以降、これらのツールにはデフォルトの index サーフェスで cyberchef_analyse({tool, arguments}) を通じてアクセスでき、curated と all では引き続き個別に一覧表示されます。以前は 19 個の解析ツールがインデックスの 68%を占めていました。cyberchef_describe_operation がそれらを拒否して tools/list を案内していたため、スキーマを参照する唯一の方法である一覧にだけ表示されていたからです。意図的にプラグインローダーはありません。node:vm はセキュリティ境界ではなく、これは仮定ではなく計測によって確認されています(ADR 0002)。
  • プロトコルリビジョン 2026-07-28(v2.3.0):2025 年版とともに、stdio と HTTP の両方で、同じハンドラーセットから提供されます。既存のクライアントには影響しません。v1-SDK クライアントは、同じ登録に対して引き続き 2025-11-25 をネゴシエートします。HTTP では、SDK 独自の分類器によってリクエストごとに 2 つの世代を振り分けます。そのため、2025 年版のトラフィックはセッションを使う配線を維持し、最新のトラフィックはリクエストごとに処理されます。
  • 3 つのトランスポート(v2.3.0):stdio、Streamable HTTP、Unix ドメインソケットまたはループバック TCP を使った ソケットバインディング(CYBERCHEF_TRANSPORT=socket)に対応し、接続ごとに 1 つのサーバーインスタンスを固定します。認証機能はないため、明示的に許可しない限り、ループバック以外へのバインドは拒否されます。Unix ソケットは 0600 で作成されます。意図的に WebSocket トランスポートはありません。MCP は WebSocket を定義していないためです。
  • すべての画像操作が動作(v2.3.0):17 個の操作が画像ではなく Node の共有バッファープールを返していました。そのため出力を読み取れず、余分なデータにはプロセスが直近に割り当てた内容が含まれていました。また、v1.7.1 以降、このフォークでは Add Text To Image がまったく動作していませんでした。どちらもフォークのパッチで修正済みです。
  • 画像と音声は画像と音声として返却(v2.2.0):Generate QR Code、Render Image、画像セットは MCP の image コンテンツブロックを返し、Play Media は audio ブロックを返します。v2.2.0 より前は、HTML からテキストへの変換でペイロードが削除されていたため、これらの操作は空文字列を返し、MCP 経由ではまったく動作していませんでした。それ以外のバイナリデータは、バイトを損なわない latin1 テキスト、または CYBERCHEF_BINARY_OUTPUT=base64 を指定した場合は base64 で返されます。
  • すべてのツールにツールアノテーション(v2.2.0):readOnlyHint、destructiveHint、idempotentHint、openWorldHint と、読みやすい title を備えているため、クライアントは純粋な操作に対する承認プロンプトを省略できます。例外は推測ではなく計測に基づいています。ネットワークにアクセスするのは HTTP request と DNS over HTTPS だけです。また、非冪等性は候補をそれぞれ 2 回実行して結果を比較することで判定しました。
  • プロンプトとリソース(v2.2.0):必要な操作が 504 個のうちどれかまだ分からない場合に使える 5 つのワークフロープロンプト(analyse-unknown-data、extract-iocs、deobfuscate-script、identify-hash、decode-chain)と、recipe://<id> で読み取り可能なリソースとして公開される保存済みレシピを備えています。
  • cyberchef_bake:「オムニツール」です。入力に対して、CyberChef レシピ全体(操作の連鎖)を実行します。複雑な複数ステップの変換(例:「Base64 をデコードし、次に Gunzip を実行してから JSON を整形する」)に最適です。
  • 504 個のスキーマを読み込まずに 505 個すべての操作を利用可能(v2.1.0):デフォルトの tools/list は インデックス です。546 個のツール、427,123 バイトではなく、23 個のツール、15,620 バイトに抑えています。すべての操作に引き続きアクセスできます。cyberchef_categories -> cyberchef_list_operations -> cyberchef_describe_operation とたどればどの操作にも到達でき、cyberchef_search でキーワード検索し、cyberchef_bake で任意の操作を名前で実行できます。19 個の解析ツールにも同じ方法で、cyberchef_describe_operation と cyberchef_analyse を通じてアクセスできます。v4.1.0 まではすべてのサーフェスで個別に一覧表示されていました。describe_operation がそれらを拒否して tools/list を案内していたため、19 個がインデックスの 68%を占めていたからです。事前に読み込む場合は、CYBERCHEF_TOOL_SURFACE=curated(120 個のツール、109,548 バイト)または =all(546 個すべて、427,123 バイト)を設定してください。どちらもすべての解析ツールを引き続き個別に一覧表示します。ユーザーガイドを参照してください。
    • cyberchef_to_base64 / cyberchef_from_base64
    • cyberchef_aes_decrypt
    • cyberchef_sha2
    • cyberchef_yara_rules
    • ...ほか数百個。
  • cyberchef_search:AI が利用可能な操作とその説明を見つけるのに役立つユーティリティツールです。
  • レシピ管理(v1.6.0):複数操作のワークフローを保存、整理、再利用するための 10 個のツールです。
    • cyberchef_recipe_create / cyberchef_recipe_get / cyberchef_recipe_list
    • cyberchef_recipe_update / cyberchef_recipe_delete / cyberchef_recipe_execute
    • cyberchef_recipe_export / cyberchef_recipe_import
    • cyberchef_recipe_validate / cyberchef_recipe_test
  • 高度な機能(v1.7.0):エンタープライズレベルの機能を実現する 5 個の新しいツールです。
    • cyberchef_batch - 複数の操作を並列モードまたは逐次モードで実行します。
    • cyberchef_telemetry_export - プライバシーを最優先する使用状況分析(オプトイン)。
    • cyberchef_cache_stats / cyberchef_cache_clear - キャッシュの確認と管理。
    • cyberchef_quota_info - リソースのクォータと使用状況を追跡します。
  • 移行ツール — v4.0.0 で削除。 cyberchef_migration_preview、 cyberchef_deprecation_stats、cyberchef-migrate バイナリは、9 つ前のマイナーバージョンである v2.0.0 への移行を支援するためのものでした。すべてのサーフェスで告知され、すべての tools/list に 995 バイトを追加していましたが、出力される警告は DEP007 だけでした。これは撤回済みのコードで、 そのメッセージ自体も「対応不要」と記載していました。v1 形式のレシピに移行は不要です。現在も位置引数、 操作名のみの文字列、名前付きオブジェクト引数はすべて同じように実行できます。
    • cyberchef_ プレフィックスは恒久的です。 DEP001、DEP007、DEP008 は v1.8.0 での削除を告知していましたが、v2.0.0 で撤回されました。削除しても tools/list のペイロードを 2.6%減らせるだけで、MCP のフラットな名前空間で 19 個のツール名が衝突し、既存のすべての統合が壊れます。引き続き cyberchef_to_base64、cyberchef_bake、cyberchef_search を使用してください。v2.0.0 の破壊的変更を参照してください。
  • ワーカースレッドプール(v1.9.0):CPU 負荷の高い操作をワーカースレッドにオフロードします。
    • cyberchef_worker_stats - ワーカープールの使用状況、アクティブ/完了タスク、プール設定を監視します。
    • CYBERCHEF_ENABLE_WORKERS=true 環境変数で有効にします。
    • プールサイズ、アイドルタイムアウト、ワーカーへの振り分けに必要な最小入力サイズを設定できます。
技術的な特長
  • Docker 化:執筆時点で v26.8.1 の Chainguard Wolfi Node.js ベース上で、自己完結型の Docker コンテナとして実行されます。ダイジェストで固定されており、Dependabot によって毎週更新されます。公開済みの v3.1.0 イメージで測定した場合、ディスク上で 453 MB、gzip 圧縮したリリース tarball で 141 MBです。UID 65532(nonroot)で実行されます。ベースは毎日再ビルドされ、パッケージマネージャー(apk、wget、curl)は含まれていませんが、BusyBox シェルと npm は含まれているため、コンテナが侵害された場合はシェルを利用できるものとして扱ってください。以前の説明では「シェルなし」「ディスク上で 726 MB」と記載していましたが、どちらも誤りでした。訂正内容はこちらの v3.1.0 ベースラインに記録されています。
  • デュアルレジストリへの公開:利用しやすさを最大化し、Docker Scout のヘルススコアを最適化するため、イメージは Docker Hub と GitHub Container Registry(GHCR)の両方に公開されます。
  • サプライチェーン証明:セキュリティの透明性とコンプライアンスを強化するため、SBOM と来歴の証明が Docker Hub のイメージに添付されます(SLSA Build Level 3)。
  • デュアルトランスポート(v1.9.0、v2.0.0 以降はセッションごとの HTTP):標準の Stdio、または CYBERCHEF_TRANSPORT=http による Streamable HTTP を使用できます。各 HTTP クライアントには、独自のセッションと MCP サーバーインスタンスが割り当てられ、CORS、DNS リバインディング保護、セッション上限が適用されます。HTTP トランスポートガイドをご覧ください。
  • 進捗通知付き MCP ストリーミング(v1.9.0):長時間実行されるタスクの処理中にリアルタイムで状況を更新できるよう、MCP SDK の進捗トークン機構を介して notifications/progress を送信します。
  • ワーカースレッドプール(v1.9.0):Piscina ベースのワーカースレッドが、CPU 負荷の高い処理(AES、Blowfish、bcrypt、scrypt、PBKDF2 など)をオフロードし、イベントループのブロックを防ぎます。プールサイズと振り分けのしきい値を設定できます。
  • スキーマ検証:すべての入力は、CyberChef の内部型システムから派生したスキーマに照らして zod で検証されます。
  • 最新の Node.js:v4.0.0 以降は Node.js >=26 <27 が必要で、公開済みイメージも Node 26 を実行します。必要な最低バージョンと実行時のバージョンが、2 メジャーバージョン離れず同じになりました。
  • レシピ管理(v1.6.0):完全な CRUD 操作で複数の処理から成るワークフローを保存して再利用できます。複数形式(JSON/YAML/URL/CyberChef)のインポート/エクスポート、ネストに対応したレシピの合成、5 カテゴリーにわたる 25 件以上の本番環境対応レシピを収録した厳選ライブラリも利用できます。詳しくはレシピ管理ガイドをご覧ください。
  • 高度な機能(v1.7.0):バッチ処理(最大 100 件の処理を並列/順次実行)、プライバシー優先のテレメトリ収集(デフォルトで無効。入力/出力データは収集しません)、リソース保護のためのスライディングウィンドウ方式のレート制限、検査ツールを備えた強化キャッシュ、リソースクォータの追跡(同時処理数、データサイズ)など、エンタープライズグレードの機能を提供します。すべての機能は、セキュアなデフォルト値を備え、環境変数で設定できます。詳しくはリリースノートをご覧ください。
  • オブザーバビリティの強化(v1.5.0):本番環境のモニタリングに向けた Pino による構造化 JSON ロギング、実行可能な復旧方法を提示する包括的なエラー処理、指数バックオフによる自動リトライ、UUID によるリクエスト相関追跡、連鎖的な障害を防ぐサーキットブレーカーパターン、大規模な処理の結果を段階的に返すストリーミング基盤を備えています。詳しくはリリースノートをご覧ください。
  • パフォーマンスの最適化(v1.4.0):処理結果用の LRU キャッシュ(デフォルト 100MB)、大きな入力に対する自動ストリーミング(しきい値 10MB 以上)、設定可能なリソース制限(入力最大 100MB、タイムアウト 30s)、メモリモニタリング、包括的なベンチマークスイートを備えています。設定方法はパフォーマンスチューニングガイドをご覧ください。
  • アップストリーム同期の自動化(v1.3.0、v2.0.0 で再構築):アップストリームのリリースを毎週監視し、ツリー全体をアトミックにミラーリングします。フォーク側の変更はパッチとして保持され、適用できなくなった場合は同期が失敗します。包括的な検証(MCP テスト 1,246 件、Node-API テスト 241 件、処理テスト 2,289 件)と緊急ロールバックにも対応しています。アップストリーム同期ガイドをご覧ください。
  • セキュリティの強化(v1.4.5 以降):CVE がゼロのベースラインを持つ Chainguard Wolfi ベースイメージ、非 root での実行(UID 65532)、ビルド失敗のしきい値を設定した Trivy による自動脆弱性スキャン、二重 SBOM 戦略(Docker Scout による証明と CycloneDX)、読み取り専用ファイルシステムへの対応、SLSA Build Level 3 の来歴、重大な CVE パッチに対する 7 日間の SLA を備えています。重大な暗号学的乱数の脆弱性と 7 件の ReDoS 脆弱性を含む、コードスキャンで検出された 12 件中 11 件の脆弱性を修正しました。詳しくはセキュリティポリシーとセキュリティ修正レポートをご覧ください。
  • 本番環境対応:CodeQL v4、テストの自動化、サプライチェーンの完全な証明を伴うデュアルレジストリへのコンテナ公開(Docker Hub + GHCR)を含む、包括的な CI/CD を備えています。

クイックスタート

前提条件
  • npm でインストールする場合は Node.js >=26 <27、コンテナを使用する場合は Docker が必要です。
インストール方法

オプション 1:npm(推奨)

npx cyberchef-mcp

クローンもビルドも Docker デーモンも不要です。MCP クライアントから同じコマンドを指定してください。

{
  "mcpServers": {
    "cyberchef": { "command": "npx", "args": ["-y", "cyberchef-mcp"] }
  }
}

グローバルにインストールして使うこともできます。npm install -g cyberchef-mcp を実行し、その後 cyberchef-mcp を実行してください。 パッケージに含まれるバイナリはこれだけです。cyberchef-migrate は v4.0.0 で削除されました。

オプション 2:Docker Hub から取得

# Docker Hub provides health scores and supply chain attestations
docker pull parobek/cyberchef-mcp:latest
docker tag parobek/cyberchef-mcp:latest cyberchef-mcp
docker run -i --rm cyberchef-mcp

オプション 2b:GitHub Container Registry から取得(代替方法)

docker pull ghcr.io/doublegate/cyberchef-mcp_v4:latest
docker tag ghcr.io/doublegate/cyberchef-mcp_v4:latest cyberchef-mcp
docker run -i --rm cyberchef-mcp

オプション 3:ビルド済みイメージをダウンロード(オフラインインストール)

GHCR に直接アクセスできない環境では、最新リリースからビルド済み Docker イメージの tarball をダウンロードしてください。

  1. tarball をダウンロードします(圧縮時 141 MB。推定値ではなく、公開済みの v3.1.0 アセットで測定した値です):

    # GitHub Releases からダウンロード
    wget https://github.com/doublegate/CyberChef-MCP/releases/download/v4.2.0/cyberchef-mcp-v4.2.0-docker-image.tar.gz
    
  2. イメージを Docker に読み込みます:

    docker load < cyberchef-mcp-v4.2.0-docker-image.tar.gz
    
  3. 使いやすいようにタグ付けします:

    docker tag parobek/cyberchef-mcp:latest cyberchef-mcp
    
  4. サーバーを起動します:

    docker run -i --rm cyberchef-mcp
    

オプション 4:ソースからビルド

  1. リポジトリをクローンします:

    git clone https://github.com/doublegate/CyberChef-MCP.git
    cd CyberChef-MCP
    
  2. Docker イメージをビルドします:

    docker build -f Dockerfile.mcp -t cyberchef-mcp .
    
  3. サーバーを起動します(対話モード): このコマンドはサーバーを起動し、stdin で待ち受けます。MCP クライアントが実行するコマンドです。

    docker run -i --rm cyberchef-mcp
    
  4. オプション:セキュリティを強化して実行します(読み取り専用ファイルシステム): 本番環境へのデプロイで最大限のセキュリティを確保するには、次のコマンドを使用します。

    docker run -i --rm --read-only --tmpfs /tmp:rw,noexec,nosuid,size=100m cyberchef-mcp
    

クライアントの設定

Cursor AI
  1. Settings > Features > MCP の順に移動します。
  2. 新しいサーバーを追加します:
    • Name: CyberChef
    • Type: command
    • Command: docker
    • Args: run -i --rm cyberchef-mcp
Claude Code(CLI)

設定ファイル(通常は ~/.config/claude/config.json)に追加します:

{
  "mcpServers": {
    "cyberchef": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "cyberchef-mcp"]
    }
  }
}
Claude Desktop

Claude Desktop の設定ファイルに追加します:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "cyberchef": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "cyberchef-mcp"]
    }
  }
}

設定を追加したら、Claude Desktop を再起動してください。CyberChef のツールが利用可能なツールパネルに表示されます。

パフォーマンスと設定

バージョン 1.4.0 では、包括的なパフォーマンス最適化と設定可能なリソース制限が導入されています。デプロイのニーズに合わせて、すべての機能を環境変数で調整できます。

パフォーマンス機能

操作結果の LRU キャッシュ

  • 操作結果を自動的にキャッシュし、重複する計算をなくします
  • キャッシュサイズ(デフォルト 100MB)とアイテム数(デフォルト 1000)を設定できます
  • 操作+入力+引数を基にキャッシュキーを生成します(SHA256 ハッシュ)

大きな入力に対する自動ストリーミング

  • 10MB を超える入力は、自動的にチャンク処理を使用します
  • エンコード、圧縮、ハッシュ操作に対応しています
  • 100MB を超えるファイルをメモリ効率よく処理します
  • ストリーミング非対応の操作では、自動的に透過的なフォールバックを行います

リソース制限

  • 最大入力サイズの検証(デフォルト 100MB)
  • 操作のタイムアウトを適用(デフォルト 30 秒)
  • メモリ不足によるクラッシュや、実行が終了しない操作を防止します

メモリの監視

  • メモリ使用量を stderr に定期的に記録します
  • トラブルシューティング用にヒープと RSS を追跡します
設定オプション

すべての設定は、cyberchef.config.json ファイルまたは環境変数で指定できます。 環境変数はファイルより優先されます。設定は必須ではありません。ファイルがなくても、 サーバーは従来どおり動作します。

{
  "server":   { "maxInputSize": 10485760, "operationTimeout": 30000 },
  "security": { "offline": true },
  "tools":    { "surface": "curated" }
}

ファイルの形式が不正な場合、未知のセクションや設定がある場合は、選択されていないデフォルト値で起動するのではなく、誤りの内容を示すメッセージとともにサーバーが停止します。61 個すべての設定とそのセクション、および対応する環境変数については、 **設定ガイド**をご覧ください。

同じ設定を環境変数で指定する場合:

# Logging (v1.5.0+)
LOG_LEVEL=info                           # Logging level: debug, info, warn, error, fatal

# Retry Logic (v1.5.0+)
CYBERCHEF_MAX_RETRIES=3                  # Maximum retry attempts for transient failures
CYBERCHEF_INITIAL_BACKOFF=1000           # Initial backoff delay in milliseconds
CYBERCHEF_MAX_BACKOFF=10000              # Maximum backoff delay in milliseconds
CYBERCHEF_BACKOFF_MULTIPLIER=2           # Backoff multiplier for exponential backoff

# Streaming (v1.5.0+)
CYBERCHEF_STREAM_CHUNK_SIZE=1048576      # Chunk size for streaming (1MB)
CYBERCHEF_STREAM_PROGRESS_INTERVAL=10485760  # Progress reporting interval (10MB)

# Recipe Management (v1.6.0+)
CYBERCHEF_RECIPE_STORAGE=./recipes.json  # Storage file path
CYBERCHEF_RECIPE_MAX_COUNT=10000         # Maximum number of recipes
CYBERCHEF_RECIPE_MAX_OPERATIONS=100      # Max operations per recipe
CYBERCHEF_RECIPE_MAX_DEPTH=5             # Max nesting depth

# Batch Processing (v1.7.0+)
CYBERCHEF_BATCH_MAX_SIZE=100             # Maximum operations per batch
CYBERCHEF_BATCH_ENABLED=true             # Enable/disable batch processing

# Telemetry & Analytics (v1.7.0+)
CYBERCHEF_TELEMETRY_ENABLED=false        # Privacy-first: disabled by default

# Rate Limiting (v1.7.0+)
CYBERCHEF_RATE_LIMIT_ENABLED=false       # Disabled by default
CYBERCHEF_RATE_LIMIT_REQUESTS=100        # Max requests per window
CYBERCHEF_RATE_LIMIT_WINDOW=60000        # Time window in milliseconds

# Cache Management (v1.7.0+)
CYBERCHEF_CACHE_ENABLED=true             # Enable/disable caching

# Resource Quotas (v1.7.0+)
CYBERCHEF_MAX_CONCURRENT_OPS=10          # Maximum concurrent operations

# (Removed in v4.0.0) V2_COMPATIBILITY_MODE and CYBERCHEF_SUPPRESS_DEPRECATIONS went with the
# deprecation system they configured. Do not set them: the `compatibility` section is now an
# unknown section, and `cyberchef.config.json` fails CLOSED on one -- the server refuses to start
# with "unknown section \"compatibility\"". The env vars are simply ignored.

# Transport (v1.9.0+; per-session HTTP since v2.0.0)
CYBERCHEF_TRANSPORT=stdio                # Transport type: stdio or http
CYBERCHEF_HTTP_PORT=3000                 # HTTP transport port
CYBERCHEF_HTTP_HOST=127.0.0.1            # HTTP bind address (use 0.0.0.0 in a container)
CYBERCHEF_ALLOWED_HOSTS=                 # Comma-separated Host allowlist. DNS-rebinding protection
                                         # is ON by default (loopback names). Set this when binding
                                         # a non-loopback address; `*` disables the check.
CYBERCHEF_ALLOWED_ORIGINS=               # Comma-separated Origin allowlist; enables CORS. Required
                                         # by browser MCP clients (e.g. MCP Inspector's web UI).
CYBERCHEF_SESSION_TIMEOUT=1800000        # Idle HTTP session reap threshold (30 min)
CYBERCHEF_HTTP_MAX_BODY=4194304          # Maximum accepted HTTP request body (4 MiB)
CYBERCHEF_HTTP_PATH=/mcp                 # MCP endpoint path; any other path returns 404
CYBERCHEF_MAX_SESSIONS=100               # Cap on concurrent HTTP sessions; initialize 503s beyond it

# Worker Thread Pool (v1.9.0+)
CYBERCHEF_WORKER_MIN_THREADS=1           # Minimum worker threads
CYBERCHEF_WORKER_MAX_THREADS=4           # Maximum worker threads
CYBERCHEF_WORKER_IDLE_TIMEOUT=30000      # Worker idle timeout in milliseconds
CYBERCHEF_WORKER_MIN_INPUT_SIZE=1024     # Minimum input size for worker routing (bytes)

# Performance (v1.4.0+)
CYBERCHEF_MAX_INPUT_SIZE=104857600       # Maximum input size (100MB)
CYBERCHEF_OPERATION_TIMEOUT=30000        # Operation timeout in milliseconds (30s)
CYBERCHEF_STREAMING_THRESHOLD=10485760   # Streaming threshold (10MB)
CYBERCHEF_ENABLE_STREAMING=true          # Enable streaming for large operations
CYBERCHEF_ENABLE_WORKERS=false           # Enable worker thread pool (disabled by default)
CYBERCHEF_CACHE_MAX_SIZE=104857600       # Cache maximum size (100MB)
CYBERCHEF_CACHE_MAX_ITEMS=1000           # Cache maximum items
設定例

高スループットサーバー(大容量ファイル向け)

docker run -i --rm --memory=4g \
  -e CYBERCHEF_MAX_INPUT_SIZE=524288000 \
  -e CYBERCHEF_STREAMING_THRESHOLD=52428800 \
  -e CYBERCHEF_CACHE_MAX_SIZE=524288000 \
  -e CYBERCHEF_OPERATION_TIMEOUT=120000 \
  ghcr.io/doublegate/cyberchef-mcp_v4:latest

メモリの少ない環境

docker run -i --rm --memory=512m \
  -e CYBERCHEF_MAX_INPUT_SIZE=10485760 \
  -e CYBERCHEF_STREAMING_THRESHOLD=5242880 \
  -e CYBERCHEF_CACHE_MAX_SIZE=10485760 \
  -e CYBERCHEF_CACHE_MAX_ITEMS=100 \
  ghcr.io/doublegate/cyberchef-mcp_v4:latest

カスタム制限を設定した Claude Desktop

{
  "mcpServers": {
    "cyberchef": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "CYBERCHEF_MAX_INPUT_SIZE=209715200",
        "-e", "CYBERCHEF_CACHE_MAX_SIZE=209715200",
        "ghcr.io/doublegate/cyberchef-mcp_v4:latest"
      ]
    }
  }
}

トラブルシューティング用のデバッグログ(v1.5.0+)

docker run -i --rm \
  -e LOG_LEVEL=debug \
  -e CYBERCHEF_MAX_RETRIES=5 \
  ghcr.io/doublegate/cyberchef-mcp_v4:latest

CPU 負荷の高い操作向けのワーカースレッドプール(v1.9.0+)

docker run -i --rm \
  -e CYBERCHEF_ENABLE_WORKERS=true \
  -e CYBERCHEF_WORKER_MAX_THREADS=8 \
  -e CYBERCHEF_WORKER_IDLE_TIMEOUT=60000 \
  ghcr.io/doublegate/cyberchef-mcp_v4:latest

ブラウザー/リモートクライアント向けの HTTP トランスポート(v1.9.0+)

docker run --rm -p 3000:3000 \
  -e CYBERCHEF_TRANSPORT=http \
  -e CYBERCHEF_HTTP_PORT=3000 \
  -e CYBERCHEF_HTTP_HOST=0.0.0.0 \
  -e CYBERCHEF_ALLOWED_HOSTS=localhost:3000,127.0.0.1:3000 \
  ghcr.io/doublegate/cyberchef-mcp_v4:latest

CYBERCHEF_ALLOWED_HOSTS は v2.0.0 で追加されました。DNS リバインディング対策はデフォルトで有効です。何も設定しない場合、サーバーは localhost、127.0.0.1、[::1] からのリクエストにのみ応答します。そのため、上記の例のようにループバック以外のアドレスにバインドする場合は、アクセスに使用するホスト名を指定する必要があります。

ループバックも例外ではありません。DNS リバインディングは、被害者のブラウザーに攻撃者が制御する名前を 127.0.0.1 に解決させ、ループバックへのアクセスを可能にする攻撃です。ブラウザーはそのリクエストを同一オリジンとして扱うため、プリフライトは送信されず、CYBERCHEF_ALLOWED_ORIGINS も関係しません。詳しくは HTTP トランスポートガイドをご覧ください。

v2.0.0 から複数のクライアントが同時に動作します。 それ以前は HTTP トランスポートがプロセス全体で 1 つのインスタンスだったため、最初に接続したクライアントだけが成功し、それ以降のクライアントはすべて Invalid Request: Server already initialized というエラーで拒否されていました(#36)。 現在は各クライアントに専用のセッションと MCP サーバーインスタンスが割り当てられます。 詳しくはHTTP トランスポートガイドをご覧ください。

パフォーマンスの詳細なチューニング方法については、パフォーマンスチューニングガイドをご覧ください。

パフォーマンスベンチマーク

ベンチマークスイートを実行して、お使いのハードウェアでのパフォーマンスを測定します:

# Install dependencies
npm install

# Generate required configuration
npx grunt configTests

# Run benchmarks
npm run benchmark

ベンチマークスイートでは、次のカテゴリを含む 20 種類以上の操作を、複数の入力サイズ(1KB、10KB、100KB)でテストします:

  • エンコード操作(Base64、Hex)
  • ハッシュ操作(MD5、SHA256、SHA512)
  • 圧縮操作(Gzip)
  • 暗号処理操作(AES)
  • テキスト操作(Regex)
  • 解析操作(エントロピー、頻度分布)

セキュリティ

このプロジェクトでは、継続的な改善を通じて包括的なセキュリティ強化を実施しています:

最新の機能強化(v1.6.0)
  • レシピ管理システム:複数の操作からなるワークフローを保存、整理、再利用できます
    • CRUD 操作:バージョン管理付きでレシピの作成、読み取り、更新、削除ができます
    • インポート/エクスポート:JSON、YAML、URL、CyberChef 形式に対応しています
    • レシピの構成:レシピ内にレシピをネストして、複雑なワークフローを作成できます
    • レシピライブラリ:5 つのカテゴリ(暗号、エンコード、データ抽出、フォレンジック、ネットワーキング)に分類された、厳選済みのサンプルを 25 件以上収録しています
    • 検証ツール:実行前に複雑さを見積もりながら検証できます
    • テストツール:デプロイ前にサンプル入力でレシピをテストできます
    • 新しい MCP ツール 10 個:レシピのライフサイクルを包括的に管理できます
    • 使い方の詳細はレシピ管理ガイドをご覧ください
オブザーバビリティの強化(v1.5.0)
  • エラーハンドリングの強化:本番環境でのデバッグに役立つ包括的なエラー報告
    • 8 種類のエラーコード:標準化されたエラー分類(INVALID_INPUT、MISSING_ARGUMENT、OPERATION_FAILED、TIMEOUT、OUT_OF_MEMORY、UNSUPPORTED_OPERATION、CACHE_ERROR、STREAMING_ERROR)
    • 詳細なコンテキスト:デバッグに役立つ詳細情報(入力サイズ、操作名、リクエスト ID、タイムスタンプ)
    • 復旧に関する提案:一般的な問題に対する、すぐに実行できる推奨事項
    • 再試行可能なエラーの分類:一時的な障害と恒久的な障害を自動的に区別
  • Pino による構造化ログ:本番環境での運用に適したオブザーバビリティ
    • JSON ログ:監視ツール(Datadog、Splunk、ELK)で処理できるログ
    • リクエストの相関付け:UUID に基づき、操作間でリクエストを追跡
    • パフォーマンス指標:処理時間、スループット、キャッシュヒット数、メモリー使用量
    • 設定可能なレベル:LOG_LEVEL 環境変数で debug、info、warn、error、fatal を指定
  • 自動再試行ロジック:一時的な障害に対するレジリエンス
    • 指数バックオフ:集中アクセスを防ぐジッターを加え、1s → 2s → 4s と間隔を延長
    • 設定可能な再試行回数:デフォルトは 3 回で、CYBERCHEF_MAX_RETRIES で変更可能
    • スマート検出:タイムアウト、メモリーの問題、ネットワークエラーを自動的に再試行
    • サーキットブレーカー:連続して 5 回失敗すると開き、障害の連鎖を防止
  • MCP ストリーミング基盤:大規模な操作で段階的に結果を返します
    • チャンク処理:100MB を超える入力をメモリー効率よく処理
    • 進捗報告:長時間実行される操作では 10MB ごとに更新
    • 14 種類の対応操作:エンコード(Base64、Hex)、ハッシュ(MD5、SHA ファミリー)、テキスト操作
    • 設定可能なしきい値:ストリーミングのチャンクサイズと進捗の報告間隔
セキュリティの強化(v1.4.6)
  • Chainguard Wolfi ベースイメージ:軽量で毎日再ビルドされ、CVE がない状態を基準とします
    • CVE がない状態を基準とする:毎日のセキュリティ更新と、重大なパッチに対する 7 日間の SLA
    • 攻撃対象領域を 70% 縮小:従来の Alpine/Debian イメージと比べて OS の占有領域を最小化
    • 非 root での実行:UID 65532(nonroot ユーザー)として実行し、イメージにパッケージマネージャーを含みません
    • SLSA ビルドレベル 3 の来歴情報:検証可能なサプライチェーンの完全性
    • マルチステージビルド:コンパイル用の -dev バリアントと、本番環境用の軽量なランタイムバリアント
  • 読み取り専用ファイルシステムのサポート:本番環境に適した不変デプロイ
    • /tmp への tmpfs マウントにより、docker run --read-only をサポート
    • PCI-DSS、SOC 2、FedRAMP の要件に対応したコンプライアンス対応
    • 例:docker run -i --rm --read-only --tmpfs /tmp:rw,noexec,nosuid,size=100m cyberchef-mcp
  • セキュリティスキャンの失敗しきい値:脆弱性を自動的に防止
    • CI/CD で、Trivy スキャナーに exit-code: '1' を設定
    • CRITICAL または HIGH の脆弱性が見つかると、ビルドは自動的に失敗
    • 脆弱なイメージが本番環境に到達するのを防止
  • 二重 SBOM 戦略:サプライチェーンの包括的な透明性を確保
    • その 1:自動レジストリスキャン(Docker Scout)用の Docker buildx アテステーション
    • その 2:オフラインでのコンプライアンス監査用の Trivy CycloneDX SBOM
    • 検証用に、両方の SBOM をリリースアセットとして添付
コードセキュリティ(v1.4.1+)
  • コードスキャンの脆弱性 12 件中 11 件を修正:包括的なセキュリティ強化が完了しました
    • CRITICAL:GOST ライブラリの安全でない暗号学的乱数生成を修正しました。Math.random() を crypto.randomBytes() に置き換えました
    • HIGH:6 つの操作にまたがる 7 件の ReDoS(正規表現によるサービス拒否)検出結果に対処しました
      • 撤回済み — この保護は現在存在しません。 修正では SafeRegex.mjs ヘルパーを影響を受ける操作にインポートしていました。これらの操作は src/core/operations/ にあり、upstream-sync.yml が上流からそのままコピーするため、後続の同期ですべてのインポートが削除されました。このモジュールは、もはや提供していない保護を提供しているかのように見せる不要なコードとして残さず、削除しました。
      • 検証内容と、そこから導かれる一般原則については、インシデント記録を参照してください。src/core/** 内の手作業による編集は、次回の同期で期限切れとなる修正です。
  • 1,933 件のテストすべてに合格:包括的なテストスイートでセキュリティ修正を検証しました
  • 詳細については、セキュリティ修正レポートを参照してください
サプライチェーンセキュリティ(v1.4.5+)
  • アテステーション付きの二重レジストリ公開:セキュリティの透明性とコンプライアンスを強化します
    • Docker Hub:Docker Scout のヘルススコア監視を備えた主要な配布先
    • GitHub Container Registry (GHCR):GitHub エコシステムとの統合を目的とした副次的な配布先
    • 両方のレジストリに、完全なアテステーション対応の同一イメージを配布します
  • Docker Scout アテステーション:ビルドの完全性とソフトウェアの透明性を確保します
    • プロベナンスアテステーション(mode=max):SLSA Build Level 3 準拠に必要な完全なビルドプロセスのメタデータ(ビルダー、素材、レシピ)
    • SBOM アテステーション:SPDX-JSON 形式のソフトウェア部品表を自動生成します
    • Docker Hub で最適な Docker Scout ヘルススコア(グレード A または B)を達成します
    • ヘルススコアの計算では 100 点中 15 点を占め、最も比重の高いポリシーカテゴリーの 1 つです
  • 二重 SBOM 戦略:包括的なソフトウェアの透明性を実現します
    • Docker アテステーション SBOM:レジストリベースの検証および docker sbom コマンドに対応するため、イメージマニフェストに添付されます
    • Trivy SBOM アーティファクト:オフライン監査やコンプライアンス報告に使用できるスタンドアロンの CycloneDX ファイルです
    • どちらの SBOM にも、バージョン情報を含む完全な依存関係ツリーが記載されています
  • Trivy 統合:すべてのビルドで、即時失敗のしきい値を適用してコンテナーと依存関係をスキャンします
  • GitHub Security タブ:すべての検出結果が SARIF として自動的にアップロードされます
  • 検証:docker scout quickview および docker sbom コマンドを使用して、ローカルでアテステーションを確認できます
コンテナーセキュリティ(v1.4.5+)
  • Chainguard Wolfi:CVE ゼロを基準とし、毎日再ビルドされます
  • 非 root 実行:コンテナーは UID 65532(nonroot)で実行されます
  • 読み取り専用ファイルシステム:変更不可のデプロイメントに対応する --read-only フラグをサポートします
  • 最小限の攻撃対象領域:パッケージマネージャーはありません(apk、wget、curl は含まれていません)。本番環境用の依存関係のみを含みます。BusyBox シェルと npm は含まれています――公開済みイメージを測定した結果、以前の説明とは異なることが判明した v3.2.0 までは、この行に「シェルなし」と記載されていました。コンテナーが侵害された場合の影響は、この点を踏まえて見積もってください。
  • ヘルスチェック:コンテナーのヘルスを標準で監視します
暗号学的強化(v1.2.5)
  • Argon2 の OWASP 準拠:デフォルトのパラメーターは OWASP 2024-2025 の推奨事項に従っています
    • タイプ:Argon2id(サイドチャネル攻撃と GPU 攻撃の両方に対するハイブリッド耐性)
    • メモリ:19 MiB(OWASP の最小値)
    • 反復回数:2(19 MiB に対する OWASP の推奨値)
  • 安全な乱数生成:すべての暗号処理で crypto.randomBytes() または crypto.getRandomValues() を使用します
  • CVE-2025-64756 を修正:glob のコマンドインジェクション脆弱性を解消するため、npm を更新しました
自動セキュリティスキャン
  • CodeQL 分析:セキュリティ脆弱性を継続的にコードスキャンします
  • 週次スキャン:定期スキャンで新たに発見された脆弱性を検出します
セキュアなデプロイ
# Recommended: Run with maximum security options
docker run -i --rm \
  --read-only \
  --tmpfs /tmp:rw,noexec,nosuid,size=100m \
  --cap-drop=ALL \
  --security-opt=no-new-privileges \
  cyberchef-mcp

# Note: the image already runs as non-root (UID 65532)
# --read-only requires tmpfs mount for /tmp directory

詳細については、以下をご覧ください:

プロジェクトのロードマップ

当初のロードマップでは、2027年8月までの6フェーズにわたる19回のリリースが計画されていました。しかし、計画はすでに追い越されています: 6つのフェーズすべてが完了し、プロジェクトはv4.2.0に到達しています。各フェーズの目的を記録するため、以下の表を残しています。docs/planning/ROADMAP.mdが最新の情報源であり、リリース済みの各バージョンについて行があります。

フェーズリリース時期主な内容状況
フェーズ1:基盤v1.2.0 - v1.4.62025年第4四半期 - 2026年第1四半期セキュリティ強化、アップストリームとの同期、パフォーマンス完了
フェーズ2:機能強化v1.5.0 - v1.7.32026年第2四半期ストリーミング、レシピ管理、バッチ処理完了
フェーズ3:成熟v1.8.0 - v2.0.02026年第3四半期API の安定化、アップストリームへの追随、ライセンス変更、v2.0.0v2.0.0 リリース済み
フェーズ4:拡張v2.2.0 - v2.4.02026年第4四半期マルチモーダル(v2.2.0 リリース済み)、プロトコルの最新化とトランスポート(v2.3.0 リリース済み)、ツールレジストリと最初の4つのツール(v2.4.0 リリース済み)完了
フェーズ5:エンタープライズv2.5.0 - v2.7.02027年第1四半期OAuth 2.1、RBAC、監査ログとマルチテナント(v2.5.0 リリース済み)、水平スケーリングとデプロイ(v2.6.0 リリース済み)、メトリクス、トレーシング、ダッシュボード(v2.7.0 リリース済み)完了
フェーズ6:進化v2.8.0 - v3.0.02027年第2〜第3四半期エッジデプロイ、AI ネイティブ機能、v3.0.0完了 — しかも前倒しで、v3.0.0 は2027年第3四半期ではなく2026年9月にリリースされました
計画以降v3.1.0 - v4.2.02026-09公式スイートへの準拠、マジックの再ランキング、arm64 ベンチマーク、PQC の識別、v2 移行用インターフェースの廃止(v4.0.0)、v4.1.0 のツールインターフェース関連作業、v4.2.0 のディスパッチ統合リリース済み。当初の6フェーズには含まれていません

外部プロジェクトとの統合 — 実際に実現したこと。 計画ツリー (外部プロジェクトとの統合、30件のドキュメント)では、8つのセキュリティプロジェクトから80〜120個の新しいツールを追加する計画でした。すでに存在する504の操作と照らし合わせた結果、その数は大幅に縮小されました: v2.4.0で4つのツールがリリースされました。xortool、pwntools、RsaCtfTool、hashcat、John を基にしたものです。さらに、現在は19個が存在します。そのうち12個はv3.3.0で、v3.4.0、v3.8.0、v3.11.0でそれぞれ1個ずつ追加されました。8つのプロジェクトのうち4つは、必要な機能がすでに存在していたため、何も追加しませんでした。MagicでCiphey、Ares、katanaのコア機能をカバーでき、cryptiiのエンコーディングにも既存の操作で26個の同等機能があります。cyberchef-recipesのプリセットコーパスは、まだ構築されていません。何をどこから取り入れたかについては、THIRD-PARTY-NOTICES.mdをご覧ください。

リリース済みの内容についてはロードマップ全体をご覧ください。今後注視している内容についてはv4の計画をご覧ください。このプロジェクトでメジャーバージョンを上げるのは、プロトコル上の必要性が生じたときであり、単に次の番号だからではありません。

ドキュメント

初めての方は、まずチュートリアルをご覧ください — インストールから実際のサンプルのデコードまで、最初の1時間をガイドします。続いてexamples/にある、実行可能な8つのスクリプトをご覧ください。これらは変更のたびに CI で実行されるため、コードと乖離することはありません。

詳細なドキュメントはdocs/ディレクトリにまとめられています:

ユーザーガイド
開発ガイド
技術ドキュメント
プロジェクト管理
  • 製品ロードマップ:v1.1.0 → v3.9.0 がリリース済み。各リリースで計画した内容ではなく、実際に明らかになった内容を記載しています
  • v4 の計画:測定に基づく計画が1つと、簡潔な憲章が9つあります。測定結果によれば、MCP のドラフト仕様には2026-07-28以降変更がないため、v4.0.0のリリース予定はありません
  • タスク:リリースごとに整理された500件以上の実装タスク
  • 開発フェーズ:各開発フェーズのスプリント内訳
  • リリース計画:個別リリースの仕様(v1.2.0 - v3.0.0)
  • プロジェクト概要:プロジェクトの内部概要
戦略計画
v2.0.0 統合計画
  • 外部プロジェクトの統合:v2.0.0以降の統合に関する包括的な計画
    • 概要:統合戦略とアーキテクチャ(4フェーズ、12スプリント、新規ツール80~120個)
    • フェーズ計画:基盤、JavaScript ネイティブ、アルゴリズムの移植、高度な機能
    • スプリント計画:タスクリストを含む12件の詳細なスプリント内訳
    • ツール統合計画:ツールごとの統合戦略(Ciphey、cryptii、xortool、RsaCtfTool、John、pwntools、katana、レシピ)
    • 技術ガイド:ツールの登録、アルゴリズムの移植、テスト、依存関係
リファレンスドキュメント
セキュリティとリリース
  • セキュリティポリシー:セキュリティポリシーと脆弱性の報告
  • セキュリティ監査:包括的なセキュリティ評価
  • セキュリティ修正レポート:11 件の脆弱性修正(ReDoS と暗号技術上の弱点)の詳細レポート
  • セキュリティ修正の概要:最近のセキュリティ改善をすばやく確認できます
  • v2.0.0 の破壊的変更:非推奨コード、例、FAQ を含む v2.0.0 への包括的な移行ガイド
  • リリースノート v4.2.0:均一な 10 個のうち 8 個にメタツールを追加するための場所を 1 か所にまとめ、ディスパッチ分岐を 24 個から 16 個に削減しました。また、中心的な主張が 2 つとも誤っていたリリースです。構築を目指したゲートは v3.7.0 から存在しており、「同一」とされた 2 つのレシピ分岐は同一ではありませんでした(recipe_execute は入力サイズをチェックし、recipe_export はテーブルによって二重エンコードされていました)。実際のクライアントを通じてバイト単位で動作の維持を証明しました
  • リリースノート v4.1.0:レジストリツールにナビゲーション経路を設け、デフォルトの表示対象から除外しました。インデックスは 41 ツール/44,968 バイトから 23 ツール/15,620 バイトに減り、到達不能になったものはありません。また、憲章の主要な主張は算術的に不可能であることが判明しました
  • リリースノート v4.0.0:v2 移行向け機能を廃止しました。非推奨システム、2 つの移行ツール、cyberchef-migrate bin は、9 マイナーバージョン前の移行のためにすべての表示面で告知されていました
  • リリースノート v3.11.0:耐量子識別(cyberchef_pqc_identify、NIST の 18 種すべてのパラメーターセット)を追加しました。また、前回のリリースで警告した余裕の少ないカバレッジが、わずか 1 リリース後に影響しました
  • リリースノート v3.10.0:テストでインポートするたびに runServer() が実行され、23 ファイルで process.exit(1) が有効になっていました。修正するとカバレッジがゲートを下回りました。バグ自体が実行されていたためです
  • リリースノート v3.9.0:憲章を設けず、測定結果に基づいて範囲を定めたリリースです。マジック候補の再ランキング、ワークフローごとに 1 つのアクションバージョン、実際のクライアントを通じて測定した表示面の数値を含みます
  • リリースノート v3.8.0:持ち越された 2 つのブロッカーは、実際にはブロック要因ではありませんでした。arm64 のベンチマークはすでにハードウェア CI で使用されており、cyberchef_cert_chain も同様でした
  • リリースノート v3.7.0:11 ファイル中 4 ファイルしか確認しない整合性ゲートを追加しました。操作数を確認する部分は、自身で対象を検出するようになりました
  • リリースノート v3.6.0:ベンチマークゲートを測定に基づいて確立しました。妥当そうな閾値ではなく、意図的に調整可能な速度低下を発生させて、ノイズフロアと検出曲線を求めました
  • リリースノート v3.5.0:同一ホストでのベンチマーク比較と、所有権の証明が追加されて以来 count: 0 を返していた MCP レジストリのリスト表示を修正しました
  • リリースノート v3.4.0:一度も動作していなかった 3 つの操作と、cyberchef_ecdsa_recover を追加しました
  • リリースノート v3.3.0:12 個の解析ツールを追加しました。古典暗号、クリブドラッギング、エントロピーのスキャン、ハッシュの解読と統計、JWT の弱点、平文のスコアリング、複数鍵 RSA、換字式暗号とヴィジュネル暗号の解読、タイムスタンプの識別、コーパスの差分比較
  • リリースノート v3.2.0:すべてのゲートを、それぞれの主張と照らし合わせて確認しました。失敗しないとされていたベンチマークワークフローと、シェルがあるのにシェルなしのベースイメージと説明していた 2 つのドキュメントを修正しました
  • リリースノート v3.1.0:2026 年代のエンコード境界にキャッシュヒントを追加し、適合性スイートを判定基準として採用しました
  • リリースノート v3.0.0:MCP 2026-07-28 への適合と、それに伴う破壊的な整理を行いました。スコープフィルタリングを接続し、エラーコードを統一しました。また、このリリース自体の npm 公開を黙ってスキップしていた公開ガードを修正しました
  • リリースノート v2.10.0:v2.0.0 で告知され、ここで初めて実際に読み込まれた統合設定ファイルを追加しました。61 個の設定を扱い、環境変数、ファイル、デフォルトの順に優先し、不明なキーがある場合は安全側に失敗します
  • リリースノート v2.9.0:キャッシュより先に表示出力を解決するようにし、JSON Beautify が解析できない JSON を返す問題を修正しました
  • リリースノート v2.8.1:一方の端だけをテストし、もう一方の端のイメージを配布していた状態を改め、サポート対象の Node 範囲の両端を CI でテストするようにしました
  • リリースノート v2.8.0:amd64 に加えて linux/arm64 を追加し、インフラストラクチャのスキャンを導入しました
  • リリースノート v2.7.0:npm prune --omit=dev によりイメージを 643 MB から 453 MB に削減し、API のみに OpenTelemetry スパンを追加しました
  • リリースノート v2.6.0:505 個すべての操作のインポートを遅延させ、起動時間を約 1300 ms から約 185 ms に短縮しました。ヘルスプローブと、ローリングアップデート時にリクエストを失わないドレイン機能、Helm チャートと Compose ファイル、認可サーバーへの呼び出しに対する 5 s の期限とサーキットブレーカーを追加しました。範囲を再設定: 計画にあった Redis セッションストアは、MCP 2026-07-28 で削除された問題を解決するものでした。プロトコルにセッションはありません。MCP テストは 1,246 件です。
  • リリースノート v2.5.0:マルチテナンシーにより、エンタープライズ機能のマイルストーンが完了しました。キャッシュ、レシピストア、同時実行プール、監査証跡をテナントごとに分離し、ID は検証済みのトークンからのみ取得します。また、v1.7.0 以来一度も制限を行っていなかったレートリミッターを修正しました。リクエストごとの UUID をキーにしていたため、上限 5 に対する 1000 件のリクエストで拒否は 0 件、マップエントリーは 1000 件リークしていました。MCP テストは 1,218 件です。
  • リリースノート v2.4.0:ツールレジストリと最初の 4 つのツールを追加しました。偶然一致指数による XOR キー長の推定、pwntools と互換性のあるド・ブリュインパターン、hashcat モードを使ったハッシュの識別、4 つの RSA 攻撃です。プラグインローダーは追加していません。node:vm の測定結果が、その選択を裏付けています。実施されていない作業を記載した 3 つのドキュメントを修正しました。
  • リリースノート v2.3.0:stdio と HTTP でプロトコルリビジョン 2026-07-28 に対応し、ソケットトランスポートを追加して npm 配布の障害を取り除きました。17 個の画像操作が画像ではなく、プールされたバッキング ArrayBuffer(無関係なバイト列)を返していた問題を修正し、Add Text To Image が初めて動作するようになりました。カバレッジゲートを 75/70/90/75 から 95/88/96/96 に引き上げました。MCP テストは 1,023 件です
  • リリースノート v2.2.0:画像と音声をコンテンツブロックとして扱い(Generate QR Code は "" を返し、動作していませんでした)、527 個すべてのツールにツールアノテーションを追加しました。プロンプトとリソース、OpenSSL からの LM Hash の削除、不明な引数を黙ってデフォルト値にせず拒否する機能を追加しました。MCP テストは 955 件です
  • リリースノート v2.1.0:ツールリストの階層化(tools/list を約 97%縮小)、Zod 4 のスキーマ修正、10 個すべてのフロー制御操作の動作確認、AES とその他 62 個の toggleString 操作の修正、ログの stderr への出力、60s のシャットダウン停止の解消、チュートリアルと実行可能な例 8 件
  • リリースノート v2.0.0:上流 v11.4.0(504 個の操作)、GPL-3.0-or-later へのライセンス変更、Node 24 の最低要件、セッションごとの HTTP トランスポート(#36)、272 件のセキュリティ上の問題を解消、MCP テスト 757 件
  • オープンアラートの対応状況:Dependabot とコードスキャンのすべてのアラートについて、修正、理由を添えた抑制、または理由を明示した却下を行いました
  • リリースノート v1.9.0:MCP ストリーミング、ワーカースレッドプール、HTTP トランスポート、上流 v10.20.0、セキュリティ更新、テスト 689 件
  • リリースノート v1.8.0:破壊的変更への準備として、非推奨警告、移行プレビュー用ツール、v2.0.0 互換モードを追加しました
  • リリースノート v1.7.3:リファレンスドキュメントと v2.0.0 統合の計画を追加しました。新しいドキュメント 42 件、包括的なセキュリティツールリファレンスを含みます
  • リリースノート v1.7.2:CI の改善、テストの拡充、ドキュメントの更新を行いました。ワークフローの強化、新しいテスト 150 件、指標の訂正を含みます
  • リリースノート v1.7.1:リポジトリを整理し、ワークフローを強化しました。未使用ファイル 88 件を削除し、上流との同期を改善しました
  • リリースノート v1.7.0:バッチ処理、テレメトリー、レート制限、キャッシュの強化、リソースクォータなどの高度な機能を追加しました
  • リリースノート v1.6.2:技術的負債を修正しました。ESLint エラーを解消し、ENABLE_WORKERS のデフォルトを訂正しました
  • リリースノート v1.6.1:包括的なテストカバレッジ(テスト 311 件、カバレッジ 78.93%)と Codecove 統合を追加しました
  • リリースノート v1.6.0:CRUD 操作、インポート/エクスポート、厳選ライブラリを備えたレシピ管理システムを追加しました
  • リリースノート v1.5.0:エラー処理の強化、構造化ログ、自動再試行、ストリーミング基盤を追加しました
  • リリースノート v1.4.6:スプリント 1 のセキュリティ強化として、Chainguard の distroless への移行、CVE ゼロのベースライン、読み取り専用ファイルシステムへの対応を行いました
  • リリースノート v1.4.5:サプライチェーンの証明書とドキュメントの再編成を追加しました
  • リリースノート v1.4.4:Docker Hub のビルドを修正し、セキュリティ脆弱性 12 件を修正しました
  • リリースノート v1.4.3:依存関係の解決と Node.js 22 との互換性に対応しました
  • リリースノート v1.4.2:CI/CD を改善し、警告ゼロのワークフローを実現しました
  • リリースノート v1.4.1:セキュリティパッチとして、コードスキャンの脆弱性 11 件を修正しました
  • リリースノート v1.4.0:キャッシュ、ストリーミング、リソース制限によるパフォーマンス最適化を行いました
  • リリースノート v1.3.0:包括的なテストを備えた上流との同期自動化を追加しました
  • リリースノート v1.2.6:ウェブアプリ向けに nginx:alpine-slim を最適化しました
  • リリースノート v1.2.5:OWASP Argon2 の強化を含むセキュリティパッチを適用しました
  • リリースノート v1.2.0:セキュリティ強化リリースです
  • リリースノート v1.1.0:セキュリティ修正と Node.js 22 との互換性に対応しました
  • リリースノート v1.0.0:初の MCP サーバーリリースです

開発

ローカルセットアップ

Docker を使用せずにサーバーコードを変更する場合:

  1. 指定された Node バージョンを使用します。 .nvmrc では 26 が指定されています(engines: >=26 <27 およびすべての CI ワークフローと一致)。そのため、nvm use / fnm use で適切なバージョンが選択されます。バージョンマネージャー任せにせず、確認することをおすすめします。v4.0.0 までは、このファイルに 24 と記載されていた一方で、最低要件はすでに 26 だったため、バージョンマネージャーがリリース全体を通して、最低要件を下回る Node をひそかに選択していました。
    nvm use    # または: fnm use
    node --version   # v26.x が表示されることを確認
    
  2. 依存関係をインストールします:
    npm install
    
  3. 設定を生成します:(内部オペレーションリストのビルドに必要です)
    npx grunt configTests
    
  4. サーバーを実行します:
    npm run mcp
    
CI/CD

このプロジェクトでは、安定性とセキュリティを確保するために GitHub Actions を使用しています。

コア開発ワークフロー:

  • MCP サーバー CI (core-ci.yml):Node.js 26 で、基盤となる CyberChef のロジックと設定生成をテストします
  • Docker ビルド (mcp-docker-build.yml):cyberchef-mcp Docker イメージをビルド、検証し、セキュリティスキャンを実行します
  • プルリクエストのチェック (pull_requests.yml):プルリクエストに対するテストと検証を自動で実行します
  • パフォーマンスベンチマーク (performance-benchmarks.yml):コード変更時にパフォーマンスのリグレッションテストを自動で実行します(v1.4.0 以降)

コード品質とカバレッジ:

  • Codecov との連携:以下の 3 つのコンポーネントを使用した、包括的なコード品質分析
    • カバレッジ分析:V8 プロバイダーを使用したカバレッジ追跡の自動化と、プルリクエストでのステータスチェック
      • プロジェクトカバレッジのしきい値:95%(codecov.yml)
      • パッチカバレッジのしきい値:新規コードは 90%
      • 複数のカバレッジ形式:lcov、JSON、HTML、Cobertura
      • コンポーネント単位の追跡:MCP サーバー、コアオペレーション、Node API
    • バンドル分析:@codecov/webpack-plugin による Webpack バンドルサイズの追跡と可視化
      • プルリクエストでバンドルサイズの変更を自動検出
      • バンドルサイズの推移と最適化に関する分析を履歴として表示
      • ローカル開発向けのドライランモード
    • テスト分析:JUnit XML テスト結果の報告と分析
      • テストパフォーマンスを経時的に追跡
      • 不安定なテストを検出
      • テスト実行時間を監視
    • 設定項目:codecov.yml、カバレッジフラグ、しきい値、PR へのコメント
    • セットアップと使用方法の詳細は、Codecov 連携ガイドを参照してください

セキュリティとリリースのワークフロー:

  • セキュリティスキャン (security-scan.yml):Trivy による脆弱性スキャン、SBOM の生成、毎週の定期スキャン
  • CodeQL 分析 (codeql.yml):コードの脆弱性を自動でスキャンします(CodeQL v4)
  • リリース (mcp-release.yml):バージョンタグ(v*)に対して、SBOM を添付して Docker イメージを GHCR に公開し、GitHub リリースを自動作成します

上流同期の自動化(v1.3.0 以降):

  • 上流モニター (upstream-monitor.yml):GCHQ/CyberChef の新しいリリースを毎週(日曜日の UTC 正午)確認し、レビュー用の GitHub Issue を作成します
  • 上流同期 (upstream-sync.yml):ファイルを選択して同期するワークフローです。src/core/operations/*.mjs ファイルのみをコピーし、削除済みの Web UI コンポーネントの復元を防ぎ、レビュー用の PR を作成します
  • ロールバック (rollback.yml):状態比較と ref-proj のガイダンスを備えた緊急ロールバック機能です

すべてのワークフローで、セキュリティスキャンと SARIF アップロードに最新の CodeQL Action v4 を使用しています。

テスト
# Run all tests (requires Node.js >=26 <27; 241 Node-API + 2,289 operation tests)
npm test

# Run MCP validation test suite (1,728 tests across 75 files, with Vitest)
npm run test:mcp

# Run MCP tests with coverage report
npm run test:coverage

# Run performance benchmarks (v1.4.0+)
npm run benchmark

# Test Node.js consumer compatibility
npm run testnodeconsumer

# Lint workflows (matches the CI gate)
actionlint .github/workflows/*.yml

# Lint code
npm run lint

テストカバレッジ: MCP サーバーでは、包括的なテストカバレッジを維持しています。

  • MCP テスト 1,728 件を 75 個のテストスイートで実施し、さらに Node-API テスト 241 件、操作テスト 2,289 件、CI で実行される実行可能なサンプル 9 件があります
  • カバレッジのしきい値(vitest.config.mjs):行 96%、ステートメント 95%、分岐 89%、関数 96%。src/node/lib/** は別に、行 99%、ステートメント 99%、分岐 94%、関数 100% を維持しています
  • 現在のカバレッジ:行 96.44%、ステートメント 95.50%、関数 96.84%、分岐 89.88%(しきい値は行/分岐/関数/ステートメントの順に 96/89/96/95)
  • 注:個別のテストスイート名は、一覧が 3 度古くなったため、ここには記載していません。 ls tests/mcp/*.test.mjs が最新の一覧です。

貢献

MCP アダプターへの貢献を歓迎します。以下のような貢献をお待ちしています。

  • バグ報告:再現手順を詳しく記載して issue を作成してください
  • 機能リクエスト:まず ロードマップ を確認してから、issue を作成してください
  • プルリクエスト:作業が必要な領域については タスク をご覧ください
  • ドキュメント:ガイドやサンプルの改善はいつでも歓迎します
開発ワークフロー
  1. リポジトリをフォークします
  2. 機能ブランチを作成します(git checkout -b feature/amazing-feature)
  3. 変更を加え、十分にテストします
  4. 規約に沿ったコミットメッセージ(feat:、fix:、docs: など)でコミットします
  5. フォークにプッシュし、プルリクエストを送信します

CyberChef のコア操作への貢献については、元の GCHQ リポジトリをクレジットしてください。

リポジトリ情報

  • オリジナルの CyberChef: GCHQ/CyberChef
  • MCP フォーク: doublegate/CyberChef-MCP
  • コンテナレジストリ:
    • Docker Hub(プライマリ): parobek/cyberchef-mcp - Docker Scout のヘルススコアとアテステーション付き
    • GHCR(セカンダリ): ghcr.io/doublegate/cyberchef-mcp_v4 — v4.x。パッケージ名にメジャーバージョンが含まれるため、各系統はそれぞれ独自のイメージを維持し、既存のイメージを置き換えません。v3.x は cyberchef-mcp_v3、v2.x は cyberchef-mcp_v2 のままです。
    • GHCR(v1、凍結): ghcr.io/doublegate/cyberchef-mcp_v1
      • 引き続きプルできます。v1.9.x 系統では、2027 年 3 月頃までセキュリティ関連のパッチのみを受け取ります。
      • GPL-3.0-or-later ではなく、Apache-2.0 です。
      • #36 で報告された、プロセス全体で単一の HTTP トランスポートを使用する仕様が残っているため、一度に接続できる HTTP クライアントは 1 つだけです。この問題は v2.x で修正されており、バックポートされていません。
  • npm パッケージ: cyberchef-mcp — v2.5.0 以降、各バージョンタグで CI から公開されています。npx cyberchef-mcp でインストールせずにサーバーを実行できます。npm install -g cyberchef-mcp で cyberchef-mcp バイナリをインストールできます。MCP レジストリのリスティングが参照するアーティファクトはこのパッケージです。そのため、リリースジョブではリスティングを公開する前に、npm からパッケージを取得できるようになるのを待ちます。
  • Glama リスティング: doublegate/CyberChef-MCP — README を読むのではなく、サーバーを起動してその内容を調査する、独立したサードパーティのディレクトリです。調査結果に基づいて品質とメンテナンス状況を評価します。所有権はリポジトリのルートにある glama.json で宣言されています。上と下にあるバッジには最新のスコアがリアルタイムで表示されます。サービスからコピーした数値は古くなるため、意図的にこのファイルには転記していません。
  • 課題トラッカー: GitHub Issues

CyberChef MCP サーバー – Glama の品質およびメンテナンススコア

サポート

このプロジェクトが役に立った場合は、開発への支援をご検討ください。

コーヒーをおごる Thanks.dev

ライセンス

v2.0.0 以降、CyberChef-MCP は GPL-3.0-or-later の下でライセンスされています。 v1.9.x 以前のバージョンは引き続き Apache-2.0 であり、影響を受けません。

上流の CyberChef は Apache 2.0 ライセンス の下で公開され、 Crown Copyright の対象となっています。 上流から継承したファイルには引き続き Apache-2.0 のヘッダーが付いており、ライセンス全文は LICENSE.Apache-2.0 に保存されています。これは GCHQ のコードを再ライセンスするものではありません。Apache-2.0 が GPLv3 との一方向の互換性を認めているため、GPLv3 が適用されるのは 結合作品 です。

この変更は、v2.0.0 に GPL ライセンスのリファレンスツール由来のアルゴリズムを組み込んだことで必要になりました。 katana は GPL-3.0-or-later(そのため GPLv2 は不可)、John the Ripper は GPL-2.0-or-later であり、Apache-2.0 は GPLv3 とは互換性がありますが、GPLv2 とは互換性がありません。3 つすべてを認めるライセンスは GPL-3.0-or-later のみです。その理由は ADR 0001 に記録されており、コンポーネントごとの帰属表示は THIRD-PARTY-NOTICES.md に記載されています。

利用者への影響: CyberChef-MCP を実行すること(HTTP 経由で提供する場合を含む)に義務は発生しません。GPLv3 にはネットワーク利用に関する条項がないためです。一方、派生物 を配布する場合は、その派生物も GPLv3 にする必要があります。GPLv3 が利用方針に合わない場合は、引き続き Apache-2.0 であり、LTS 期間中はセキュリティ修正のみが提供される v1.9.x 系をご利用ください。

コメント

MCP は初めてですか?

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

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