关于 nel-veil
nel-veil 是面向 Agent 和用户的被动式域名安全扫描 MCP 服务,用于检查网站公开的安全状况。工具检查邮件防护、TLS、HTTP 标头、暴露文件、接管风险及参考性合规准备度,不进行端口扫描或漏洞利用测试。
主要功能
- 01检查 DMARC、SPF 和 DKIM 邮件防护
- 02检查 TLS 证书和 HTTP 安全标头
- 03检查已知路径是否暴露文件
- 04识别潜在的子域名接管风险
- 05将扫描结果映射到 102 项合规框架
适用场景
- 01检查域名的邮件仿冒防护
- 02核查网站公开的 TLS 和标头配置
- 03依据合规框架审阅公开面扫描结果
MCP 相关
向 MCP 客户端提供九种域名检查与报告工具,包括单项检查、综合扫描、获取既有报告和合规映射;不提供端口扫描或漏洞利用测试。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y nel-veil-mcpNEL_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+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
9收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| domain | string | 是 | 要检查的域名,例如 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_URL | https://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 服务提供支持的模块,也为该网站上的扫描提供支持。
许可证
MIT — 请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。