关于 BlackVeil DNS & Email Security Scanner
BlackVeil DNS & Email Security Scanner 是面向 MCP 客户端的只读 DNS 与邮件安全扫描器,提供 81 个工具及分阶段评分。它还可生成修复方案、映射供应链和模拟攻击路径。
主要功能
- 01扫描 SPF、DMARC、DKIM 与 DNSSEC
- 02检查 SSL、邮件及 DNS 配置
- 03按 19 个类别评分并划分成熟度
- 04生成修复计划并验证修复
- 05映射供应链与模拟攻击路径
- 06映射 NIST、PCI DSS 等合规项
适用场景
- 01审查域名的邮件认证与 DNS 安全
- 02为扫描发现生成可发布的修复记录
- 03分析第三方依赖及潜在攻击路径
MCP 相关
作为 MCP 服务,通过 Streamable HTTP、stdio 和旧版 HTTP+SSE 向客户端提供 81 个工具、7 个提示词和 6 个资源。扫描为只读,不会修改目标。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://dns-mcp.blackveilsecurity.com/mcpclaude mcp add --transport http com-blackveilsecurity-dns https://dns-mcp.blackveilsecurity.com/mcp{"mcpServers":{"com-blackveilsecurity-dns":{"type":"http","url":"https://dns-mcp.blackveilsecurity.com/mcp"}}}在 Cursor 中打开{"servers":{"com-blackveilsecurity-dns":{"type":"http","url":"https://dns-mcp.blackveilsecurity.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-blackveilsecurity-dns":{"type":"http","url":"https://dns-mcp.blackveilsecurity.com/mcp"}}}{"mcpServers":{"com-blackveilsecurity-dns":{"serverUrl":"https://dns-mcp.blackveilsecurity.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
81| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| domain | string | 是 | 要检查的域名(例如,example.com) |
| format | enum | 否 | 输出详细程度。省略时自动检测。full | compact |
| force_refresh | boolean | 否 | 绕过缓存并执行全新检查。DNS 更改后很有用。 |
详细介绍
BLACKVEIL DNS
了解自己的位置。
面向 Claude、Cursor、VS Code 和 MCP 客户端的 DNS 与电子邮件安全扫描器,提供源代码可用,支持 Streamable HTTP、stdio 和旧版 HTTP+SSE。
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-dnsnpm 包的blackveil-dns-mcpCLI旧版 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-indexsidecar(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 | 将发现项映射到合规框架控制项 |
支持
- 漏洞报告和功能请求: GitHub Issues
- 安全漏洞: [email protected](参见 SECURITY.md)
- 一般问题: GitHub Discussions
- 支持项目: Ko-fi — 托管扫描器可免费使用;打赏有助于维持这一服务
负责任地使用
此工具旨在用于对你拥有或明确获准测试的域名进行授权安全评估。请勿将其用于未经授权的侦察、骚扰或任何违反适用法律的活动。攻击模拟、可欺骗性和子域发现工具的结果应当用于改善你自身的安全态势,而非攻击他人。
如果你在第三方域名上发现漏洞,请遵循协调披露实践。
自托管与许可证
受支持的自托管方式是 stdio 二进制文件(blackveil-dns-mcp),仅限非商业用途。本仓库中的 Cloudflare Worker 配置引用了 BlackVeil 专用绑定,并非供第三方部署的目标。根据 LICENSE 中的 Additional Use Grant,向第三方收费提供托管版许可作品,或将其嵌入商业产品,均属于商业用途,需要从 BLACKVEIL 获取单独许可。可通过 https://blackveilsecurity.com/contact 申请商业许可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。