BlackVeil DNS & Email Security Scanner について
BlackVeil DNS & Email Security Scannerは、MCPクライアント向けの読み取り専用DNS・メールセキュリティスキャナーです。81のツールと段階的な評価に加え、修正計画、サプライチェーン分析、攻撃経路のシミュレーションを提供します。
主な機能
- 01SPF、DMARC、DKIM、DNSSECのスキャン
- 02SSL、メール、DNS設定の確認
- 0319カテゴリの評価と成熟度分類
- 04修正計画の生成と修正内容の検証
- 05サプライチェーン分析と攻撃経路のシミュレーション
- 06NIST、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、および Streamable HTTP、stdio、レガシー HTTP+SSE に対応した MCP クライアント向けの、ソースを入手できる DNS・メールセキュリティスキャナーです。
30 秒で試す
Claude Desktop(ワンクリックでインストール):
Blackveil DNS 拡張機能をダウンロードして開くと、現在の 81 ツールをすぐに利用できます。ダウンロードを検証してください。
Claude Code(1 つのコマンド):
claude mcp add --transport http blackveil-dns https://dns-mcp.blackveilsecurity.com/mcp
次に、scan anthropic.com と尋ねてください。
Smithery(1 つのコマンド):
smithery mcp add MadaBurns/bv-mcp
エンドポイントが稼働中か確認する:
curl https://dns-mcp.blackveilsecurity.com/health
インストール不要。API キー不要。ホストされた HTTP 用の URL は 1 つだけです:
Endpoint https://dns-mcp.blackveilsecurity.com/mcp
Transport Streamable HTTP · JSON-RPC 2.0
Auth None required
トランスポートのサポート:
Streamable HTTP:POST /mcp、GET /mcp、DELETE /mcpNative stdio:blackveil-dnsnpm パッケージのblackveil-dns-mcpCLILegacy HTTP+SSE:GET /mcp/sseのブートストラップストリームと、POST /mcp/messages?sessionId=...
Streamable HTTP では、クライアントは initialize によって返された Mcp-Session-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—trueの場合、そのツールはscan_domainの並列監査で実行されます。recommended— 厳選された スターターセット(scan_domain、explain_finding、compare_baseline)のみにtrueで含まれ、それ以外では省略されます。すべてのツールを表示するクライアントでは、tools.filter(t => t._meta.recommended)を使って、すべてのツールを一律に LLM に提示して圧倒しないようにできます。すべてのツールは引き続き一覧表示されます。これはフィルターではなく、追加のシグナルです。
権威 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 Cookie/RRL、BGP オリジン、RPKI、経路リークの兆候、エニーキャストの多様性、観測地点のレイテンシー、RIR/RDAP です。
check_root_server_set は、呼び出しごとにローテーションするルートサーバー 3 台のサンプルに問い合わせ、プライミングで得た 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 の応答を受け付けます。トランスポート/ツールのエラー、またはスコア/カテゴリのドリフトがあれば、ゼロ以外の終了コードで終了します。特定のプロバイダー多様性スイープを実行するには、ドメインの JSON 配列を指定して --from <json-file> を使用します。
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 の結果には、再現性を示すスタンプが3つ付与されます。これらは互いに異なる3つの名前空間です。互いに比較したり、npm パッケージのバージョンだと解釈したりしないでください(そのように明記されている場合を除きます)。
| フィールド | 対象 | 更新頻度 |
|---|---|---|
scoringModelVersion | スコアリングのポリシー:カテゴリの重み、プロファイルの重み、グレードのしきい値、重大度ペナルティ、passed / 制御項目欠落時のルール、プロファイルの検出。 | スコアまたはグレードに影響する変更があった場合のみ。頻度は低く、ほとんどのリリースでは変更されません。 |
dnsChecksPackageVersion | 実行中のビルドに含まれる @blackveil/dns-checks エンジンパッケージのバージョン。 | コード、新しい検出項目、バグ修正など、パッケージのリリースごとに更新されます。 |
scoringConfigHash | この結果を生成した実効スコアリング設定のフィンガープリント。SCORING_CONFIG による上書きも含みます。 | 実効設定が異なるたびに更新されます。 |
scoringModelVersion は dnsChecksPackageVersion とは独立しており、通常は小さい値になります。たとえば、モデルが 1.10.0、パッケージが 1.18.0 の場合です。これはバージョンの差異を示すものではなく、利用者側で同梱したコピーとホストされたサービスでスコアが異なるという意味でもありません。スコアリングポリシーを変更せずに、パッケージがマイナーリリースを8回重ねたことを示しています。モデルのバージョンをパッケージのバージョンとして読み違えたことで、誤った「エンジンのバージョン差異」に関する調査がこれまで2度発生しました。そのため、現在は両方を並べて出力しています。
スコアを公開または引用する際は、どちらのバージョン番号でもなく scoringConfigHash を記録してください。 これは結果の基となった正確なスコアリング設定を識別する値です。同じハッシュを持つ2つのスキャンは、同じルールで評価されています。
ステータスバッジ
GET /badge/<domain> は埋め込み可能な SVG を返します。この README の上部にあるバッジは、当社ドメインをライブスキャンした結果です。認証は不要で、公開スキャンと同じ匿名ユーザー向けレート制限および1日あたりの上限が適用されます。
バッジには、scan_domain が報告するものと同じ、利用者向けのレターグレードが表示されます。これは NIST に準拠した6段階のグレード(A+ ≥95、A ≥90、B ≥80、C ≥70、D ≥60、F <60)です。したがって、ドメインのバッジとレポートに異なるグレードが表示されることはありません。さらに、以下の2つの状態も、取り繕わず明示されます。
<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 │
└──────────────────────────┘
- 汎用スコアリングエンジン:ランタイムに依存しない、文字列キーによる3階層のスコアリングと、設定可能な重み付け
- インフラプローブのバインディング:オプションの
BV_INFRA_PROBEサービスバインディングにより、権威 DNS インフラストラクチャプロファイル向けのライブ DNS-over-TCP/53 権威 DNS およびルートサーバーのエビデンスを提供します - CT インデックスバインディング:オプションの
BV_CERTSTREAMサービスバインディングにより、discover_subdomainsと SAN の相関分析用に Certificate Transparency の名前を提供します。運用者のデプロイでは、公開 CT ログから構築された前方向専用の名前インデックスである、自社運用のbv-ct-indexサイドカー(packages/bv-ct-index)を接続します。ソースの順序はバインディング、crt.sh、CertSpotter、最後に既知の正常なキャッシュのままです。そのため、直接参照するソースは引き続きフォールバックとして機能します。docs/bv-ct-index-runbook.mdを参照してください - WASM ポリシーエンジン:
bv-wasm-coreによる高性能な権限とトークンのチェック - 信頼性の高いセッション:強化されたトゥームストーンロジックにより、終了したセッションが競合状態によって復活するのを防ぎます
- プロトコルの適用:サポートされていない MCP バージョンはフェイルクローズします。通知と SSE 接続には、初期化後のほかのリクエストと同じセッション有効性ルールが適用されます
- 送信データの制限:公開 CT と対象 HTML のレスポンスは、解析やフィンガープリント処理の前にバイト数の上限内でストリーミングされます
- 暗号学的識別子:セッションとブランドレポートの識別子には Web Crypto の乱数を使用します
- 適応型スコアリング:Durable Object のテレメトリにより、実環境の分布に基づいて重みを調整します
- クライアント認識:クライアントの
User-Agentに基づいて、レスポンス形式(compactまたはfull)を自動的に設定します
ブランド検出モード(discover_brand_domains / brand_audit_*)
discovery_mode 引数には、次の2つの値を指定できます。
classic(このリポジトリをそのまま実行する場合のデフォルト)— 公開データを使った、BUSL ライセンスのシグナルスイープパイプラインです。公開インターネットのデータソース(DNS、RDAP、CT ログ、MX/TXT の検査)のみを使用します。セルフホスト可能なデプロイでサポートされる唯一のモードであり、オープンテストスイートでエンドツーエンドにテストされる唯一のモードです。tiered— クラシックスイープの前段に、ポートフォリオを考慮した Tier 0/インフラストラクチャグラフによる Tier 1/宣言エビデンスによる Tier 2 のパイプラインを追加します。Tiered モードには、非公開の BlackVeil 内部 Worker 間バインディング(BV_INFRA_GRAPH、BV_INTEL_GATEWAY、BV_ENTERPRISE)が必要ですが、これらはオープン配布物には含まれていません。BlackVeil の本番デプロイ用オーバーレイ(.dev/wrangler.deploy.jsonc)にあり、独自仕様の Workers を呼び出します。セルフホスト環境では、これらのバインディングがないと tiered モードを有効にできません。
dns-mcp.blackveilsecurity.com の BlackVeil ホステッド本番環境では、非公開オーバーレイの環境変数 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 を参照してください。
CLI
このリポジトリのルートパッケージには、ホスト型エンドポイントのクライアントである 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 stdio バイナリのみで、blackveil は含まれていません。そのため、npm i -g blackveil-dns を実行してもこの CLI はインストールされません。ポリシーにより公開は終了しています(#719、対応予定なしとしてクローズ)。CLI を利用するにはソースからビルドする(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にあります。 - キー付きの従量制フルスキャン:API アクセスが含まれるプランで、テナント API キーを指定して
POST https://www.blackveilsecurity.com/api/scan/v1/scanを呼び出します(料金を参照)。
オペレーター設定
これらの設定は、独自のデプロイメントを実行するオペレーターに適用されます。これらは任意です。セルフホスト(BUSL)デプロイメントでは、未設定の場合、プライバシーを保護するデフォルト値が使用されます。
詳細な分析データの収集
公開 /mcp パスでは、位置情報とネットワーク ID を付加したイベントごとのアクセスログを書き込みます。書き込み方法、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=…(厳格な内部ベアラートークンを使用。自己監査されます)。 |
内部分析エンドポイント
これらは内部認証ゲート(/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 リクエスト/分 | なし | なし |
| API アクセス | なし | はい | はい |
| MCP アクセス | はい | はい | はい |
無料プランの日次上限は、キーを送信するかどうかによって異なります。匿名(キーなし)の場合、IP ごとに scan_domain を 1 日 25 回までスキャンでき、対象ドメインは 1 日あたり最大 12 個です。無料キーの場合、ツールごとに 1 日 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、ブランド監査)は、有料プラン(開発者プラン以上)が必要です。無料プラン、未認証、エージェントプランの呼び出しには、アップグレードが必要であることを示す HTTP 403 が返されます。未認証の呼び出しは、さらに 1 日あたりの異なるドメイン数が 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 | 2 つのドメインのセキュリティ状況を並べて比較します |
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の追加利用許諾に基づき、ライセンス対象の著作物を有料のホスト型サービスとして第三者に提供すること、または商用製品に組み込むことは商用利用に該当し、BLACKVEILから別途ライセンスを取得する必要があります。商用ライセンスは、https://blackveilsecurity.com/contactからお問い合わせいただけます。
BLACKVEILが開発・保守しています — ニュージーランド所有のサイバーセキュリティコンサルティング会社です。
プライバシーポリシー · ライセンス(BUSL-1.1 → 2030-03-17にMIT)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。