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