یافتههای پژوهشی جدید نشان میدهد در برخی شرایط میتوان از یک کامیت امضاشده در گیتهاب، نسخهای دیگر با همان محتوا و امضای معتبر، اما با هش متفاوت ساخت. در این حالت، با وجود تغییر شناسه، نشان سبز رنگ تأییدشده (Verified)1 همچنان حفظ میشود. این نقص ساختاری، فرض رایج مبنی بر کافی بودن شناسه کامیت برای شناسایی یکتایی تغییرات را در مدیریت کدهای نرمافزاری به چالش میکشد؛ موضوعی که فرض رایج درباره یکتا بودن هش کامیتهای امضاشده را به چالش میکشد.
در دنیای برنامهنویسی، توسعهدهندگان از امضای دیجیتال برای اثبات اصالت کامیت های خود استفاده میکنند و گیتهاب نیز به این کدها نشان تأیید میدهد. با این حال، یکی از پژوهشگران امنیتی دانشگاه کارنگی ملون، کشف کرد که در برخی شرایط میتوان بدون تغییر محتوای کد، نسخهای دیگر از همان کامیت با شناسهای متفاوت اما همچنان دارای امضای معتبر ایجاد کرد.
این مشکل از مفهومی به نام انعطافپذیری امضا (Signature Malleability) سرچشمه میگیرد. در سیستم مدیریت نسخه گیت، هش نهایی بر اساس تمام محتویات فایل از جمله بایتهای خود امضا محاسبه میشود. با این نقص، مهاجم میتواند بدون تغییر دادن کدهای اصلی برنامهنویس، ظاهر بایتهای امضا را دستکاری کند. در نتیجه، شناسه کامیت تغییر میکند، در حالی که محتوای کد ثابت میماند.