GitHub ActionsをコミットSHAに31個ピン留め... ノート

GitHub ActionsをコミットSHAに31個ピン留めしました。メジャータグの1つは2バージョン古かったです。

GitHub Actions を特定のコミット SHA にピン留めすることは、タグは移動される可能性があるため、セキュリティと安定性にとって非常に重要です。このプラクティスにより、レビューされた正確なコードが常に実行され、予期しない変更を防ぐことができます。ピン留めする際は、人間が読みやすいように、SHA と共にコメントとしてリリースバージョンを含めることが推奨されます。API や外部ブログに依存せずにアクションの正しい SHA を見つけるには、git ls-remote --tags コマンドを使用できます。このコマンドはレート制限がなく、リポジトリからすべてのタグを取得します。出力には、タグとそのタグが指すコミットの両方が表示され、注釈付きタグの場合、特定のコミット SHA は ^{} サフィックスで識別されます。最近のパッケージング作業中に、既存のアクションの使用に関して 3 つの一般的な問題が特定されました。あるアクションのメジャータグは大幅に古く、最新リリースよりもはるかに古いバージョンを指していました。別のアクションのメジャータグは、それ自体の最近のリリースに遅れをとっており、最新の状態であるという誤解を招いていました。最後に、いくつかのアクションにはメジャータグがなく、ユーザーは master ブランチにピン留めすることを余儀なくされましたが、これは特定のバージョンを使用するよりも安全性が低いです。ピン留め以外にも、GitHub Workflows でセキュリティのベストプラクティスを実装することが不可欠です。これには、制限的な権限の設定、競合状態を防ぐための同時実行の設定、デプロイなどの機密性の高い操作がプルリクエストで実行されないようにすることが含まれます。さらに、pull_request_target の使用を避けることは、重要なセキュリティ対策です。これらのセキュリティ原則を組み込んだ、本番環境に対応した包括的な GitHub Workflows のセットが利用可能です。これらのワークフローは、さまざまな CI/CD タスクをカバーしており、簡単に適応できるように設計されています。アクションのピン留めとこれらのセキュリティルールの適用は、簡単なコマンドと設定を使用して効率的に行うことができます。アクションを SHA にピン留めすることは、より広範なセキュリティ体制における基本的なステップです。