alpha Lounge

20%の技術記事とオタクネタ

【Flutter】GitHubのDart/FlutterプロジェクトにDependabot機能がサポートされたぞ

GitHubが10月頭に以下のブログを掲載しました。Dart/FlutterプロジェクトにDependabot機能が追加されました。

github.blog

Dependabotは、依存しているライブラリを解析し、脆弱性があればアラートを投げてくれたり、自動的にバージョンアップのプルリクエストを作成してくれる機能です。npmやbundlerなど多くのパッケージ管理システムをサポートしています。

Dart/Flutterプロジェクトのpubでは、ベータ版として春先には使えるようになっていたようですが、ようやく正式サポートになったようになったようです。
正式サポートによってプライベートリポジトリでも有効化できるようになったようなのでありがたいですね🙏

実例

私のGitHubのサンプルの1つであるStateNotifierTestに、以下のようなアラートが届いていました。httpパッケージ脆弱性があるという通知ですね。最近メンテしていませんでしたが、パブリックリポジトリだと自動的に有効化されるようなのでとても助かります。

今後のために、 Dependabotをセッティングしていきます。

Dependabotの有効化

Insights→Dependency graph→Dependabotと辿り、Dependabotを有効化します。

Dependabot security updates(脆弱性対策)の有効化

Settings→Code security and analysis→Dependabotと辿り、Dependabot security updates設定を有効化します。
前述した脆弱性の不具合などを見つけた際に、自動でアップデートするプルリクを作成してくれます。

Dependabot version updates(バージョン更新)の有効化

自動でライブラリのアップデートを検知してくれるように、dependabot.ymlも設定します。

Settings→Code security and analysis→Dependabotと辿り、Dependabot version updates設定からymlを作成します。pubをスキャンするように設定しておけば、ライブラリのアップデートを検知してプルリクを作成してくれます。

おわりに

個人だけでなく企業でもFlutterを導入しているところが増えてきていますが、ライブラリのアップデート周りに頭が回らないところも多いかと思います。セキュリティ面を担保するためにも、Dependabot機能を積極的に使っていきたいですね💪