GitHubがSHA-1をHTTPS接続から無効化
GitHub Changelogによると、GitHubは2026年9月15日、予定していたとおり「SHA-1 in HTTPS」を無効化しました。対象はgithub.comとパートナーCDNで、GitHub Enterprise CloudおよびGitHub Enterprise Cloud with Data Residencyも含まれます。
一方、GitHub Enterprise Serverは今回の変更の対象外です。GitHub Enterprise Serverを利用している環境と、GitHubが提供するクラウドサービスを利用している環境では、確認すべき影響範囲が異なります。
影響が想定される利用形態
GitHubは事前告知で、次のような利用形態を影響対象として挙げていました。
- GitHub Webを閲覧するブラウザー
- GitHub APIを利用するソフトウェア
- HTTPS経由でGitリポジトリをclone、push、pullするGitクライアント
SHA-1に対応した古いTLSクライアントや、古い証明書検証環境を使っている場合、GitHubへのHTTPS接続に失敗する可能性があります。ブラウザーでGitHubを利用する場合だけでなく、CI/CD環境、社内ツール、GitHub APIと連携するソフトウェアなども確認対象になります。
GitHubは利用者に対し、ブラウザーは最新のもの、API利用環境は最新のフレームワークまたはライブラリ、Gitクライアントは最新のGit、OS、TLSバックエンドを使用するよう案内しています。接続障害が発生していなくても、GitHubと通信する環境を棚卸しし、更新状況を確認することが重要です。
事前に一時無効化も実施
GitHubの事前告知では、完全無効化に先立ち、2026年7月14日00:00〜18:00(UTC)にSHA-1を一時的に無効化する「brownout」を実施する予定が示されていました。その後、2026年9月15日にGitHubおよびパートナーCDNで完全無効化されました。
段階的な確認機会が設けられていたものの、brownoutの時間帯に問題が表面化しなかった環境でも、利用しているライブラリやTLSバックエンドの構成によっては、今後の更新や環境変更時に影響が現れる可能性があります。特に、長期間更新されていない実行環境や、OS標準とは異なるTLS実装を組み込んだソフトウェアでは、接続経路を確認する必要があります。
GitのコミットID変更とは別の話
今回の「SHA-1廃止」は、GitHubとのHTTPS/TLS接続におけるSHA-1の署名・証明書検証関連の利用を無効化するものです。Gitのコミット、tree、blobのオブジェクトIDを別の形式へ移行する発表ではありません。
つまり、リポジトリの履歴に使われる識別子の変更を直接意味するものではなく、主な確認対象はGitHubと通信するクライアント側のHTTPS/TLS対応です。Gitの操作で問題が起きた場合も、まずはGit本体、OS、TLSバックエンド、証明書検証環境の更新状況を確認することになります。
なお、IETFのRFC 9155は、TLS 1.2およびDTLS 1.2でMD5とSHA-1をデジタル署名に使うことを非推奨とし、クライアントがsignature_algorithms拡張でSHA-1を提示してはならないと定めています。同RFCは、TLSレコード保護で使われるSHA-1 HMACまで廃止する文書ではありません。この点でも、今回の変更はSHA-1という名称を含む技術要素を一括して排除するものではなく、HTTPS/TLSの署名・証明書検証関連が中心だと整理できます。
利用者が確認したいポイント
まず、GitHubを利用するブラウザー、APIクライアント、Gitクライアントを一覧化し、更新可能な状態かを確認します。次に、GitHubへ接続するサーバーや自動化処理で、古いOS、Git、APIフレームワーク、TLSライブラリを使っていないかを調べます。
GitHub Enterprise Cloudを利用している場合は今回の対象に含まれますが、GitHub Enterprise Serverは対象外です。自社環境の製品区分を取り違えないことも、影響範囲を判断するうえで重要です。
今回の変更は、SHA-1への依存が残る古い接続環境を見直す契機になります。問題が発生した場合は、接続先だけでなく、通信を行うソフトウェアとTLSバックエンドの組み合わせまで含めて更新状況を確認する必要があります。