Hasty Briefsbeta

双语

New Research: A "Verified" GitHub Commit Is Not Unique

4 days ago
  • #Cryptography
  • #Supply Chain
  • #Git Security
  • Git使用内容哈希值来唯一标识提交,供应链工具依赖这些哈希值作为已签名内容的不变名称。
  • 一篇预印本揭示了哈希链的可塑性:攻击者可以创建一个具有相同树结构、元数据和有效签名的不同签名提交,仅改变哈希值,并影响后续提交。
  • 该问题源于基于GPG的方案(ECDSA、RSA、EdDSA)和S/MIME中的签名可塑性,而非SHA-1碰撞等哈希函数缺陷。
  • GitHub的服务器端验证接受这些可塑性签名而不进行规范化,为每个变体颁发‘已验证’徽章,且即使密钥后来被撤销,验证状态仍保留。
  • 本地工具如git verify-commit表现出混合行为:接受某些可塑性签名,但拒绝GitHub接受的其他签名。