GitHubでのセキュリティ改善対策
普段の開発では、なるべくコミットに暗号的な署名をする方がいいだろう。具体的な手順はGitのコミットに本人確認の署名をするで書いた。同時にGitHubでコミットの署名を強制するオプションも設定しておくといい。
簡単なミスならリポジトリにCodeQLを設定するを行って検出する。
ワークフローを記述するときはGitHub Actionsでスクリプトインジェクション攻撃を防ぐに気をつける。actionlint や ghalint 等でも検出できるらしい。
公式にはGitHub Actionsではコミットハッシュでの固定が推奨されるが、下記のImmutable Releaseが広まった後にはどうなるか分からない。リポジトリにCodeQLを設定するも書いた。
Dependabotにcooldownを設定するも入れておく。
GitHub ReleasesのImmutable Releasesを前提としたい。
リリースでなんらかの配布物を展開する場合は、GitHub artifact attestationsの利用を考慮するといい。GoのバイナリならGo製バイナリをリリースする方法に色々書いた。
以下の資料はとても充実しているが、ここまでしないとだめなのか?とも思う。ここまでやるなら手動での管理は不可能なのでTerraform等の自動化を考えるべきだろう。