Scala(sbt)でGitHubのDependabot Alertsを使う

2023/08/17に公開

TL;DR

Github Actionのファイルを.github/workflowsに作成する

# .github/workflows/dependency-graph.yml
name: Update Dependency Graph
on:
  push:
    branches:
      - main # default branch of the project
jobs:
  dependency-graph:
    name: Update Dependency Graph
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: scalacenter/sbt-dependency-submission@v2

Dependabot Alertsとは

リポジトリ内の依存パッケージの脆弱性を検出し、警告を表示してくれるもの
検出されるとSecurityタブのところに数字が表示される

サポートされるパッケージシステム

以下にサポートされるパッケージシステムが書いてある
ScalaはMavenのみ対応(2023/08)

Dependabot Alertsは依存関係グラフに依存しており、対応するエコシステムも同じ

https://docs.github.com/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems

Dependency Submission API

Dependency Submission API を使って、プロジェクトのビルド時にプロジェクトの依存関係を送信することにより、sbtでもDependabot Alertsを使うことができる

sbt1.5以上ならOK

https://docs.github.com/ja/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api

https://github.com/marketplace/actions/sbt-dependency-submission

※冒頭のGithub Actionのファイルを作成する→デフォルトブランチの設定注意

設定

Setting -> Code security and analysis
Dependabot alerts、Dependabot security updateを有効化

確認

Insights -> Dependency grapph
で依存パッケージが確認できる

Discussion