RESEARCH / DOCUMENTMarkdown原文 ↗

CVE-info

Google 向け Sitemap

Pages のビルド時に sitemap.xml と、最大 40,000 URL ごとの分割 Sitemap を自動生成します。収録済み CVE の統合詳細ページ (cve.html?id=CVE-...) と公開レポートの索引を含め、重複する CVE 別 Note・転送ページ・docs/ は除外します。更新日時を誤って伝えないよう、ビルド時刻を lastmod として記載しません。

Google Search Console でこのサイトの所有権を確認し、「サイトマップ」に https://dev.mhirano.jp/CVE-info/sitemap.xml を登録してください。以後のファイル更新は Pages の公開処理が行います。Sitemap の提出はクロール・インデックス登録を保証するものではありません。詳細ページは JavaScript で本文を読み込むため、Search Console の URL 検査でレンダリング結果も確認できます。

このリポジトリの公開先は /CVE-info/ 配下です。/CVE-info/robots.txt はドメインルートの robots.txt の代わりにならないため、ここには作成しません。ドメインルート側を管理している場合は、https://dev.mhirano.jp/robots.txt に Sitemap: https://dev.mhirano.jp/CVE-info/sitemap.xml を追記する方法もあります。

ローカルビルドの URL は python -m scripts.build_site --site-url https://dev.mhirano.jp/CVE-info で指定できます。Actions では GitHub Pages の設定から公開 URL を取得し、HTTPS に統一します。仕様は Google の Sitemap 作成ガイドを参照してください。

成立条件・攻撃の流れ・確認された悪用・調査と対策を詳しく読む 20件のNoteを掲載しています。執筆・レビュー基準、情報源の利用条件も参照してください。

2026年以降の脆弱性情報を、日本語の調査メモとともに蓄積するリポジトリです。CVE/NVD、JVN・JVN iPedia、JPCERT/CC、CISA KEVを結び付け、攻撃での用途・前提条件・対策を整理します。

まず レポート一覧、Web調査した20件、収集状況を参照してください。収集状況にエラーや未取得がある情報源は網羅できていません。

ブラウザーでの閲覧先: CVE-info on GitHub Pages。リポジトリのprivate設定とは別に、Pages上の収集済み公開情報は一般公開されます。

初期データはNVD 509件(調査済み9件+直近公開分500件)、JVN 463件、JPCERT/CC 34件、CISA KEVカタログです。NVDの全件ベースラインは未完了、JVN iPediaは503のため未取得です。この記述は初期作成時点であり、現在の件数・成否は収集状況とWeb画面で確認してください。

対象の決め方

  • NVDの公開日が2026-01-01以降のCVE。番号が CVE-2025-... でも公開日が対象期間なら収録します。
  • 2026年以降にCISA KEVへ追加された過去年のCVEも、当年の悪用情報として収録します。
  • JVN/JVNVU・JPCERT/CCで2026年以降に掲載された情報。CVE番号のない情報も保持します。
  • その日本語アドバイザリが参照する過去年のCVEも、文脈確認のため収録します。
  • JVN iPediaは2026年以降の登録日を基準に取得します。これはCVEの公開日と異なる日付です。

「日本版CVE」に相当する情報源としてJVN/JVN iPediaを扱いますが、CVE、JVN#、JVNVU#、JVNDB番号は同じものではありません。複数対複数の対応を保持します。単に2026年に更新された過去の全CVEを無条件で取り込むことはしません。

保存内容

場所 内容
data/nvd/*.jsonl.gz NVD CVEオブジェクト。説明・全CVSS評価・CWE・CPE条件・参考URLを保持。ID年とハッシュで分割し、gzip圧縮
data/kev.json CISA KEVカタログ。全件保持し、レポートでは対象期間を選択
data/jvn/, data/jpcert/ 日本語ページのタイトル、日付、対応CVE、参考リンク
data/jvndb/ MyJVN APIが取得できた場合の日本語概要レコード
data/status/ 情報源別の成功日時、完了境界、エラー、フィード版
reports/monthly/ NVDの全収集レコードを公開月別に掲載するMarkdown索引
reports/cves/ KEV・日本語情報・個別調査のあるCVEを優先した詳細Markdown
notes/ Web検索と一次資料による日本語補足。自動更新分は「自動生成・未検証」と表示

数万件の本文を単一ページに詰め込まない構成です。全CVEを個別Markdownにする場合は python -m scripts.render --all を実行できます。

ローカル更新

Python 3.10以上。外部Pythonライブラリは不要です。リポジトリのルートで実行します。

python -m scripts.collect
python -m scripts.render
python -m scripts.validate

初回はNVDの公式JSON 2.0年別フィードを確認します。2002年フィードにはそれ以前のIDも含まれ、古い番号が2026年に初公開された場合も拾います。ダウンロード量は多く、回線によって時間がかかります。完了したフィードのSHA256を保存するため、中断後の再実行では同じフィードを再ダウンロードしません。次回以降は更新日時による差分取得に切り替わります。

# 情報源を絞る/全面再確認する
python -m scripts.collect --sources jvn jpcert kev
python -m scripts.collect --full

# オフライン検索/全フィールドの取得
python -m scripts.query SiteGuard
python -m scripts.query CVE-2026-106931 --json

# 検証
python -m unittest discover -s tests -v

NVD APIキーがあれば環境変数 NVD_API_KEY に設定します。キーなしでも利用できる間隔に制限しています。.env の自動読込みはしません。

継続更新

GitHub Actions設定は毎日06:17 JSTに収集・Markdown再生成・検証を行い、data/ と reports/ をコミットします。毎月1日(UTC)はベースラインと日本語ページを再確認します。手動実行も可能です。

デフォルトブランチへのpush後に有効です。Actionsが有効であること、Actionsに書込みが許可されていることを確認してください。ブランチ保護で直接pushを禁止している環境では更新用ブランチ・PR方式への変更が必要です。任意でRepository Secret NVD_API_KEY を登録できます。

収集元が失敗しても他の情報源を続行し、既存データと調査メモを保持します。取得失敗はレポートに記載し、ジョブも失敗扱いにします。タイムアウトや検証失敗でコミットまで到達しない場合はActionsログを確認してください。

日次更新は公開フィード・アドバイザリの取得と索引作成を行います。自動調査は公開当日・1・3・5・7日後、情報源変更時、30日経過後の調査を実行し、出典付きのNote更新案をPRにし、調査・検証の成功後に自動マージします。生成内容の品質確認・事実確認は行わず、「自動生成・未検証」の注釈を付けてNoteとPagesへ自動反映します。既定はAPIキー不要のCERT-FR公開資料内検索です。OpenRouterを指定するとSonnet BYOKでWeb検索し、引用に結び付く事実を無料モデル優先で日本語案に整理します。モデルリストの優先順・同順位ラウンドロビンでBYOKへフォールバックし、予算や日次枠を確認して処理できないものを延期します。OpenAI/Claudeの直接接続も利用できます。自動公開記録では注釈・日付・本文ハッシュの整合性を確認します。認証切れ・取得障害・全モデルの利用枠不足などで未完了が残ればCIを失敗させ、成功分の公開は継続します。計画だけを作る旧フローは手動の成果物出力に限定し、定期PRは作成しません。

GitHub Pages

CVE詳細画面では「AI解説」「Web調査」「公式情報」をバッジとセクションで区別し、Web調査メモの本文・出典も同じページで読めます。画面のAI表示は「AI解説」に統一し、元Markdownや公開記録は維持します。幅の広い表は表の枠内だけで横スクロールでき、スマホでもページ全体は横にはみ出さない構成です。

LLMによる日本語タイトル・翻訳・平易な解説も順次追加します。原文からわかる問題点、成立条件、影響、対応、不明点を分け、原文・出典を残し、画面には「AI解説」のバッジを表示します。これはWeb検索による調査Noteとは別です。検索画面で「AI解説あり」と「日本語の出典あり」をそれぞれ選択できます。

日本語化は既存の自動調査Actionsで通常1回40件まで、最大10分間実行します。短い原文は2件ずつ、長いものは1件ずつ処理し、2,400文字を超える原文は先頭の抜粋であることを明示します。4分の1は古い未処理分に割り当て、残りはKEV・原文変更・新着を優先します。LOCALIZATION_LIMIT Variableで件数上限を変更できます。原文ハッシュが同じ結果は再利用し、変更された結果は更新完了まで表示しません。モデル優先順位・無料枠・BYOK・予算台帳はWeb調査と共有します。認証・API・利用上限のエラーはCI失敗とし、成功分は保存・公開します。全件を一度に翻訳済みとするものではありません。

日本語の出典にはJVN、JVN iPedia、JPCERT/CCに加え、IPAの「重要なセキュリティ情報」を日次収集します。IPAは年度別索引から暦年2026年以降を抽出し、記事本文内のCVEとJVN参照を関連付けます。記事本文の転載はせず、タイトル・日付・対応CVE・出典を保存します。

検索結果はすべてサイト内の詳細画面を開きます。詳細には収集済みの原文説明、製品・バージョン、CVSS、CWE、KEV、日本語アドバイザリ、出典を表示し、Web調査メモがある場合は同じページに本文と出典を表示します。Web調査をしていない項目にはその状態を明記します。

見出しは日本語のNote・アドバイザリ・説明を優先し、ない場合は登録製品名とCWEの日本語分類から構成します。後者は翻訳ではなく、未登録の分類を推測しません。原文の見出し・概要を併記するため、同じ分類の項目も区別できます。全件の詳細データは年・番号帯ごとのJSONとしてPages内に配置し、共通の cve.html?id=CVE-... から読み込みます。外部APIや追加のLLM呼び出しは不要です。画面の利用にはJavaScriptが必要です。

公開ワークフローがmainへのpushとデータ更新・自動調査ワークフローの完了を受けて、HTML変換・検索索引作成・デプロイを行います。ボットによるpushから通常のpushワークフローは起動しないため、workflow_runで更新後の再公開を保証します。取得元の一部が失敗した場合も、保存された成功分と収集状況を公開します。

サイト本体は GitHub Pages で配信する静的HTML/JavaScriptです。CVE番号・製品・CWEの検索、KEV/日本語情報/Web調査メモの絞り込みに対応します。HTML生成だけ追加依存が必要です。Google 広告タグを配置し、Google Analytics は下部の同意パネルで許可した場合に読み込みます。プライバシー説明は Pages にも公開します。

MCPから利用する

AIクライアントから公開済みの脆弱性情報を検索・取得する方法を、MCPの使い方にまとめています。Claude Desktop・Claude Code・Codex CLIへの1行登録、利用例、更新方法、接続トラブルの確認手順を掲載しています。

広告・解析と同意

AdSense と Google Analytics の初期化タグを全 HTML に配置します。小型の同意パネルでアクセス解析を許可・拒否でき、選択は90日間保存されます。Google の同意 API 応答を待たずに操作でき、パネル内に「Google の同意設定」ボタンは表示しません。Analytics の外部スクリプトは許可後に読み込み、拒否・撤回時は無効化します。広告の同意はこのパネルで変更せず、AdSense 側の同意管理に任せます。以前の Google 応答待ち方式で保存された選択は引き継がず、改めて選択を求めます。

一覧の既定順はNVD公開日の新しい順です。「Note・KEVを優先」に切り替えると、Noteの有無、KEV掲載の有無、公開日の順になります。表示日はNote調査日やKEV追加日ではありません。CVE番号だけの見出しは日本語アドバイザリ・KEVの脆弱性名・NVD説明から補完します。Web検索を行っていない定型の「自動調査案」は公開Noteに含めません。

python -m pip install -r requirements-site.txt
python -m scripts.build_site
python -m http.server 8768 --bind 127.0.0.1 --directory _site

Pagesにはトップページ、README、notes/、reports/を掲載します。docs/はGitHub上で管理し、Pagesには含めません。本文からdocsへのリンクはGitHubの原本へ向けます。

フォーク先で利用する場合はPagesのSourceをGitHub Actionsに設定し、--repository OWNER/REPOでビルドします。リンクは相対パスなのでプロジェクト用サブディレクトリでも動作します。

情報の読み方

KEVは悪用確認の根拠、CVSSは技術的深刻度、CWEは弱点の分類です。これらは異なります。未掲載・未採点・未翻訳を「安全」と解釈しません。CWEからの攻撃用途は仮説と明記し、実攻撃の観測とは分離しています。

詳しくは 情報源と設計、更新・調査手順を参照してください。元情報には遅延・訂正があり、対象バージョンと修正はベンダーの最新情報で確認します。外部データや記事の権利は各情報提供元に帰属します。