最新バージョンのGitでは、
ファイルのハッシュにSHA-1の代わりにSHA-256を実験的に使用できるため、
攻撃者が元のリポジトリと区別できないHEADを持つ
偽装リポジトリを偽造できるという長年の脆弱性が排除される。
Git 2.42がリリース – SHA-256使用時の警告が減少 – 2023年8月22日
https://softantenna.com/blog/git-2-42-released
Git 2.42では、SHA-256リポジトリ使用時に表示されていた
「THIS VARIABLE IS EXPERIMENTAL!」のような
一部の警告メッセージが削除されています。
これはSHA-256リポジトリに対する破壊的変更が今後行われる予定がないためです
Git 2.29でSHA-256の実験的サポートを導入 – 2020年11月26日
https://www.infoq.com/jp/news/2020/11/git-2-29-sha-256
さようなら SHA-1 – 2020/10/25
https://zenn.dev/spiegel/articles/20201025-sayonara-sha1
有効な値は sha256 または sha1(デフォルト)
% git init --object-format=sha256
何かコミットする
% git commit --allow-empty -m "first commit"
git-init – 空のGitリポジトリを作成、または既存のリポジトリを再初期化する
https://git-scm.com/docs/git-init/ja
sha256の場合
ハッシュ取得
% git rev-parse HEAD cd64c1def02c3a019257a5cc7bcb7d4f7e382561b733581b44898bc35920789b
普通のsha1 の場合
ハッシュ取得
% git rev-parse HEAD fde8b6a3fcd8580e2a5f1b46b049f4c9fe5a0629
Github も、Bitbucket も、 2024年3月12日現在 sha256 は未サポート
fatal: the receiving end does not support this repository’s hash algorithm
fatal: the remote end hung up unexpectedly

コメント