ニュース
DependabotのAPIに依存バージョンが追加:脆弱性一覧で混同しないポイント
依存バージョンと脆弱な範囲を分けて読む。新しいversion_requirementの意味と、一覧へ取り込む前の確認手順を整理するよ。

Dependabotのアラートを別の管理表へまとめるとき、「どの版が危険か」と「このリポジトリにある版」を分けて見たいよね。GitHubは10月20日、REST APIのアラートに依存関係のバージョン情報を追加したと発表したよ。
新しい項目はversion_requirement
公式発表によると、dependencyオブジェクトのversion_requirementに、Dependabotが最後に記録したバージョンまたはバージョン条件が入る。従来の脆弱性情報にある「影響を受ける範囲」とは役割が違う項目だね。
REST APIは、プログラムから情報を取得するための窓口。アラートを管理ツールへ同期する処理などで、この項目を使えるようになる。
値の意味は検出方法によって変わる
ロックファイルから検出した場合は解決済みの版、ロックファイルがないマニフェストでは宣言された版や条件、Dependency submission APIではビルドツールが送った解決済みの版になると説明されている。
値がない場合はnull。複数の脆弱な版を含むアラートでも記録値が一つだけの場合があり、長い条件は省略されることもある。常に完全なインストール一覧だと扱わないようにしよう。
一覧では列を分けると読みやすい
ここからは編集部の取り込み案。既存の「バージョン」という一列へ詰め込むより、意味を分けて記録すると判断しやすい。
| 欄 | 読むときの問い |
|---|---|
| 記録された版・条件 | このアラートで何が記録されたか |
| 脆弱性の影響範囲 | どの版が影響を受けるか |
| 修正候補 | 自分の構成でどの更新を試すか |
| 確認時刻 | いつ取得した情報か |
同期処理を変える前に確認すること
- テスト用の応答で、文字列とnullの両方を扱えるか試す。
- 旧データに項目がなくても、一覧全体が止まらないようにする。
- 脆弱性の影響範囲を、この新しい値で上書きしていないか確認する。
- 複数の版や省略された条件は、依存関係の実データと照合する。
公式はgithub.comとデータ所在地対応のGitHub Enterprise Cloudで利用でき、GitHub Enterprise Serverでは3.24に含まれると案内している。自分の利用先を確認してから処理を変えよう。依存関係を含む変更のレビューには、AIによるコードレビューの確認手順も参考になるよ。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。