mcpField
N
nel-veil

nel-veil

本地服务
github.com/NELPROINC安全08 周前更新

关于 nel-veil

nel-veil 是面向 Agent 和用户的被动式域名安全扫描 MCP 服务,用于检查网站公开的安全状况。工具检查邮件防护、TLS、HTTP 标头、暴露文件、接管风险及参考性合规准备度,不进行端口扫描或漏洞利用测试。

主要功能

  1. 01检查 DMARC、SPF 和 DKIM 邮件防护
  2. 02检查 TLS 证书和 HTTP 安全标头
  3. 03检查已知路径是否暴露文件
  4. 04识别潜在的子域名接管风险
  5. 05将扫描结果映射到 102 项合规框架

适用场景

  1. 01检查域名的邮件仿冒防护
  2. 02核查网站公开的 TLS 和标头配置
  3. 03依据合规框架审阅公开面扫描结果

MCP 相关

向 MCP 客户端提供九种域名检查与报告工具,包括单项检查、综合扫描、获取既有报告和合规映射;不提供端口扫描或漏洞利用测试。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nelproinc-nel-veil": {
"command": "npx",
"args": [
"-y",
"nel-veil-mcp"
],
"env": {
"NEL_API_URL": "<NEL_API_URL>"
}
}
}
}
启动命令npx -y nel-veil-mcp
需要配置的环境变量
NEL_API_URLOverride the NEL VEIL API base URL. Only needed for local development against a self-hosted backend; leave unset to use the public API at https://api.nelprofessional.com.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmnel-veil-mcp0.2.0

工具

9

收录的工具列表 · 更新于 2 周前

参数类型必填说明
domainstring是要检查的域名,例如 example.com。最好使用纯域名;也接受完整 URL、带 www. 前缀的域名或带 userinfo 部分的地址,并会将其规范化为纯主机名。也接受公网 IP 地址,因此可以直接检查源服务器。拒绝以下内容:私有或保留地址(127.0.0.1、10.x、192.168.x、169.254.169.254 等)、没有 TLD 的名称(如 localhost)以及 IPv6 字面地址。

详细介绍

NEL VEIL MCP — 为 AI Agent 提供免费的域名安全检查

向你的 Agent 提问 “有人能伪造来自 example.com 的邮件吗?”,大约十秒内即可得到真实答案。

NEL VEIL MCP 为任何兼容 MCP 的 Agent 提供九种工具,用于检查域名的公开安全状况:邮件伪造(DMARC/SPF/DKIM)、TLS 弱点、HTTP 安全标头、公开暴露的文件、子域名接管风险、组合扫描、检索此前的扫描结果,以及根据包含 102 个全球框架的清单评估合规准备情况。

免费。无需 API 密钥。无需注册。


安装

Claude Code — 一条命令:

claude mcp add nel-veil -- npx -y nel-veil-mcp

任何 MCP 客户端 — 将以下内容添加到配置文件:

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

直接运行,检查是否正常工作:

npx -y nel-veil-mcp

它会向 stderr 输出一条就绪提示——例如 nel-veil-mcp 0.2.1 ready — 9 tools, free passive tier.——然后等待从 stdin 接收 JSON-RPC。这是正常的:它是 stdio 服务,而不是命令行工具;stdout 用于传输协议,因此不会向其中写入任何其他内容。

需要 Node 18 或更高版本。


30 秒:你的域名能被伪造吗?

安装后,询问你的 Agent:

检查是否有人能伪造来自 example.com 的邮件。

它会调用 check_email_spoofing。撰写本文时对 example.com 的实际输出:

Check if a domain can be email-spoofed — example.com
Score: 100/100 (done)

2 findings:
  [LOW] DMARC has no reporting address (rua/ruf), you have no visibility into spoofing
  [LOW] DKIM key may be 1024-bit (weak), 2048-bit recommended

Free check, built from public information. No port scanning and no exploit testing —
though some checks (well-known path requests, admin-panel reachability) do more than
passive reading; see nelprofessional.com/mcp. Active scanning requires verified domain
ownership and runs only at nelprofessional.com.
More: https://www.nelprofessional.com/mcp

该域名的安全状况良好。最常让人感到意外的发现是 DMARC 策略为 p=none——看起来已经配置就绪,能监控所有情况,却不会阻止任何内容。


工具

工具可解答的问题
check_email_spoofing有人能发送看起来像是来自此域名的邮件吗?(DMARC/SPF/DKIM)
check_tls此域名的证书是否有效、受信任且不会即将过期?连接是否仍在协商使用已弃用的 TLS 版本?
check_security_headers此网站是否发送了能在浏览器中保护访客的标头?
check_exposed_files此域名是否公开提供了本不应公开的文件?
check_subdomain_takeover是否存在指向他人可以认领的服务的 DNS 记录?
scan_domain一次运行以上所有检查,并为每个模块评分。
get_scan_report根据 scn_… ID,检索已在 nelprofessional.com 运行的扫描结果。
list_compliance_frameworks可以依据哪些法律和标准进行检查?哪些无法检查?
check_compliance这些发现表明与 GDPR、NIS2、PIPEDA、CCPA、ISO 27001、SOC 2 及另外 96 项要求的符合程度如何?

每种工具都会返回 0–100 分,以及可供采取行动的具体发现。

合规性

check_compliance 会将一次被动扫描的结果映射到一份包含102 个框架的清单, 涵盖加拿大、美国、欧盟/欧洲经济区、英国、亚太地区、 非洲和全球标准,并注明每项发现所涉及的具体条款。

在转述评分前,请先查看 coverage 字段。每个框架都会报告实际观测到的相关扫描类别数量,格式为 9/16:

  • 如果未运行相关检查,该框架的评分为 null,等级为 "Not assessed",并附有原因。这表示未知,而不是安全无虞。
  • 如果某项检查结果良好,但覆盖的类别不到框架类别的一半,则等级为 "Partial", 而不是 "Strong"。
  • 102 项中有 26 项为 "Not assessable"——反洗钱制度、 消费者保护法规、刑事犯罪条款或证券披露规则,不会规定任何外部扫描能够 证明的技术防护措施。这些项目会列出并解释,但不会评分。

这些只是根据公开表面证据提供的参考性准备情况信号。它们不是审计、 认证或法律建议,而且每个框架也都会说明外部扫描无法查看的要求——同意 记录、影响评估、保留期限表、供应商协议和董事会治理。


此工具实际发送的内容——如实说明

在这里准确说明,比听起来安全更重要,因为你在决定是否可以让工具检查他人的域名时,会依赖这段说明。

这里没有任何工具会进行端口扫描或漏洞利用测试。 这些操作确实具有侵入性,需要获得域名所有者的许可,因此我们刻意不通过 MCP 提供这些功能。

但是,“被动”不等于“不可见”,而且其中几种工具会做的不只是读取公开记录:

  • check_tls 会连接域名,但方式与浏览器无异。 它会从 NEL 自有基础设施向 443 端口发起一次普通的 TLS 握手,并读取服务器提供的信息:证书颁发者和使用者、有效期及剩余天数、主题备用名称,以及协商出的协议和密码套件。不会联系其他对象,也不会请求第三方测试目标。它会报告证书已过期、将在 14 或 30 天内过期、自签名证书、不受信任的证书链、证书未涵盖该主机名,以及连接通过 TLS 1.0 或 1.1 协商的情况。**一次握手无法告诉你的内容:**它只显示服务器为该次连接选择的内容,而非服务器会接受的所有内容。它不会枚举受支持的密码套件,不会测试 Heartbleed、POODLE、DROWN 或 RC4 支持情况,也不会给出字母等级。这些需要进行下文所述的深度评估。
  • check_subdomain_takeover 不只是检查 DNS。 它会解析一小组固定的常见子域名,并向指向已知云主机的子域名发送一次 HTTPS 请求。它绝不会认领或修改任何内容。
  • check_exposed_files 会请求一小组固定的知名路径(.env、.git/config 等)。它绝不会进行暴力枚举或模糊测试——路径列表不会增加或调整——但爬虫不会请求这些路径,因此目标的日志会将其识别为安全检查。
  • scan_domain 会运行以上所有检查,此外还会检查常见管理面板(/phpmyadmin/、/manager/html)是否可从公网访问。

以上所有操作检查的都是域名公开的信息。它们不会攻击任何对象。但这些操作比普通爬取更进一步,因此最好仅对自己拥有或获准评估的域名运行。

主动扫描——端口暴露、API 探测、概念验证检查,以及会生成 Qualys SSL Labs 等级并执行 Heartbleed、POODLE、DROWN 和 RC4 测试的深度 TLS 评估(tls_labs)——由 nelprofessional.com 提供,并通过 DNS-TXT 验证你对域名的控制权。MCP 服务无法访问这些功能。这样安排才合理,因为用户只需验证一次所有权,NEL 便可为结果负责。

速率限制。 每个 IP 地址每分钟最多进行 10 次单项检查和 3 次完整扫描。如果达到限制,请等待一分钟。

隐私。 此软件包不会发送 API 密钥、电子邮件地址或账户标识符。每个请求都会携带你所查询的域名和 nel-veil-mcp user-agent。请注意,与任何 HTTP 服务一样,NEL 会看到请求来源的 IP——速率限制以此为依据。


配置

变量默认值用途
NEL_API_URLhttps://api.nelprofessional.com指向可自托管的 NEL 后端。仅本地开发时需要。

开发

以下步骤需要 git repository,而非已发布的 npm 软件包——压缩包只包含 dist/,不包含 src/ 和 scripts/。

git clone https://github.com/NELPROINC/nel-veil-mcp.git
cd nel-veil-mcp
npm install
npm run build
node scripts/mcp-smoke.mjs example.com

scripts/mcp-smoke.mjs 会像 npx 一样启动构建后的服务,执行 MCP 握手、列出工具并实际调用其中一个,因此能发现单元测试无法发现的传输和架构问题。


关于 NEL VEIL

NEL VEIL 是 NEL Professional 背后的安全扫描器。NEL Professional 是一个连接组织与经过验证的网络安全专业人员的平台。为此 MCP 服务提供支持的模块,也为该网站上的扫描提供支持。

完整文档:nelprofessional.com/mcp


许可证

MIT — 请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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