버전 관리 시스템 깃(Git)의 차기 3.0 버전에서 기본 콘텐츠 해싱 알고리즘이 SHA-1에서 SHA-256으로 변경될 예정입니다. 이는 2017년 'SHAttered' 공격 등으로 SHA-1의 이론적 취약점이 드러났기 때문입니다. 그러나 깃의 초기 개발자 중 한 명인 스콧 채콘(Scott Chacon)을 비롯한 일부 전문가들은 이 변화가 막대한 비용과 혼란을 야기할 것이며, 실질적인 보안 이점은 거의 없을 것이라고 강하게 비판하고 있습니다.
깃은 콘텐츠 주소 지정 데이터베이스(content addressable database)로, 파일 내용을 해싱하여 고유한 키로 사용합니다. 이 SHA-1 해시는 지난 20년간 수십억 개의 파일과 커밋에서 충돌 없이 사용되어 왔으며, 우연한 충돌은 사실상 불가능한 수준입니다. SHA-1의 '취약점'은 '충돌 공격(collision attack)'이 이론적으로 가능하다는 의미로, 악의적인 공격자가 막대한 컴퓨팅 자원을 투입해 동일한 해시를 가진 두 개의 다른 파일을 의도적으로 만들 수 있다는 것입니다. 하지만 이는 '두 번째 역상 공격(second-preimage attack)'과는 달라, 기존 파일을 보고 동일한 해시를 가진 다른 악성 파일을 만드는 것은 여전히 거의 불가능합니다.
비판론자들은 SHA-1의 이론적 취약점이 깃의 실제 사용 환경에서는 거의 위협이 되지 않는다고 주장합니다. 현재까지 깃 저장소에서 SHA-1 충돌로 인한 보안 사고는 보고된 바 없으며, 충돌 공격을 성공시키기 위한 비용과 난이도를 고려할 때 현실적인 공격 벡터로 보기 어렵다는 것입니다. 반면 SHA-256으로의 전환은 기존 저장소의 데이터 마이그레이션, 도구 및 인프라 업데이트 등 전 세계 개발자들에게 엄청난 시간과 비용을 요구할 것으로 예상됩니다. 이러한 막대한 전환 비용에 비해 얻는 보안 이점은 미미할 수 있다는 지적입니다. 이 논쟁은 깃 커뮤니티 내에서 중요한 기술적 결정이 가져올 파급 효과에 대한 깊은 고민을 보여줍니다.
