mcpField
D
Darkmoon

Darkmoon

ローカル
github.com/ASCIT31セキュリティ03 週間前に更新

Darkmoon について

Darkmoonは、セルフホストしたDarkmoon Proダッシュボードを操作し、自動ペネトレーションテストを行うMCPサーバーです。許可されたテストの実行と、キャンペーンや検出事項の読み取りに対応します。オープンソースCLIだけでは動作せず、Darkmoon Proが必要です。

主な機能

  1. 01ペネトレーションテストの開始
  2. 02実行状況の確認
  3. 03ダッシュボードのキャンペーン一覧
  4. 04検出事項と重大度統計の閲覧

活用シーン

  1. 01許可済みターゲットの評価開始
  2. 02テスト実行の完了確認
  3. 03ダッシュボード上のキャンペーン確認
  4. 04検出事項と重大度統計の調査

MCP 対応

MCPサーバーは、ペネトレーションテストの開始・確認と、キャンペーンや検出事項の閲覧ツールを提供します。指定したセルフホストのDarkmoon Pro Dashboard APIに接続します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"ascit31-darkmoon": {
"command": "npx",
"args": [
"-y",
"@darkmoon_ai/mcp-server"
],
"env": {
"DARKMOON_BASE_URL": "<DARKMOON_BASE_URL>",
"DARKMOON_USERNAME": "<DARKMOON_USERNAME>",
"DARKMOON_PASSWORD": "<DARKMOON_PASSWORD>",
"DARKMOON_TOKEN": "<DARKMOON_TOKEN>"
}
}
}
}
起動コマンドnpx -y @darkmoon_ai/mcp-server
設定が必要な環境変数
DARKMOON_BASE_URLBase URL of your self-hosted Darkmoon Pro Dashboard API
DARKMOON_USERNAMEDashboard user
DARKMOON_PASSWORDシークレットDashboard password
DARKMOON_TOKENシークレットPre-issued JWT, alternative to username/password

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

パッケージ
npm@darkmoon_ai/mcp-server0.1.0

ツール

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

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

詳細

@darkmoon_ai/mcp-server

MCP クライアント(Claude Desktop、Goose、Continue、LibreChat など)から、オープンソース(GPL-3.0)の自律型 AI ペネトレーションテストプラットフォームである Darkmoon を操作できる Model Context Protocol サーバーです。

Darkmoon Pro が必要です

Darkmoon エンジンと CLI はオープンソースです。このサーバーは Darkmoon Pro の一部である Darkmoon Dashboard API と通信し、常にセルフホストで利用します。公開ホスト型のエンドポイントはないため、ご自身のインスタンスのベース URL を指定してください。オープンソースの CLI のみでは動作しません。

ツール

ツール説明
run_pentest許可された 1 つのターゲットに対して自律型ペネトレーションテストを開始し、run_id を返します
get_run_status実行ログに基づいて、実行の状態として running、completed、error、または unknown を報告します
list_campaignsダッシュボードユーザーに表示されるキャンペーンを一覧表示します(読み取り専用)
get_findingsキャンペーンの脆弱性と深刻度の統計情報を取得します(読み取り専用)

ご自身が所有するシステム、またはテストの書面による明示的な許可を得ているシステムのみを評価してください。検出結果には誤検知が含まれる可能性があるため、資格を持つ人間が確認する必要があります。

設定

変数説明
DARKMOON_BASE_URLDarkmoon Pro Dashboard API のベース URL(必須)
DARKMOON_USERNAME、DARKMOON_PASSWORDダッシュボードの認証情報。呼び出しごとに JWT を要求し、キャッシュしません
DARKMOON_TOKENユーザー名/パスワードの代替。事前に発行された JWT
DARKMOON_TIMEOUT_MSリクエストごとのタイムアウト(任意)。デフォルトは 60000 です

クライアントの設定

Claude Desktop(claude_desktop_config.json)、Continue、LibreChat では同じ mcpServers 形式を使用します。

{
  "mcpServers": {
    "darkmoon": {
      "command": "npx",
      "args": ["-y", "@darkmoon_ai/mcp-server"],
      "env": {
        "DARKMOON_BASE_URL": "https://darkmoon.example.internal",
        "DARKMOON_USERNAME": "your-dashboard-user",
        "DARKMOON_PASSWORD": "your-dashboard-password"
      }
    }
  }
}

Goose(~/.config/goose/config.yaml):

extensions:
  darkmoon:
    type: stdio
    enabled: true
    name: darkmoon
    cmd: npx
    args: ["-y", "@darkmoon_ai/mcp-server"]
    envs:
      DARKMOON_BASE_URL: https://darkmoon.example.internal
      DARKMOON_USERNAME: your-dashboard-user
      DARKMOON_PASSWORD: your-dashboard-password

Continue(.continue/mcpServers/darkmoon.yaml):

name: Darkmoon
version: 0.1.0
schema: v1
mcpServers:
  - name: darkmoon
    command: npx
    args: ["-y", "@darkmoon_ai/mcp-server"]
    env:
      DARKMOON_BASE_URL: https://darkmoon.example.internal
      DARKMOON_USERNAME: your-dashboard-user
      DARKMOON_PASSWORD: your-dashboard-password

開発

npm install
npm run build
npm test      # mocked Dashboard API, in-memory MCP client and a real stdio process

ライセンス

Darkmoon と同じ GPL-3.0-only です。

コメント

MCP は初めてですか?

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

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