DESIGN / CODE / INFRA / AI

ニュース

DependabotのAPIに依存バージョンが追加:脆弱性一覧で混同しないポイント

依存バージョンと脆弱な範囲を分けて読む。新しいversion_requirementの意味と、一覧へ取り込む前の確認手順を整理するよ。

DependabotのAPIに依存バージョンが追加:脆弱性一覧で混同しないポイント

Dependabotのアラートを別の管理表へまとめるとき、「どの版が危険か」と「このリポジトリにある版」を分けて見たいよね。GitHubは10月20日、REST APIのアラートに依存関係のバージョン情報を追加したと発表したよ。

新しい項目はversion_requirement

公式発表によると、dependencyオブジェクトのversion_requirementに、Dependabotが最後に記録したバージョンまたはバージョン条件が入る。従来の脆弱性情報にある「影響を受ける範囲」とは役割が違う項目だね。

REST APIは、プログラムから情報を取得するための窓口。アラートを管理ツールへ同期する処理などで、この項目を使えるようになる。

値の意味は検出方法によって変わる

ロックファイルから検出した場合は解決済みの版、ロックファイルがないマニフェストでは宣言された版や条件、Dependency submission APIではビルドツールが送った解決済みの版になると説明されている。

値がない場合はnull。複数の脆弱な版を含むアラートでも記録値が一つだけの場合があり、長い条件は省略されることもある。常に完全なインストール一覧だと扱わないようにしよう。

一覧では列を分けると読みやすい

ここからは編集部の取り込み案。既存の「バージョン」という一列へ詰め込むより、意味を分けて記録すると判断しやすい。

欄 読むときの問い
記録された版・条件 このアラートで何が記録されたか
脆弱性の影響範囲 どの版が影響を受けるか
修正候補 自分の構成でどの更新を試すか
確認時刻 いつ取得した情報か

同期処理を変える前に確認すること

  1. テスト用の応答で、文字列とnullの両方を扱えるか試す。
  2. 旧データに項目がなくても、一覧全体が止まらないようにする。
  3. 脆弱性の影響範囲を、この新しい値で上書きしていないか確認する。
  4. 複数の版や省略された条件は、依存関係の実データと照合する。

公式はgithub.comとデータ所在地対応のGitHub Enterprise Cloudで利用でき、GitHub Enterprise Serverでは3.24に含まれると案内している。自分の利用先を確認してから処理を変えよう。依存関係を含む変更のレビューには、AIによるコードレビューの確認手順も参考になるよ。

参考・出典

みんなのコメント 0

感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。

最初のコメントをどうぞ。