Badacze ostrzegają przed nową techniką ataku na GitHubie. Zamiana znaków ASCII na niemal identyczne znaki Unicode pozwala ukryć złośliwe adresy w kodzie, trudne do wykrycia dla ludzi i narzędzi.
Nowy rodzaj ataku zagraża projektom na GitHubie i innych platformach. Chodzi o podmianę zwykłych znaków ASCII w adresach URL na niemal identyczne znaki z tablicy Unicode. Dla oka różnica jest praktycznie niewidoczna, ale dla komputera – kluczowa. Przykład? Zamiast zwykłego „g” pojawia się armeńskie „g”, które wygląda identycznie, ale prowadzi do innego adresu.
Nawet doświadczeni programiści mogą przeoczyć taką podmianę podczas przeglądania kodu. Na platformach typu GitHub widoczna jest co prawda informacja o zmianie w linii, ale tego typu szczegóły nie rzucają się w oczy. W efekcie złośliwe modyfikacje mogą łatwo prześlizgnąć się przez proces weryfikacji kodu i trafić do finalnej wersji projektu.

Niektóre platformy, na przykład Gitea, potrafią wykrywać i sygnalizować obecność nietypowych znaków Unicode w kodzie. Na GitHubie i wielu innych serwisach taki atak może jednak przejść niezauważony. Daniel Stenberg, autor narzędzia cURL, wprowadził do swojego projektu dodatkowy test w systemie CI, który określa, gdzie stosowanie znaków Unicode jest akceptowalne, a gdzie nie powinno się ich używać.
GitHub już pracuje nad wyeliminowaniem tego zagrożenia, jednak w tej chwili to na użytkownikach spoczywa obowiązek zachowania ostrożności. Podczas przeglądania pull requestów lub scalania zmian warto więc dokładnie sprawdzać adresy URL pod kątem nietypowych znaków. Takie działanie może zabezpieczyć projekt przed poważnymi problemami.