[ blog · tutorial ]10 min read

CVE・脆弱性インテリジェンスエージェントを作る:CISA KEV・NVD・EPSS・MITRE ATT&CK を 1 つの API で

Sarah Choy公開: 2026年6月16日読了 10 分
CVE・脆弱性インテリジェンスエージェントを作る:CISA KEV・NVD・EPSS・MITRE ATT&CK を 1 つの API で

どのセキュリティチームも CVE に溺れている。シグナルは深刻度ではない — その脆弱性が実際に悪用されているか、そして悪用される可能性がどれだけ高いかだ。NVD・CISA KEV・EPSS・ATT&CK を融合し「まず何にパッチを当てるべきか」に答えるエージェントの作り方を示す。

要点

  • CVSS の深刻度だけでは過大に数えてしまう:ほとんどの「Critical」CVE は決して悪用されない。本当の優先順位付けには、その上に CISA KEV(既知の悪用)+ EPSS(悪用される確率)を重ねる必要がある。
  • 4 つのソース:NVD(CVE レコード + CVSS)、CISA KEV(実環境での悪用が確認された権威ある一覧)、EPSS(毎日更新される 0〜1 の悪用確率スコア)、MITRE ATT&CK(文脈のための戦術/技術)。
  • API Pick の Cybersecurity Search はこの 4 つすべてを 1 つの POST エンドポイントの裏側で包む — 1 回 10 credits、成功時のみ — だから 4 つのスクレイパーなしで融合済みの脆弱性インテリジェンスが得られる。
  • エージェントのパターン:CVE を引き、KEV 収録の有無を確認し、EPSS スコアを読み、ATT&CK の技術にマッピングし、その上で悪用優先、次に EPSS、最後に CVSS で並べ替える。
  • これはスキャナーではなく検索だ:脆弱性について何が分かっていて何が起こりそうかを教え、人間のトリアージを優先順位付けするためのものであって、自動対応を承認するためのものではない。

深刻度は間違ったソートキーだ

CVSS スコアでパッチを当てる脆弱性プログラムは、忙しいが効果がない。National Vulnerability Database には数万件の High と Critical の CVE が載っているが、その圧倒的多数は決して悪用されない。その一方で、実環境で動く悪用コードを持つ「Medium」がバックログに埋もれている。セキュリティエージェントが答えるべき問いは「これがどれほど悪くなりうるか」ではない — 「今日、まず何にパッチを当てるべきか」だ。

それに答えるには、4 つのデータソースを融合する必要がある。どれも無料で公開されており、それぞれ独自の形式と更新頻度を持つ。

4 つのソース

NVD — CVE レコード

NIST の National Vulnerability Database。CVSS ベクトル、影響を受ける製品(CPE)、参照情報を備えた CVE の正典的な一覧だ。「この脆弱性は何か」のベースラインレイヤー。強み:権威があり網羅的。弱み:CVSS だけでは深刻度を過大に数える。

CISA KEV

Known Exploited Vulnerabilities カタログ — 実環境での悪用が確認された CVE の、CISA による権威ある一覧で、米国連邦機関向けの修復期限付きだ。CVE が KEV に載っていれば、キューを飛び越える。強み:脆弱性管理における単一で最高シグナルのフラグ。

EPSS

FIRST.org の Exploit Prediction Scoring System:CVE が今後 30 日以内に悪用される確率を表す毎日更新の 0〜1 のスコア。「悪用されうる」を「どれだけ可能性が高いか」に変える。強み:実際の攻撃者の挙動に対応する確率的な順位付け。

MITRE ATT&CK

攻撃者の戦術と技術のナレッジベース。脆弱性をそのキルチェーン上の役割にマッピングする。強み:CVE を、検知や対応計画が使える運用上のストーリーに変える。

1 つのエンドポイント、融合されたインテリジェンス

Cybersecurity Search は NVD、CISA KEV、EPSS、MITRE ATT&CK を 1 つの POST エンドポイントの裏側で包む — 1 回 10 credits、成功時のみ。CVE ID か自然言語クエリを渡すと、結果が融合され、LLM 向けに整形済みで返ってくる。ベンダーのアドバイザリには Web Search を、アドバイザリページ全文の取得には Extract を組み合わせよう。

import httpx, os
API, HEADERS = "https://api.apipick.com/v1", {"x-api-key": os.environ["APIPICK_KEY"]}

def vuln_intel(query: str):
    r = httpx.post(f"{API}/search/cybersecurity",
                   headers=HEADERS, json={"query": query})
    r.raise_for_status()
    return r.json()["results"]

# "what should I patch first across NVD + KEV + EPSS + ATT&CK?"
records = vuln_intel("actively exploited Apache and VMware vulnerabilities this month")

# Rank: KEV-listed first, then by EPSS, then CVSS. Feed the ranked,
# cited list to your LLM to summarize the worklist for an analyst.

内製 vs 外注

自前で配線するAPI Pick
ソースNVD + KEV + EPSS + ATT&CK を別々に4 つすべて、融合済み
形式4 スキーマ + EPSS CSVJSON 形状 1 つ
鮮度4 つの同期を自分でスケジュール呼び出しごとにライブ
LLM 対応各々を自前で正規化整形済み + ソース URL
コストインフラ + メンテナンス1 回 10 credits、成功時のみ

作れるもの

パッチ優先順位付けアシスタントにとどまらない:スタックに含まれる CVE が悪用一覧に載ったときに通知する毎日の KEV ウォッチエージェント、スキャナーのエクスポートを順位付け済みで引用付きの作業リストに変えるトリアージボット、CVE の ATT&CK 上の含意を平易な言葉で説明するアナリストのコパイロット。パターンは同じ — 融合された検索、悪用優先での順位付け、ソースを添えた統合だ。無料キー(100 credits、カード不要)を取得し、エージェントを向けてみよう。

よくある質問

なぜパッチ優先順位付けに CVSS の深刻度では足りないのか?

深刻度は潜在的な影響を測るものであって、悪用される可能性を測るものではないからだ。数万件の CVE が High や Critical と評価されるが、実環境で悪用されるのはごく一部にすぎない。CVSS だけでパッチを当てると、攻撃者が決して触れない脆弱性に労力を費やす一方で、能動的に悪用されている Medium 評価のものを見逃してしまう。現代的なアプローチは、本当に重要なものを並べ替えるために、CVSS の上に CISA KEV(既知の悪用か?)と EPSS(その確率はどれだけか?)を重ねる。

EPSS とは何で、どう使うのか?

EPSS(Exploit Prediction Scoring System、FIRST.org による)は、各 CVE に対し、今後 30 日以内に悪用される確率を推定した 0〜1 のスコアを毎日更新で与える。よくあるポリシー:CISA KEV に載っているものは即座にパッチ、次に EPSS が約 0.1 を超えるもの(あるいはリスクに合わせて調整した閾値)、残りは CVSS でトリアージする。EPSS は毎日更新されるので、エージェントはキャッシュせず再取得すべきだ。

MITRE ATT&CK は何を加えるのか?

文脈だ。ATT&CK は攻撃者の戦術と技術(初期アクセス、権限昇格、データ持ち出しなど)をマッピングする。CVE をそれを悪用する技術に結びつけることで、アナリストはキルチェーン上の含意を理解できる — 単に「これは悪用可能だ」ではなく「これは横展開を可能にする」とわかり、優先順位付けや追加すべき検知が変わってくる。

エージェントは自動でパッチを当てたりトラフィックをブロックしたりできるか?

いいえ — そう配線すべきでもない。これはインテリジェンスの検索レイヤーだ:脆弱性について分かっていることを融合し、人間のトリアージを優先順位付けする。自動修復には変更管理、テスト、そして人間の責任者が必要だ。エージェントは順位付け済みで引用付きの作業リストを生み出すために使い、実行はパッチ/SOAR パイプラインとエンジニアに任せること。

データはどれくらい最新か?

NVD と CISA KEV は CVE が公開され悪用が確認されるたびに継続的に更新され、EPSS は毎日再計算される。エンドポイントはライブのソースに問い合わせるので、エージェントの 1 回の実行は現在の状態を反映する。監査証跡のために、意思決定の時点での EPSS スコアと KEV ステータスをタイムスタンプ付きで保存すること。

この記事で使われている API

Sarah Choy
執筆
Sarah Choy
CEO, API Pick

API Pick の CEO。AI エージェントと LLM ワークフロー向けの本番運用可能な API について執筆。