GitHub е една от най-популярните платформи за съвместна разработка на софтуер, като използва цифрови подписи за гарантиране на автентичността и целостта на кода. Въпреки това, ново изследване показва, че подписаните комити в GitHub не са толкова уникални, колкото се смяташе досега, и могат да бъдат променяни без да се нарушава валидността на подписа.
Какво се случи?
Изследователи установиха, че е възможно да се създаде втори комит с идентични файлове, автор и дата, който да има валиден цифров подпис, без да се разполага с ключа за подписване. Въпреки че хешът на комита се променя, GitHub продължава да го маркира като "Verified" (проверен), което може да заблуди преглеждащите кода, че комитът е автентичен и непроменен.
Защо това е важно?
Хешът на комита в Git е смятан за уникален идентификатор, който гарантира, че съдържанието не е променяно. Ако този хеш може да бъде променен без да се нарушава валидността на подписа, това означава, че системата за проверка на автентичността в GitHub може да бъде подведена. Това поражда сериозни въпроси относно сигурността и доверието в процеса на одит и преглед на кода.
По-широк контекст
Git и GitHub са основни инструменти в индустрията за разработка на софтуер, използвани от милиони разработчици и организации по света. Цифровите подписи и проверките на комити са ключови за предотвратяване на злонамерени промени и за осигуряване на проследимост на кода. Уязвимостта, разкрита от изследването, подчертава необходимостта от подобряване на механизмите за сигурност и проверка в тези системи.
Какво може да последва?
Това откритие вероятно ще стимулира GitHub и общността на Git да преразгледат начина, по който се валидират подписите и хешовете на комитите. Възможно е да бъдат разработени нови методи за по-надеждна проверка, които да предотвратят подобни манипулации. За потребителите и организациите е важно да бъдат наясно с тези ограничения и да прилагат допълнителни мерки за сигурност при управление на кода.