Перейти к содержимому

Dependabot の通知を待っていて大丈夫?|CVE から警告までの遅延と govulncheck

ぎゅぎゅっとテック

0:00 / 0:00

Dependabot の通知を待っていて大丈夫?|CVE から警告までの遅延と govulncheck

192 просмотра · 10 дн. назад
ぎゅぎゅっとテック
1,15 тыс. подписчиков
192 просмотра · 10 дн. назад
CVE は公開済み。修正版も出ている。なのに Dependabot の警告はゼロ。それで本当に大丈夫ですか。 この動画では、CVE が公開されてから Dependabot の警告が出るまでに何が起きているのかを、1 枚の図にまとめて説明します。 警告が遅れるのは、脆弱性の公開と、GitHub への登録と、リポジトリでの照合が、それぞれ別の段階だからです。何分以内に警告が出るという保証は、GitHub の公式のドキュメントにありません。 そこで、Go の公式の脆弱性データベースと govulncheck、一次情報の見張りを足して、Dependabot の通知だけに頼らない検出の経路を組み立てます。見つけたあとに、どれから直すかを決める物差しまで説明します。 見終わると、「警告ゼロ」が安全の証明にならない理由と、自分のプロジェクトに足すべき検出の経路が分かります。 ▼ こんな人に ・GitHub で Go のバックエンドを運用していて、Dependabot を有効にしている ・Dependabot の Alerts・Security Updates・Version Updates の違いが、あいまいなまま ・CVE が出たときに、自分たちが影響を受けるかをすぐ判断できるようにしたい ▼ チャプター 0:00 導入:CVE は出ているのに、警告ゼロ 1:00 第 1 部 Dependabot の 3 つの機能:Alerts が動くきっかけ 2:12 第 2 部 CVE から Alert まで:公開・登録・照合 4:26 第 3 部 Dependency Graph:依存していることと呼んでいること 5:39 第 4 部 govulncheck:Go Vulnerability Database と呼び出しの解析 7:19 第 5 部 早く気づくには:検出の経路を増やす 8:40 第 6 部 どれから直すか:深刻度・到達性・悪用の実績 10:11 第 7 部 Go のバックエンドで組む:設定・CI・監視 11:19 まとめ:警告ゼロは安全の証明になるか ▼ 各部の内容 第 1 部 Dependabot の 3 つの機能 Dependabot には、既知の脆弱性を見つけて警告を出す Dependabot Alerts、直すためのプルリクエストを作る Security Updates、依存を新しいバージョンに上げる Version Updates の 3 つがあります。Version Updates は毎日・毎週のスケジュールで動きますが、Alerts はスケジュールで脆弱性を探しているわけではありません。新しい脆弱性がデータベースに入ったときと、リポジトリの依存関係が変わったときに動きます。 第 2 部 CVE から Alert まで CVE は脆弱性を見分けるための番号で、どのパッケージのどのバージョンが影響を受けるかは、GitHub Advisory Database で整理されます。その情報を go.mod などの依存と照らし合わせて、Alert が出ます。CVE が公開されていても、GitHub が確認したアドバイザリになるまでは Alert は出ません。Dependabot をリアルタイムの検知システムとして扱うのが危ない理由です。 第 3 部 Dependency Graph GitHub は Dependency Graph で、Go なら go.mod からプロジェクトの依存を読み取ります。ただし、go.mod に書かれた依存と、実際に呼び出されるコードは同じではありません。Alert が出ても悪用できるとは限らず、Alert が出なくても安全とは限りません。 第 4 部 govulncheck Go には公式の Go Vulnerability Database があり、govulncheck はそれを使ってプロジェクトを解析します。依存のバージョンだけでなく、脆弱な関数が実際に呼ばれる可能性があるかまで調べられます。GitHub とは別のデータベースなので、先に載れば早く気づける可能性があります。静的解析の限界にも触れます。 第 5 部 早く気づくには Dependabot にも govulncheck にも、データベースに登録されるまでは見つけられないという共通の制約があります。CVE やベンダーのセキュリティアドバイザリ、Go の公式のセキュリティ情報を見張り、自分たちの依存と照らし合わせ、govulncheck を CI で定期的に回し、Dependabot Alerts も使い続けます。スキャンの間隔を短くすることと、情報を早く手に入れることは別の問題です。 第 6 部 どれから直すか AI を使った脆弱性の発見や攻撃の自動化で、公開から悪用までの時間が短くなるおそれがあります。それでも、すべての CVE で本番を止める必要はありません。CVE の深刻度だけでなく、脆弱な関数が呼ばれるか、インターネットから届くか、悪用されているか(CISA の KEV カタログなど)を見て、優先度を決めます。 第 7 部 Go のバックエンドで組む GitHub で Dependabot Alerts と Security Updates を有効にし、必要なら Version Updates を設定します。CI に govulncheck を組み込み、プルリクエストのときだけでなく定期実行も設定します。重要なシステムでは、CVE や Go のセキュリティ情報を別の経路でも見張り、影響が疑われるときに通知します。 まとめ 3 つの機能の役割、公開・登録・照合の段階、govulncheck と一次情報の経路を、完成した図で振り返ります。冒頭の「警告ゼロ」の答えも、ここで出します。 ▼ ことわり GitHub の画面は、ロゴの無い枠で模したものです。冒頭の CVE(CVE-2026-111943)と go.mod のバージョンは説明のための例で、この CVE で Dependabot の Alert が出たかは確かめていません。 GitHub の機能の名前や画面の表記は、時期やプランによって変わります。 ▼ 出典 ・GitHub Docs:Dependabot alerts、Dependabot security updates、Dependabot version updates、GitHub Advisory Database、Dependency graph、Viewing and updating Dependabot alerts ・Go:Go Vulnerability Database(go.dev/doc/security/vuln)、govulncheck(pkg.go.dev/golang.org/x/vuln/cmd/govulncheck)、govulncheck-action、Go Security Policy ・CISA:Known Exploited Vulnerabilities Catalog ・Google Cloud(Mandiant):Time-to-Exploit Trends 2023 ・Anthropic:AI を使ったサイバー攻撃の報告(2025-11) ・CVE Program の公開データ(cvelistV5) #Dependabot #脆弱性 #セキュリティ #Go #Golang #GitHub #CVE #govulncheck #DevSecOps #バックエンド #エンジニア #ぎゅぎゅテク #ぎゅぎゅっとテック