vulntel について
vulntelは、セキュリティ研究者やバグバウンティエージェント向けのホスト型脆弱性情報MCPサーバーです。整理されたCVEデータを使い、悪用状況に基づく優先順位付け、主張の検証、脆弱性の仕組み検索、公開済み報告から抽出した攻撃アプローチを提供します。
主な機能
- 01複数ソースを統合したCVEデータ
- 02SSVC・KEV・EPSSによる優先順位付け
- 03CVEの主張と影響製品の検証
- 04脆弱性の仕組みによるセマンティック検索
- 05バージョンとディストリビューションの修正を考慮
- 06公開済みバウンティ報告の攻撃アプローチ
活用シーン
- 01製品スタックの脆弱性に優先順位を付ける
- 02レポート記載前にCVEの主張を検証する
- 03異なる製品間で類似した脆弱性を探す
- 04バウンティ事例を参考に手動テストを進める
MCP 対応
CVEの検索・検証、製品とバージョンの確認、セマンティック検索、偵察、バウンティ報告に基づく攻撃アプローチなどの脆弱性調査ツールをMCPクライアントに提供します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.vulntel.com/mcpclaude mcp add --transport http com-vulntel https://mcp.vulntel.com/mcp{"mcpServers":{"com-vulntel":{"type":"http","url":"https://mcp.vulntel.com/mcp"}}}Cursor で開く{"servers":{"com-vulntel":{"type":"http","url":"https://mcp.vulntel.com/mcp"}}}VS Code で開く{"mcpServers":{"com-vulntel":{"type":"http","url":"https://mcp.vulntel.com/mcp"}}}{"mcpServers":{"com-vulntel":{"serverUrl":"https://mcp.vulntel.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://mcp.vulntel.com/mcp認証が必要ツール
詳細
vulntel
ほとんどの CVE ツールは、エージェントに生データを渡します。このツールは、実際に悪用されているものに基づいて優先順位を付け、仕組みからバグを見つけ、エージェントがでっち上げた CVE を検出し、約 14,000 件の公開済みバグ報奨金レポートから攻撃の仕組みを転用します。
厳選されたホスト型 MCP コーパスです。約 422,000 件の CVE を NVD + CISA KEV + FIRST EPSS + OSV/GHSA + CISA Vulnrichment (SSVC) から統合し、さらに公開済みの報奨金が支払われたバグ報奨金レポート約 14,000 件から抽出した仕組みのレイヤーを加え、毎日更新しています。単なるライブ API ラッパーではありません。
無料です。 キーなしで試せます(9 つのツール、IP アドレスごとに 1 日 25 回の呼び出し)。その後、キーを取得してください。メールアドレスを入力すると、個人用キーが送られます。何を調べているのか教えてください。
次の CVE ラッパーではなく、これを選ぶ理由
ほとんどの CVE MCP サーバーは薄いラッパーです。クエリ時に同じ無料の公開 API に一斉に問い合わせ、返ってきたものをそのまま返します。これは、具体的に 6 つの点で異なります。
- ライブプロキシではなく、厳選された埋め込み型コーパスです。 脆弱性ごとに 1 件のレコードを保持し、ID グラフを通じて NVD、OSV/GHSA、KEV を統合しています。さらに、ベンダーを特定した約 2,100 件の製品エイリアスと、セマンティック検索用の埋め込みを備えています。ローカルで検索し、一貫した基準で順位付けします。
- CVSS だけでなく、優先順位付けに SSVC を使用します。 優先順位は悪用を最優先にします。CISA SSVC(悪用の活発さ/自動化可能性/全体的な影響)、KEV、EPSS に基づき、P1 から P4 まで順位付けします。ラッパー型の MCP には SSVC がまったく含まれていません。
- キーワードではなく、仕組みから検索します。 セマンティック検索により、異なる製品にまたがる同じバグの種類を見つけられます。キーワード検索ツールでは構造上できません。
- エージェントの事実確認を行います。
verify_cve_claimは、でっち上げられた CVE や誤った属性を検出します。AI が幻覚したバグ報告がトリアージにあふれている今、これが最も重要な機能です。実質的に、これを行える他の CVE MCP はありません。 - バックポートを考慮します。 サーバーバナー(
OpenSSH_8.9p1 Ubuntu-3ubuntu0.10、Apache/2.4.62 (Debian))を貼り付けると、各 CVE について、上流版の判定と並べて、Debian/Ubuntu/Alpine のトラッカーによる該当ビルドの判定を表示します。上流版しか見ないツールは、修正済みのディストリビューションホストを脆弱だと判定します。 - ベンダーを正しく特定し、誤ったゼロを返しません。 「GitHub Enterprise」は、
enterprise_serverを同梱するすべての製品ではなく、正しいベンダーに解決されます。製品を解決できない場合は、黙って「影響なし」と受け取られる0を返すのではなく、候補とともにresolved: falseを返します。誤ったゼロは、セキュリティツールが返し得る最悪の回答です。
AI を活用したセキュリティで難しいのは、CVEを見つけることではありません。トリアージ、優先順位付け、誤検知への対処です。このツールはそこを対象にしています。
以下はすべて、長さだけを調整した、稼働中サーバーの実際の出力です。
エージェントの事実確認を行います
最も重要な差別化要素です。エージェントが CVE-2025-99999 を引用したとします。
verify_cve_claim("CVE-2025-99999")
-> exists: false "No record in NVD / OSV / GHSA. Likely hallucinated or not-yet-published."
あるいは、詳細を誤ることもあります。主張:「CVE-2021-44228 は中程度の深刻度の Apache Struts のバグで、悪用されていません。」
verify_cve_claim("CVE-2021-44228", product="Apache Struts", severity="medium", exploited=false)
refuted "not exploited" -> in CISA KEV (added 2021-12-10)
refuted "severity medium" -> actual CVSS 10.0, P1
refuted "affects Apache Struts" -> no product matching "Apache Struts"
他のフィードはエージェントにデータを渡すだけです。このツールは、エージェントが誤っている場合に、レポートに反映される前に知らせます。
優先順位は CVSS ではなく、悪用を最優先します(SSVC、KEV、EPSS)
check_technology("GitLab") は、その製品の CVE を重複排除して 792 件返し、悪用されているものが上位に来るよう順位付けします。
P1 KEV EPSS 99.8 CVE-2023-7028 account-takeover: password-reset email sent to an attacker address (CVSS 10)
P2 KEV EPSS 98.5 CVE-2021-39935 unauthenticated SSRF via the CI Lint API
P3 EPSS 99.7 CVE-2023-2825 unauthenticated path traversal, arbitrary file read (CVSS 10)
P3 EPSS 99.7 CVE-2022-2992 authenticated RCE via the GitHub import API (CVSS 9.9)
複数のベンダーに該当する名前には ambiguous のフラグが付き(ここでは gitlab と jenkins プラグイン)、別々に扱われます。黙って統合されることはありません。そのうちの任意の 1 件について、enrich_cve を使うと SSVC の全情報を取得できます。
enrich_cve("CVE-2024-3400") PAN-OS GlobalProtect
P1 KEV CVSS 10.0 EPSS 99.95 unauthenticated command injection -> root RCE
SSVC exploitation=active automatable=yes technical_impact=total
Metasploit exploit/linux/http/panos_telemetry_cmd_exec (rank: excellent)
Public PoC 44 repos (h4x0r-dz 162 stars, W01fh4cker 90 stars, ...)
リコンから調査の順序を組み立てる
hunt_plan(["craftcms 4.4", "nginx", "keycloak"]) は、最も悪用されやすいバグに基づいてスタックをランク付けし、各コンポーネントで過去にどのような脆弱性が繰り返し発生しているかを示します。
#1 craftcms 4.4 97 CVEs, 12 high-risk
recurring_loci CWE-94 code injection x7 (2 exploited in the wild) -> probe template / eval surfaces first
dig here
P1 KEV EPSS 99.8 CVE-2025-32432 unauthenticated RCE (CVSS 10) your 4.4 is AFFECTED, fixed in 4.14.15
P1 KEV EPSS 99.9 CVE-2024-56145 RCE when register_argc_argv is on AFFECTED, fixed in 4.13.2
#2 nginx HTTP/2 Rapid Reset CVE-2023-44487 (KEV)
#3 keycloak recurring_loci CWE-287 auth x12. OIDC request_uri SSRF CVE-2020-10770
CVEを一覧表示するだけではありません。製品ファミリーが繰り返し失敗しているバグの種類を、実際の悪用状況に基づいてランク付けし、お使いのバージョンが影響範囲に入っているかを教えてくれます。調べるべき場所と、想定される状況が分かります。
製品をまたいで、仕組みから検索する
search_vulns(cve_id="CVE-2021-44228")、「Log4Shellのように機能するものはほかに何か」:
sim 0.88 CVE-2021-44832 Log4j2 JDBC Appender, JNDI LDAP RCE
sim 0.82 CVE-2022-40145 Apache Karaf, code injection via an attacker-controlled JNDI URL
sim 0.79 CVE-2022-34916 Apache Flume, JNDI LDAP RCE via a JMS source
同じJNDIインジェクションの仕組みが、異なる製品をまたいで見つかります。「log4j」のキーワード検索では、KarafやFlumeは決して見つかりません。または、search_vulns("SAML SSO authentication bypass") のように、概念を直接検索できます。
P3 CVSS 9.1 CVE-2024-9487 GitHub Enterprise: SAML SSO bypass via signature verification
P3 CVSS 9.8 CVE-2025-25291 ruby-saml: auth bypass via a ReXML / Nokogiri parser differential
P1 KEV CVSS 9.8 CVE-2025-59718 Fortinet FortiOS / FortiProxy: signature-verification bypass
現在悪用されている脆弱性を確認する
search_vulns(days=7) の本日実行したライブ検索:
P1 KEV CVSS 10.0 CVE-2026-10520 Ivanti Sentry: unauthenticated OS command injection -> root RCE
P1 KEV CVSS 9.3 CVE-2026-50751 Check Point: IKEv1 auth bypass, remote-access VPN without a password
P2 KEV CVSS 8.8 CVE-2026-11645 Chrome V8: out-of-bounds read/write -> sandbox escape RCE
公開から実環境での悪用までの中央値は、今や数か月ではなく数日です。上記のIvantiのバグには、公開された週のうちにCISAの修正期限が設定されました。2026-11-03時点のcorpus_statsは、約422,800件のCVE、約1,770件のKEVエントリー、データの鮮度は1日未満です。これらの数値は特定時点のもので、日々変化します。ページ上の数値を鵜呑みにせず、最新の件数はご自身でcorpus_statsを呼び出して確認してください。
公開済みバグバウンティレポートから攻撃の仕組みを応用する
CVEだけでなく、このコーパスは約14,000件の公開済みHackerOne報告を、製品に依存しない攻撃の仕組みへと整理しています。それぞれのバグについて、報告対象の製品から切り離したうえで、source → sink → trigger → preconditionsをまとめています。前提となる考え方は、脆弱性とは単一製品の特性ではなく、応用可能な仕組みだということです。あるスタックで報奨金につながった手法は、次のスタックで確認する項目になります。
find_attack_approaches(query="ssrf reaching cloud metadata") — 実際に応用された人間の手法を、新規性の高い順に表示し、それぞれに現在のプログラムで実行可能かどうかを示します。
Reddit SSRF preview_url fetches an unfiltered URL → returns metadata program_active, pays
U.S. DoD SSRF /download-url?url= fetches AWS instance metadata program_active
Concrete CMS SSRF DNS-rebind bypass → AWS IAM creds from the metadata svc program_active
find_continuations(position=...)— 調査中の蓄積した攻撃者の立ち位置を、類似の状況から実際のレポートで使われた次の手法と照合します。すべての手法には、対象で実行すべきdecisive_checkとともにstatus: UNVERIFIEDが付いています。実行可能な手法ではありますが、バグが確認されたことを意味するものではありません。assist_submission(finding=...)— 最も近い報奨金獲得済みの先例に基づく、根拠のある報告書作成用ブリーフです(妥当性、新規性、エスカレーションの手順を含みます)。引用したレポートはすべてコーパスと照合済み(citations_grounded)なので、捏造された先例が紛れ込むことはありません。program_outcome_prior("hackerone:gitlab")— あるプログラムで過去に報奨金獲得に至ったバグの種類と、ベースレートに対する発生率を示します(GitLab:SSRFは3.4倍、SQLiはほぼなし)。
この機能の役割は誇張せずに説明します。人間のハンターに手法と根拠を提供するものです。手法と先例を提示しますが、バグを見つけるわけではありません。その手法が通用するかどうかは対象次第であり、実際に試す作業は引き続き必要です。
重要なのは、CVE検索ではなく、借りて実行できる仕組みを蓄積した記憶です
優位性を生み出すのは、ステートレスなモデルが自力では生成できない3つの要素であり、このコーパスはそのすべてを備えています。
- 時間をかけて観測されている — 事前確率、時間的な変化(Log4Shellの影響範囲は公開後も1,200日以上拡大し続けました)、スコアの安定性。モデルには学習データのカットオフ時点のスナップショットしかありませんが、ここには推移があります。
- 多数の事例を見ている — 公開されたあらゆる攻撃の仕組みとCVEの仕組みが埋め込み表現になっているため、モデルなら結び付けられない製品間でも、同じバグの種類を応用できます。Log4ShellのJNDIルックアップからApache KarafやFlumeへ、Redditで報奨金につながったSSRFから次の対象で試す手法へと応用できます。
- ライブのリコンと統合されている —
observeは、ホストのJSバンドルから実際のバックエンドを特定し、その場でコーパスと照合します。
重大な誤りは、これを深刻度スコアの確認ツールとして扱うことです。目的は、実証済みの仕組みを対象に応用して実行することです。あるいは、プローブを試す前に、修正方法を読んでその選択肢が成立しないことを検証することです。
エージェントに必ず使わせましょう — エージェントは自分からは使いません
何もしなければ、エージェントは古いトレーニングデータに基づいて回答し、追い詰められるとCVE IDをでっち上げます。次の運用ループをエージェントのルール(CLAUDE.md、Cursor/Windsurf、システムプロンプト)に貼り付けてください。
You have the vulntel MCP. Your own CVE knowledge is a guess to be verified — prefer the corpus.
Operating loop, in order:
1. Choosing / scoping a bounty program → new_in_scope (what just entered a program's scope, re-adds filtered) and program_outcome_prior (which bug classes have actually PAID here).
2. A live host → observe (a cache miss returns status="scanning"; call again with the same host until "ready"). Mine endpoints[], recurring_loci, the CVE join, not just two fields.
3. A product + version → check_technology / hunt_plan (dig-order + the recurring CWE loci).
4. Before asserting ANY CVE / "affects X" / "severity Y" / "exploited" → verify_cve_claim. Never cite from memory.
5. Feasibility of one CVE → enrich_cve; read the MECHANISM (POST vs GET, auth-required) to judge whether it chains. How it was fixed in the wild, or who vendored the vulnerable line → search_public_code (raw hits; read them).
6. Hunting a class → find_attack_approaches for the transferable move; RUN it on the target, don't cite it. Loop with a growing tried=.
7. Stuck / messy position → find_continuations(position) for the by-step move; then search_vulns that class to see whether it recurs in this stack.
8. Submitting → assist_submission; EXECUTE the techniques it transfers (referrer differential, key-reuse breadth), then file.
9. Before trusting a "nothing found" → corpus_stats (corpus size and data age).
Above all: a finding isn't a finding until a cheap check that would kill it has failed to.
これは手順と前例を提示します。**最終的に採用する内容を決めるのは対象です。**この最後のルールこそが、この製品の理念のすべてです。すべてのツールには、独自の判定チェック機能(verify_cve_claimによる反証、UNVERIFIEDとdecisive_check、ambiguous、citations_grounded)が備わっており、エージェントが限定的なシグナルを許可と誤解することはありません。
無料で接続
claude mcp add --transport http vulntel https://mcp.vulntel.com/mcp \
--header "Authorization: Bearer <YOUR_KEY>"
または、任意のMCPクライアントを使用します(mcp.json)。
{
"mcpServers": {
"vulntel": {
"type": "http",
"url": "https://mcp.vulntel.com/mcp",
"headers": { "Authorization": "Bearer <YOUR_KEY>" }
}
}
}
まずはキーなしでお試しください: claude mcp add --transport http vulntel https://mcp.vulntel.com/mcp。13個のツールのうち9個は、IPアドレスごとに1日25回まで利用でき、各回答には残りの呼び出し回数が表示されます。無料キーを取得すると、1分あたり60回まで利用でき、observe、new_in_scope、assist_submission、search_public_codeが使えるようになります。詳しくは、以下のキーを取得するをご覧ください。
13個のツール
CVEインテリジェンス:
| ツール | 入力 | 戻り値 |
|---|---|---|
check_technology | 製品(バージョン、ベンダーは任意)、またはサーバーバナー | NVD CPEとOSVを横断して重複を除いた、順位付け済みのCVE。曖昧さのフラグ付き。Debian/Ubuntu/Alpineのバナーに対するディストリビューションのビルド判定 |
hunt_plan | 調査で特定したスタック | コンポーネントごとの調査順序と、繰り返し見られるバグクラス(CWE)の発生箇所 |
enrich_cve | CVE ID | CVSS、KEV、EPSS、SSVC、影響範囲、Metasploit、稼働中のPoCリポジトリを含む完全な情報 |
verify_cve_claim | CVEと、主張された属性 | 主張ごとの supported/refuted/unverifiableと証拠 |
search_vulns | 概念、起点となるCVE、または期間(製品は任意) | キーワード検索とセマンティック検索を組み合わせた検索。起点となるCVEの、製品をまたいだ仕組み上の類似事例、または新たに危険性が高まった期間(公開された、またはKEVに追加されたもの) |
observe | ホスト | 稼働中の調査結果:ホームページとJSバンドルからスタックとエンドポイントを特定し、コーパスと照合して調査順序を提示 |
search_public_code | 正確なコード文字列 | 該当する公開リポジトリ(リポジトリ/ファイル/URL) |
corpus_stats | — | コーパスの規模とデータの鮮度 |
バグバウンティの手法を応用(開示済みレポート約14,000件に基づく):
| ツール | 入力 | 戻り値 |
|---|---|---|
find_attack_approaches | 対象/CVE/バグクラス | 応用可能な攻撃手法。新規性の高い順に並べ、稼働中プログラムでの実用性を提示 |
find_continuations | ハンティング途中の攻撃者の状況 | 実際のレポートでその状況から実行された次の手順。それぞれにUNVERIFIEDと決定的な確認方法を付与 |
assist_submission | 調査結果のドラフト | 根拠に基づく報告概要とエスカレーション手順。引用を検証済み(citations_grounded) |
program_outcome_prior | バグバウンティプログラム | そのプログラムで過去に受理されたバグクラスと、基本率に対する上昇幅 |
new_in_scope | 期間(プラットフォーム、プログラム、アセット種別は任意) | HackerOne、Bugcrowd、Intigriti、YesWeHackのプログラムスコープに新たに追加されたアセット。再追加と名称変更を除外し、キャッシュ済みのスタック、リポジトリのアドバイザリ、プログラムの開示履歴を含む |
事実、順位付けされたコンテキスト、応用可能な前例を提示します。エクスプロイトやペイロードは提示しません。推論するのはエージェントであり、最終的に採用する内容を決めるのは対象です。
完全なリファレンス — すべての引数、レスポンスフィールド、各ツールの実際の使用例については、**TOOLS.md**をご覧ください。
ハンティングに活用:スキルとプレイブック
2つのMITライセンスの関連ドキュメントを使うと、コーパスをCVEの検索にとどめず、実際に受理される報告へと活用できます。自己完結型のClaude用**バグバウンティハンティングスキル(フォルダーを~/.claude/skills/に配置すると、「バグを探して」/「これは悪用可能?」で読み込まれます)と、必要に応じて参照する詳細なMCPプレイブック(ツールごとの注意点、アイデア創出のループ、検証パターン)です。どちらも単独で使えます。bug-bounty-hunting/**をご覧ください。
これは何ではないか
スキャナーでも、エクスプロイトツールでも、SBOM/SCAの代替でもありません。AI支援によるセキュリティ作業のための、根拠付け、優先順位付け、事実確認のレイヤーです。
キーを取得する
無料です。 mcp.vulntel.com/signup にアクセスしてメールアドレスを入力すると、個人用キーが送られてきます。直接問い合わせたい場合は、取り組んでいる内容(バウンティ、ペンテスト、研究)を添えて [email protected] までメールしてください。キーはユーザーごとに発行され、利用者を特定でき、失効させることもできます。
許可を得たセキュリティ研究およびバグバウンティ作業にのみ使用し、テストを許可されている対象に限ってください。サーバーが返すのは事実情報であり、攻撃ではありません。出力は判断を支援するものであり、ご自身による検証の代わりにはなりません。
© 2026 rozetyp. All rights reserved. オープンソースではありません。LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。