mcpField
D
Darkmoon

Darkmoon

本地服务
github.com/ASCIT31安全03 周前更新

关于 Darkmoon

Darkmoon 是让客户端操作自托管 Darkmoon Pro 仪表板、执行自动化渗透测试的 MCP 服务。它支持授权测试及只读访问活动和发现项;需要 Darkmoon Pro,单独的开源 CLI 不适用。

主要功能

  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 等)操控 Darkmoon,这是一个开源(GPL-3.0)的自主 AI 渗透测试平台。

需要 Darkmoon Pro

Darkmoon 引擎和 CLI 为开源项目。此服务会连接 Darkmoon Dashboard API,该 API 属于 Darkmoon Pro,且始终需要自托管:没有公开托管的端点,因此你需要提供自己实例的基础 URL。仅使用开源 CLI 时无法运行此服务。

工具

工具描述
run_pentest针对一个获准的目标启动自主渗透测试,并返回 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

许可证

GPL-3.0-only,与 Darkmoon 相同。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。