mcpField
B
BlackVeil DNS & Email Security Scanner

BlackVeil DNS & Email Security Scanner

远程服务
blackveilsecurity.com安全9今天更新

关于 BlackVeil DNS & Email Security Scanner

BlackVeil DNS & Email Security Scanner 是面向 MCP 客户端的只读 DNS 与邮件安全扫描器,提供 81 个工具及分阶段评分。它还可生成修复方案、映射供应链和模拟攻击路径。

主要功能

  1. 01扫描 SPF、DMARC、DKIM 与 DNSSEC
  2. 02检查 SSL、邮件及 DNS 配置
  3. 03按 19 个类别评分并划分成熟度
  4. 04生成修复计划并验证修复
  5. 05映射供应链与模拟攻击路径
  6. 06映射 NIST、PCI DSS 等合规项

适用场景

  1. 01审查域名的邮件认证与 DNS 安全
  2. 02为扫描发现生成可发布的修复记录
  3. 03分析第三方依赖及潜在攻击路径

MCP 相关

作为 MCP 服务,通过 Streamable HTTP、stdio 和旧版 HTTP+SSE 向客户端提供 81 个工具、7 个提示词和 6 个资源。扫描为只读,不会修改目标。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://dns-mcp.blackveilsecurity.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

81
参数类型必填说明
domainstring是要检查的域名(例如,example.com)
formatenum否输出详细程度。省略时自动检测。full | compact
force_refreshboolean否绕过缓存并执行全新检查。DNS 更改后很有用。

详细介绍

BLACKVEIL DNS

了解自己的位置。

面向 Claude、Cursor、VS Code 和 MCP 客户端的 DNS 与电子邮件安全扫描器,提供源代码可用,支持 Streamable HTTP、stdio 和旧版 HTTP+SSE。

GitHub stars MCP tools BUSL-1.1 License MCP Cloudflare Workers TypeScript Support on Ko-fi MCP Queen operational grade

DNS 安全


30 秒即可试用

Claude Desktop(一键安装):

下载 Blackveil DNS 扩展 并打开,即可立即使用当前包含 81 个工具的版本。验证下载文件。

Claude Code(一条命令):

claude mcp add --transport http blackveil-dns https://dns-mcp.blackveilsecurity.com/mcp

然后询问:scan anthropic.com

Smithery(一条命令):

smithery mcp add MadaBurns/bv-mcp

验证端点是否正常运行:

curl https://dns-mcp.blackveilsecurity.com/health

无需安装。无需 API 密钥。托管 HTTP 只需一个 URL:

Endpoint   https://dns-mcp.blackveilsecurity.com/mcp
Transport  Streamable HTTP · JSON-RPC 2.0
Auth       None required

传输方式:

  • Streamable HTTP:POST /mcp、GET /mcp、DELETE /mcp
  • 原生 stdio:来自 blackveil-dns npm 包的 blackveil-dns-mcp CLI
  • 旧版 HTTP+SSE:GET /mcp/sse 引导流,以及 POST /mcp/messages?sessionId=...

对于 Streamable HTTP,客户端应保留 initialize 返回的 Mcp-Session-Id,并在后续每个请求(包括通知)中发送该 ID。请在 MCP-Protocol-Version 中发送协商后的版本。不支持的值会收到 HTTP 400 响应;会话过期或终止时会返回 404,需要重新执行 initialize。


可获得的功能

  • 81 个 MCP 工具,涵盖 19 个评分类别 — SPF、DMARC、DKIM、DNSSEC、SSL/TLS、MTA-STS、NS、CAA、MX、BIMI、TLS-RPT、子域名接管、HTTP 安全标头、DANE、SVCB/HTTPS、DANE-HTTPS、子域名邮件、反向 DNS(PTR/FCrDNS)和 DNSKEY 强度
  • 成熟度分级 — 分为 0 至 4 级(从未保护到已强化),并根据分数设置上限,以防标签虚高
  • 信任面分析 — 检测 SPF 中共享的 SaaS 发件方,包括已编入目录的平台(Google、M365、SendGrid)和可通过其 spf 委派标签识别的未编入目录主机,然后交叉参照 DMARC 强制策略,确定实际暴露风险
  • 引导式修复 — generate(artifact=fix_plan)会生成考虑服务提供商因素的优先操作;其记录产物(spf_record、dmarc_record、dkim_config、mta_sts_policy、rollout_plan)会输出可直接发布的记录;validate_fix 会确认修复是否成功应用
  • 供应链映射 — map_supply_chain 会关联 DNS 信号,构建包含信任级别和风险信号的完整第三方依赖关系图
  • 攻击路径模拟 — simulate_attack_paths 会列举具体路径(欺骗、接管、劫持),并提供严重性、步骤和缓解措施
  • 合规映射 — map_compliance 会将扫描结果映射到 NIST 800-177、PCI DSS 4.0、SOC 2 和 CIS Controls
  • 自适应评分 — 通过 Durable Object 遥测,根据扫描中发现的模式自适应调整各类别的重要性权重
  • 分层分析 — 按身份验证层级跟踪用量,并提供用于查询层级摘要、密钥级用量和每日摘要的运维 API
  • 只读 — 检查不会修改目标,也无需目标授权。大多数检查都是通过公开的 Cloudflare DNS-over-HTTPS 进行被动查询;check_authoritative_dns_infra 和 check_root_server_set 会通过 TCP/53 直接查询权威名称服务器和根名称服务器;对于经过身份验证的调用者,check_authoritative_dns_infra 还会测试域名的名称服务器是否拒绝区域传送(不会获取区域数据)

工具

  81 MCP tools · 7 prompts · 6 resources

  Email Auth             Infrastructure          Brand & Threats       Meta
 ─────────────          ──────────────          ───────────────       ───────────────
  check_mx              check_dnssec            check_bimi            scan_domain
  check_spf             check_ssl               check_tlsrpt          batch_scan
  check_dmarc           check_ns                check_lookalikes      compare_domains
  check_dkim            check_caa               check_shadow_domains  compare_baseline
  check_mta_sts         check_http_security                           explain_finding
  check_subdomailing    check_dane
  check_mx_reputation   check_dane_https        DNS Hygiene           Remediation
                        check_svcb_https       ─────────────         ───────────────
                        check_ptr               check_txt_hygiene     generate (one tool;
  Intelligence          check_srv                                       artifact=fix_plan,
 ─────────────          check_zone_hygiene                              spf_record,
  get_benchmark         check_resolver_         Discovery               dmarc_record,
  get_domain_rank         consistency          ─────────────           dkim_config,
  get_provider_                                 discover_brand_         mta_sts_policy,
    insights            check_dbl                domains                rollout_plan)
  assess_spoofability   check_rbl               brand_audit_single    validate_fix
  map_supply_chain      cymru_asn               brand_audit_batch_
  analyze_drift         rdap_lookup               start
  resolve_spf_chain     check_nsec_             brand_audit_status
  discover_subdomains     walkability           brand_audit_get_
  map_compliance        check_dnssec_chain        report
  prioritize_portfolio_
    leads
  simulate_attack_paths check_fast_flux         list_brand_audit_watches
  check_agent_discovery check_dnskey_strength
  check_llms_txt        check_authoritative_dns_infra
                        check_root_server_set   register_brand_audit_watch
                                                delete_brand_audit_watch

  + check_subdomain_takeover (standalone tool + internal — runs inside scan_domain)
  + check_authoritative_dns_infra and check_root_server_set (authoritative DNS infrastructure profile)
  + batch_scan_start / batch_scan_status / batch_scan_findings
    (async start → poll → fetch sibling of batch_scan)
  + sge_quickscan (NZ Secure Government Email readiness for one domain)
  + discover_brand_domains_start / discover_brand_domains_status / discover_brand_domains_findings
    (async start → poll → fetch sibling of discover_brand_domains, for clients that time out on the ~24s sync call)

  Operator-deploy only (BV_RECON binding; degrade to unprovisioned on self-hosted BUSL deployments):
  + check_realtime_threat_feed   — curated intel-gateway threat feed lookup
  + scan_buckets_start           — async cloud-bucket discovery scan (start → poll → findings)
  + scan_buckets_status          — poll status of a running bucket scan
  + scan_buckets_findings        — retrieve findings for a completed bucket scan
  + osint_investigate_domain_start          — async domain OSINT investigation (start → poll → report)
  + osint_investigate_infrastructure_start  — async deep-infrastructure OSINT (domain, IP, or org)
  + osint_investigate_supply_chain_start    — async supply-chain OSINT investigation
  + osint_investigate_username_start        — async username OSINT (owner/enterprise tier only)
  + osint_investigate_email_start           — async email OSINT (owner/enterprise tier only)
  + osint_investigation_status   — poll status of any running OSINT investigation
  + osint_investigation_report   — retrieve report for a completed OSINT investigation

  Internal-only compatibility surface (withdrawn from public `tools/list`; the three active Microsoft 365 / Entra tools proxy through `BV_WEB` and degrade to unprovisioned without it):
  + query_signins                — query Microsoft Entra sign-in logs for a tenant
  + query_ual                    — DEPRECATED tombstone; valid, authorized calls return query_ual_deprecated with no tenant-data access
  + get_ca_policies              — retrieve Conditional Access policies for an Entra tenant
  + assess_coverage              — assess Conditional Access coverage gaps for an Entra tenant
  + map_registrar_products       — map a domain's gaps to registrar brand-protection products
工具发现元数据(_meta)

tools/list 会在每个工具的 _meta 下返回该工具的服务端专属发现元数据(MCP 认可的扩展点),客户端可据此对工具集合分组或筛选,而无需将工具名称硬编码:

  • group — 功能组(email_auth、infrastructure、brand_threats、dns_hygiene、intelligence、remediation、discovery、identity_secops、meta)。
  • tier — 评分层级(core / protective / hardening);非评分工具不包含此字段。
  • scanIncluded — 当工具会在 scan_domain 的并行审计中运行时为 true。
  • recommended — 仅在精选的入门工具集(scan_domain、explain_finding、compare_baseline)中出现(值为 true);其他情况均省略。面向完整工具集合的客户端可以优先使用 tools.filter(t => t._meta.recommended),避免将所有工具平铺展示而让大模型应接不暇。所有工具仍会列出——这是一个附加信号,并非筛选条件。
权威 DNS 基础设施

check_authoritative_dns_infra 通过 BV_INFRA_PROBE 服务绑定,从单一观测点直接通过 DNS-over-TCP/53 测量主机名的权威 DNS 基础设施状况:TCP/53 可达性、权威 AA 标志、递归暴露、各名称服务器之间的 SOA 序列号一致性、DNSKEY/RRSIG 是否存在(不验证)、IPv4/IPv6 应答是否一致,以及对不支持的查询的处理方式。仅对已认证的调用者,它还会运行区域传送拒绝测试(仅检查第一个响应,不会检索任何区域数据)以及 CHAOS version.bind/id.server 信息泄露测试。它不会测量以下项目,并会将这些项目报告为无法确定:UDP/53 可达性、放大攻击、EDNS 大响应/截断、DNS cookies/RRL、BGP 起源、RPKI、路由泄漏信号、任播多样性、观测点延迟,以及 RIR/RDAP。

check_root_server_set 每次调用都会查询轮换抽取的 3 台根服务器,并将 priming NS 集合、胶水记录、SOA 序列号和根服务器间的一致性与内嵌的官方根提示进行比较,使用 BV_INFRA_PROBE。

没有 BV_INFRA_PROBE 的可自托管或本地部署仍会返回结构化的部分结果。仅运行 worker 的模式会记录内嵌的根提示,并将每项实时探测能力标记为无法确定,而不会假装执行过探测;这两种工具随后会暂不提供判定(checkStatus: 'error',不纳入评分),而不是对参考数据进行评级。


质量与可靠性

服务器会根据 MCP 客户端的默认响应格式对检测到的客户端进行分类:

  • 交互式客户端:claude_mobile、claude_code、cursor、vscode、claude_desktop、claude_connector、windsurf(自动格式:compact)
  • 非交互式客户端:mcp_remote、blackveil_dns_action、bv_claude_dns_proxy、unknown(自动格式:full)

bv_load_test 类会识别内部负载/混沌/Tranco 扫描流量,使其不会进入真实客户端分析分组。

全面的混沌测试套件会针对其支持的客户端测试样例,在 Streamable HTTP 和 Legacy SSE 上验证会话稳定性、身份验证优先级、格式协商以及特定传输方式的边缘情况。不使用 API 密钥时,它会测试公开/免费套餐路径;将有效密钥导出为 BV_API_KEY 后,它会测试 Bearer 身份验证、旧版自托管 ?api_key= 兼容性、经过身份验证的 SSE 引导流程,以及经过身份验证的批处理行为。

在本地运行客户端/会话混沌测试套件:python3 scripts/chaos/chaos-test-clients.py。

运行重复的强制刷新扫描,以检测生产评分偏差:

BV_API_KEY=... python3 scripts/chaos/score-stability-test.py --count 20 --rounds 3 --concurrency 5

稳定性测试框架会协商 MCP 协议 2025-06-18,接受 JSON 和 Streamable HTTP SSE 响应,并在出现任何传输/工具错误或分数/类别偏差时以非零状态码退出。使用 --from <json-file> 并传入包含域名的 JSON 数组,可针对特定提供商多样性进行扫描。

SSOT 防护措施通过有针对性的审计测试强制执行:

  • 工具数量和公开资源文案由 TOOLS 注册表生成,而不是手动编写——npm run generate:tool-surface 会重写所有公布的数量;如果任何数量出现偏差,npm run check:tool-surface 会使 CI 失败。向客户端公布的数量采用公开范围(TOOLS 减去仅供内部使用的工具),因此文档、徽章、VS Code 列表和 resources/read 文案中的数量,与 tools/list 实际返回的数量一致。
  • 域名必填验证根据每个工具的输入架构推导。
  • 扫描超时预算由共享运行时配置解析。
  • WASM 工具权限根据 MCP 工具注释生成。
  • 公开配额文案会与运行时配额配置核对。
扫描输出中的版本标记

每个 scan_domain / batch_scan 结果都带有三个可复现性标记。它们属于三个不同的命名空间——不要相互比较,也不要把其中任何一个当作 npm 包版本,除非它明确表示包版本:

字段跟踪内容变化频率
scoringModelVersion评分策略:类别权重、配置文件权重、等级阈值、严重性扣分、passed/缺少控制项规则、配置文件检测。仅在更改会影响分数或等级时变化。变化缓慢——大多数版本发布不会触及它。
dnsChecksPackageVersion运行中的构建所捆绑的 @blackveil/dns-checks 引擎包版本。每次包发布时变化,包括代码更新、新检测项和错误修复。
scoringConfigHash生成此结果的有效评分配置指纹,包括任何 SCORING_CONFIG 覆盖项。有效配置发生变化时变化。

scoringModelVersion 独立于 dnsChecksPackageVersion,通常也更低——例如,模型版本为 1.10.0,而包版本为 1.18.0。这不是版本差距,也不代表使用供应商随附副本的用户与托管服务评分不同:该包连续升级了 8 个次要版本,但评分策略没有变化。曾有两次有人把模型版本误当成包版本,引发了虚假的“引擎版本差距”调查,因此现在会并列输出这两个版本。

发布或引用分数时,请记录 scoringConfigHash,而不是任一版本号。它标识结果所依据的确切评分配置,因此,两个扫描结果具有相同的哈希值,就表示它们是按照相同规则评级的。

状态徽章

GET /badge/<domain> 会返回可嵌入的 SVG——本 README 顶部的徽章就是对我们自己域名进行实时扫描的结果。它无需身份验证,并受与公开扫描相同的匿名速率限制和每日上限约束。

徽章显示 scan_domain 报告的相同、面向客户的字母等级(与 NIST 对齐的 6 档等级:A+ ≥95、A ≥90、B ≥80、C ≥70、D ≥60、F <60),因此域名不会在徽章上显示一个等级、在报告中显示另一个等级。另有两种状态会明确显示,而不是被掩盖:

  • <grade> partial — 扫描已评级,但未完成所有检查(例如遇到 WAF 挑战、超时或主机无法访问)。悬停提示/aria 标题会给出确切的覆盖情况,例如 17 of 19 checks measured。等级及其颜色不会改变:覆盖率和安全状况是不同的维度。
  • unknown — 完全无法测量该域名。徽章会如实显示这一点,而不是替换成一个字母等级,以免发布一个无人实际测量过的失败等级。

请参阅 docs/scoring.md,了解等级量表及其背后的证据规则。


架构

  MCP Client
      │
      │  POST /mcp (JSON-RPC 2.0)
      │
  ┌───▼──────────────────────┐
  │  Cloudflare Worker       │
  │                          │
  │  Hono ─► Origin check    │
  │       ─► Auth            │
  │       ─► Rate limiting   │
  │       ─► Session mgmt    │
  └───┬──────────────────────┘
      │
  ┌───▼──────────────────────┐
  │  Tool Handlers           │
  │  19 scoring categories   │
  └───┬──────────────────────┘
      │
  ┌───▼──────────────────────┐
  │  Generic Scoring Engine  │
  │  Three-tier model        │
  └───┬──────────────────────┘
      │
  ┌───▼──────────────────────┐
  │  Cloudflare DoH          │
  │  DNS-over-HTTPS          │
  └──────────────────────────┘
  • 通用评分引擎:与运行时无关,采用字符串键的三级评分,并支持配置权重
  • 基础设施探测绑定:可选的 BV_INFRA_PROBE 服务绑定可提供实时 DNS-over-TCP/53 权威 DNS 和根服务器证据,用于权威 DNS 基础设施画像
  • CT 索引绑定:可选的 BV_CERTSTREAM 服务绑定可为 discover_subdomains 和 SAN 关联提供证书透明度名称。运营方部署时将其指向自有的 bv-ct-index sidecar(packages/bv-ct-index),这是基于公开 CT 日志构建的单向名称索引;数据源顺序仍为绑定、crt.sh、CertSpotter,最后是最近一次已知良好缓存,因此直接数据源仍可作为备用。请参阅 docs/bv-ct-index-runbook.md
  • WASM 策略引擎:通过 bv-wasm-core 实现高性能权限和令牌检查
  • 可靠会话:强化的墓碑逻辑可防止已终止会话因竞态条件而复活
  • 协议强制:不支持的 MCP 版本会被默认拒绝;通知和 SSE 连接与其他初始化后的请求遵循相同的会话有效性规则
  • 有界出站流量:公开 CT 和目标 HTML 响应会在解析或指纹识别前,以字节上限进行流式处理
  • 加密标识符:会话和品牌报告标识符使用 Web Crypto 随机性
  • 自适应评分:持久化对象遥测会根据真实分布调整权重
  • 客户端感知:根据客户端 User-Agent 自动设置响应格式(compact 或 full)
品牌发现模式(discover_brand_domains / brand_audit_*)

discovery_mode 参数接受两个值:

  • classic(本仓库开箱即用时的默认模式)——公开、采用 BUSL 许可的信号扫描流水线。仅使用公共互联网数据源(DNS、RDAP、CT 日志、MX/TXT 检查)。这是自托管部署唯一支持的模式,也是开放测试套件唯一覆盖端到端流程的模式。
  • tiered——在经典扫描前增加一个了解资产组合的 Tier 0/基础设施图谱 Tier 1/声明证据 Tier 2 流水线。分层模式需要 BlackVeil 内部的私有跨 Worker 绑定(BV_INFRA_GRAPH、BV_INTEL_GATEWAY、BV_ENTERPRISE),这些绑定不包含在开放发行版中——它们位于 BlackVeil 的生产部署覆盖层(.dev/wrangler.deploy.jsonc)中,并调用专有 Workers。没有这些绑定,自托管用户无法启用分层模式。

BlackVeil 在 dns-mcp.blackveilsecurity.com 上托管的生产环境通过私有覆盖层中的环境变量 BRAND_AUDIT_DISCOVERY_MODE_DEFAULT="tiered" 将运行时默认值切换为 tiered;src/schemas/tool-args.ts 中的公开架构默认值永久保持为 'classic',因此任何基于 main 构建的用户都会获得不变的 BUSL 许可行为。调用方显式提供的 discovery_mode 始终优先于环境默认值。


客户端设置

免费层无需身份验证。经过身份验证的请求不受每 IP 速率限制,并遵循你所用层级的每日配额。托管生产环境支持:

  • 标头:Authorization: Bearer <KEY>
  • 标头(替代方式):X-API-Key: <KEY>——适用于无法设置 Authorization 的客户端。如果两者都已发送,则优先使用 Authorization: Bearer。
  • OAuth 2.1:可选的授权码流程,使用 PKCE;仅当运营方设置 ENABLE_OAUTH=true 时启用;所有者密钥授权则由 ENABLE_OWNER_OAUTH=true 单独控制。

?api_key=<KEY> 回退方式仅用于旧版/自托管兼容性。BlackVeil 托管生产环境设置了 REJECT_QUERY_API_KEY=true;无法发送标头的客户端应使用 OAuth 或 mcp-remote 标头桥接。

有关完整的托管设置示例、stdio 用法、OAuth 设置和旧版回退端点,请参阅 docs/client-setup.md。


命令行

此代码库的根包提供了一个 blackveil 可执行文件(src/cli.ts,构建后为 dist/cli.js):它是托管端点的客户端,而非本地扫描器。它会调用 https://dns-mcp.blackveilsecurity.com/mcp,无需密钥即可使用;设置 BLACKVEIL_API_KEY 可使用密钥套餐的配额(命令行不接受密钥)。BLACKVEIL_MCP_URL 可覆盖端点(除回环地址外,必须使用 HTTPS)。

blackveil scan example.com --format json
blackveil check spf example.com
blackveil batch --file domains.txt --fail-below 70
blackveil policy example.com --policy policy.json
blackveil drift save example.com --out baseline.json
blackveil drift compare example.com --baseline baseline.json
blackveil evidence verify baseline.json

命令:scan、check、batch、policy、drift save|compare、evidence verify。输出格式(--format):human(默认)、json、ndjson、evidence;--out <file> 会将输出写入文件,--fail-below <0-100> 或 --policy <file> 可将扫描设为通过/失败门禁。退出代码:0 通过,1 已验证的策略或完整性失败,2 用法/输入错误,3 身份验证/配额/传输/工具错误,4 未分级/无法得出结论。blackveil --help 会显示完整用法(权威来源:src/cli/command.ts)。

npm 包 blackveil-dns 冻结在 2.13.0 版(发布于 2026-05-12),该制品仅包含 blackveil-dns-mcp 标准输入/输出可执行文件,不包含 blackveil,因此 npm i -g blackveil-dns 不会安装此命令行工具。根据政策,已停止发布(#719,已关闭,状态为不作计划)。若要使用命令行工具,请从源代码构建(npm ci && npm run build);也可以在 CI 中使用 blackveil-dns-action,它会调用托管端点,无需 npm 包。


REST / HTTP

无需 MCP 封装,也可通过 BlackVeil 公共 API 访问托管引擎(仅提供入口;API 自身的文档为权威依据):

  • 免密钥单项检查:POST https://www.blackveilsecurity.com/api/v1/tools/lookup — OpenAPI 规范见 https://www.blackveilsecurity.com/openapi.json。
  • 需密钥、按量计费的完整扫描:POST https://www.blackveilsecurity.com/api/scan/v1/scan,需提供租户 API 密钥,且套餐须包含 API 访问权限(见 定价)。

运维配置

这些设置适用于运行自有部署的运维人员。它们均为可选项——未设置时,可自托管(BUSL)部署会回退到保护隐私的默认值。

详细分析数据采集

公开的 /mcp 路径会写入逐事件访问日志,并补充地理位置和网络身份信息。写入路径、PII 级别和保留期限由运营方控制:

绑定 / 变量类型用途
MCP_ANALYTICS_QUEUE队列仅限运营方部署。 将访问日志写入批量移出请求路径。自托管环境中若未配置 → 回退为内联插入(不进行反向 DNS 查询)。
ANALYTICS_PII_LEVEL变量coarse(默认)| standard | full。控制访问日志中的 PII 级别:coarse = 国家/地区/ASN + 哈希处理/掩码处理后的 IP;standard 增加加密 IP + 城市;full 增加经纬度 + 反向 DNS(PTR)。
ANALYTICS_RETENTION_DAYS变量访问日志保留天数(默认值为 90,限制在 1–365 之间)。计划处理程序会清理超出保留期限的记录。
PTR 第三方披露—当 ANALYTICS_PII_LEVEL=full 时,调用方 IP 的 PTR 查询会经由配置的 DoH 链解析,最终回退到 Google Public DNS——这会向外部披露源自调用方 IP 的查询信息,运营方在启用 full 前应权衡这一点。按主体擦除:POST /internal/analytics/erase?key_hash=…|ip_hash=…(严格内部 bearer;自行审计)。
内部分析端点

这些端点位于内部身份验证网关(/internal/*)下,由 bv-web 调用,不属于公开接口:

端点来源备注
GET /internal/analytics/usage?days=&key_hash=D1精确的客户使用情况报告。
GET /internal/analytics/geo?days=Analytics Engine用于仪表板的地理信息汇总(国家/地区/城市/ASN)。
GET /internal/analytics/forensics?days=&ip_hash=&key_hash=D1仅限通过 STRICT 网关的运营方。 返回解密后的客户端 IP + PTR,供滥用调查使用;每次调用都会写入一条自审计记录。

定价

免费开发者企业
价格$0$39/mo(由 BlackVeil 配置,无法自行结账购买)联系我们
扫描次数/天25(匿名,按 IP 计算);使用免费密钥时为 50每种工具 500 次每种工具 10,000+ 次
检查次数/天具体限制因工具而异具体限制因工具而异以合同限制为准
速率限制50 req/min无无
API 访问否是是
MCP 访问是是是

免费层的每日限制取决于是否发送密钥。匿名(无密钥):每个 IP 每天可进行 25 次 scan_domain 扫描,每天最多覆盖 12 个不同域名。免费密钥:每种工具每天 50 次。免费密钥不包含 REST 扫描 API(参见 REST / HTTP);上方的“API 访问”指使用密钥的 API。限制值从 src/lib/config.ts 中的 TIER_DAILY_LIMITS、FREE_TOOL_DAILY_LIMITS 和 FREE_DISTINCT_DOMAIN_DAILY_LIMIT 读取。

进攻性/侦察类及多域名工具(子域名发现、攻击路径模拟、相似域名/影子域名检测、快通量检测、供应链映射、实时威胁源、存储桶/OSINT 调查、batch_scan、compare_domains、品牌审计)需要付费计划(Developer 层级或更高);免费、未认证及 Agent 层级的调用方会收到 HTTP 403 升级必需响应。未认证调用方每天还受限于最多 12 个不同域名(尽力而为,失败时放行)。OSINT/存储桶状态和报告轮询器仍免费;品牌审计和品牌发现轮询器(brand_audit_status、brand_audit_get_report、discover_brand_domains_status、discover_brand_domains_findings)不提供未认证配额,无密钥时会返回 HTTP 429。


示例提示词

这些示例展示了核心功能——启用 Blackveil DNS 连接器后,将任意一条粘贴到 Claude 中:

提示词功能
Scan blackveilsecurity.com and tell me what needs fixing完整安全审计——评分、等级和按优先级排列的发现项
Compare the email security of google.com and microsoft.com并排比较两个域名的安全状况
Generate a DMARC record for example.com with reject policy生成可直接发布的 DNS 记录
What attack paths exist for example.com?枚举欺骗、接管和劫持途径
Map example.com's compliance against NIST 800-177将发现项映射到合规框架控制项

支持


负责任地使用

此工具旨在用于对你拥有或明确获准测试的域名进行授权安全评估。请勿将其用于未经授权的侦察、骚扰或任何违反适用法律的活动。攻击模拟、可欺骗性和子域发现工具的结果应当用于改善你自身的安全态势,而非攻击他人。

如果你在第三方域名上发现漏洞,请遵循协调披露实践。


自托管与许可证

受支持的自托管方式是 stdio 二进制文件(blackveil-dns-mcp),仅限非商业用途。本仓库中的 Cloudflare Worker 配置引用了 BlackVeil 专用绑定,并非供第三方部署的目标。根据 LICENSE 中的 Additional Use Grant,向第三方收费提供托管版许可作品,或将其嵌入商业产品,均属于商业用途,需要从 BLACKVEIL 获取单独许可。可通过 https://blackveilsecurity.com/contact 申请商业许可。


由 BLACKVEIL 构建并维护——一家新西兰所有的网络安全咨询公司。

隐私政策 · 许可证(BUSL-1.1 → 2030-03-17 转为 MIT)

评论

支持 Markdown

第一次接触 MCP?

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

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