GitHubは6月26日(現地時間)、公式ブログの記事「New tool to secure your GitHub Actions」において、GitHub Actionsのセキュリティを高める新ツール「action-permissions」のパブリックベータ版のリリースを発表した。

action-permissionsは、GitHub Actionsのワークフローを監視し、ワークフローの実行に必要な最小限の権限をリストアップしてくれるツール。これによって、ワークフローの動作に影響を与えることなく、より安全な権限設定への変更を推奨する。

すべてのGitHubワークフローは一時的なリポジトリアクセストークン(GITHUB_TOKEN)を受け取るが、このリポジトリアクセストークンは当初はリポジトリへの完全な読み取りおよび書き込み権限が付与されていた。それに対し、GitHubは2021年にワークフロートークンのより詳細な権限モデルを導入し、デフォルトでは読み取り専用の権限を付与するように変更した。しかし、現在も依然として、不要な書き込み可能な権限を設定しているワークフローが多数あるという。

理想的には、書き込み権限が不要なワークフローを見つけた場合、権限を読み込み専用に変更するべきである。しかし、その変更によってワークフローが意図通りに動作しなくなる可能性もある。複雑なワークフローには複数のアクションが含まれるため、適切に機能するために必要な権限が何なのかを検証することは容易ではないとGitHubは指摘している。

action-permissionsは、この問題を解消するために開発された。このツールで提供されるMonitorアクションは、ワークフローランナーにローカル プロキシをインストールして、ワークフローによって開始されたGitHub APIインタラクションに関する情報を収集する。そして、ワークフローを実行するために推奨される最小限の権限を表示する。

  • Monitorアクションによる推奨される権限の表示 引用:The GitHub Blog

    Monitorアクションによる推奨される権限の表示 引用:The GitHub Blog

Advisorアクションを使うと、ワークフローを複数回実行することで得られる情報から、推奨事項の要約を作成できるという。Advisorアクションはローカルツールとして利用することもできる。

  • Advisorアクションは推奨事項の要約を作成する 引用:The GitHub Blog

    Advisorアクションは推奨事項の要約を作成する 引用:The GitHub Blog

action-permissionsはまだベータ版であり、GitHubでは試用したユーザーからのフィードバックを募集している。