Skip to main content
Glama

nuclei-mcp

一个受限的 Nuclei MCP 服务器,拒绝扫描任何未在您的 HackerOne 范围快照中找到的目标。作为 h1-scope-watcher 的配套工具使用。


架构

Copilot/Claude (AI agent)
    │
    │  MCP (stdio)
    ▼
nuclei-mcp container
    │  reads scope
    ├──────────────────► /data/snapshots/*.json  ◄─── h1-scope-watcher writes here
    │  runs scan
    └──────────────────► nuclei binary (built-in)

这两个容器共享挂载为卷的相同主机目录h1-scope-watcher 负责保持 JSON 文件为最新状态;nuclei-mcp 仅读取它们。


Related MCP server: shodan-mcp

范围门控 — 工作原理

每次调用 nuclei_scancheck_scope 时,在接触网络之前都会运行以下逻辑:

  1. /data/snapshots 加载所有 *.json 文件

  2. 尝试精确主机名匹配(例如 api.life360.com → 匹配 api.life360.com

  3. 尝试通配符匹配(例如 sub.tile.com → 匹配 *.tile.com

  4. 尝试模糊关键字匹配(例如 life360 → 查找 api.life360.com, api-cloudfront.life360.com

  5. 检查 eligible_for_bounty == trueeligible_for_submission == true

  6. 如果任何检查失败则拦截 — 无异常,无覆盖


快速入门

1. 构建镜像

cd nuclei-mcp
docker build -t nuclei-mcp .

2. 添加到您的 Claude/Copilot MCP 配置

打开 claude_desktop_config.json(或等效文件)或 mcp-config.json (copilot) 并添加:

{
  "mcpServers": {
    "h1-scope-watcher": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "D:/projects/H1-Scope-Watcher/snapshots:/data/snapshots",
        "-e", "SNAPSHOTS_DIR=/data/snapshots",
        "mcp/h1-scope"
      ]
    },
    "nuclei-mcp": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "D:/projects/H1-Scope-Watcher/snapshots:/data/snapshots",
        "-e", "SNAPSHOTS_DIR=/data/snapshots",
        "nuclei-mcp"
      ]
    }
  }
}

关键点:两个容器都挂载了完全相同的主机路径 (D:/projects/H1-Scope-Watcher/snapshots),因此它们无需任何额外的网络或 IPC 即可共享范围数据。

H1-Scope-Watcher

MCP 工具

nuclei_scan

运行 Nuclei 扫描 — 受范围门控限制。

参数

类型

默认值

描述

target

string

域名、URL 或模糊名称(例如 "life360"

templates

string

""

逗号分隔的模板路径/标签

severity

string

""

"critical,high" 等(为空则表示全部)

rate_limit

int

150

每秒请求数

extra_flags

string

""

任何额外的原始 nuclei 标志

示例提示词:

  • "Run nuclei on life360"

  • "Scan api.tile.com for critical and high findings"

  • "Run nuclei on production.tile-api.com with cve templates only"

check_scope

在不扫描的情况下预览范围门控结果。

参数

类型

描述

target

string

域名、URL 或模糊名称

示例提示词:

  • "Is tile.com in scope?"

  • "Check if snipeit.corp.tile.com is bounty eligible" → 将显示 BLOCKED

list_programs

显示来自所有快照文件的所有资产,按资格分组。


环境变量

变量

默认值

描述

SNAPSHOTS_DIR

/data/snapshots

H1 范围 JSON 文件的路径

NUCLEI_BIN

nuclei

Nuclei 二进制文件路径

SCAN_TIMEOUT_SECONDS

300

每次扫描的超时时间


范围行为参考

tile.com 程序为例:

资产

类型

赏金

允许扫描?

tile.com

URL

✅ 是

thetileapp.com

URL

✅ 是

production.tile-api.com

URL

✅ 是

*.tile.com

WILDCARD

⛔ 已拦截

snipeit.corp.tile.com

URL

⛔ 已拦截

ci-android.tile.com

URL

⛔ 已拦截


法律声明

仅扫描您拥有或拥有明确书面许可进行测试的目标。此工具不授予任何授权 — 您的 HackerOne 项目协议即为授权文件。

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server for automated bug bounty hunting and security reconnaissance, featuring over 28 specialized tools for subdomain discovery, vulnerability scanning, and traffic analysis. It integrates automated scope validation and professional reporting across multiple platforms like HackerOne and Bugcrowd to streamline security testing.
    5
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local Python MCP server for safe, human-led bug bounty recon, providing lightweight helpers for scope checks, headers, robots.txt, sitemap.xml, JavaScript URL collection, endpoint extraction, URL deduplication, evidence notes, and manual test planning.
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    A scope-aware bug-bounty & reconnaissance MCP server that works out of the box on the Python standard library and augments itself with your favourite CLI tools when they're present.
    22
    MIT