GitHub – це найбільша платформа для розробки та зберігання програмного забезпечення, яка використовується мільйонами організацій та індивідуальних розробників по всьому світу. Нещодавнє дослідження компанії AquaSec засвідчило, що багато репозиторіїв на GitHub схильні до небезпечної загрози, яка називається RepoJacking.
Що таке RepoJacking?
RepoJacking – це клас атак на ланцюжок постачань, який дає змогу зловмиснику захопити застарілі організації або імена користувачів і публікувати заражені версії репозиторіїв для виконання шкідливого коду. Це відбувається через те, що GitHub створює перенаправлення між старим і новим ім'ям сховища в разі, коли власник сховища змінює своє ім'я користувача або назву сховища. Наприклад, якщо організація перейменовується або змінює бренд, то всі проєкти, які використовують код з її репозиторіїв, будуть автоматично перенаправлятися на нове ім'я. Однак, якщо хтось зареєструє старе ім'я, то перенаправлення стає недійсним. Таким чином, зловмисник може створити репозиторій з таким самим ім'ям, як застарілий, і підсунути свій код замість оригінального.
Як поширюється RepoJacking?
Для того, щоб знайти вразливі репозиторії на GitHub, зловмисник може використати вебсайти, як-от GHTorrent, які надають повну історію логів GitHub для будь-яких публічних комітів і запитів на злиття. Таким чином, він може скласти список унікальних назв репозиторіїв і перевірити кожен із них на предмет можливості RepoJacking. Дослідження AquaSec показало, що з 1,25 мільйона перевірених сховищ близько 37 тисяч були вразливі до RepoJacking. З урахуванням того, що на GitHub міститься понад 330 мільйонів репозиторіїв, це означає, що мільйони репозиторіїв можуть бути схильні до такої атаки.
Які наслідки може мати RepoJacking?
RepoJacking може мати серйозні наслідки для безпеки та конфіденційності як організацій, так і індивідуальних користувачів. Якщо зловмисник підміняє код у залежностях проєкту на свій шкідливий код, то він може отримати доступ до внутрішнього середовища організації або середовища її клієнтів і виконати будь-які дії від їхнього імені. Наприклад, він може вкрасти дані, впровадити бекдори, поширювати віруси, проводити шифрувальники або навіть видалити всі дані. AquaSec виявила, що серед уразливих репозиторіїв були такі великі компанії, як Google і Lyft. Також RepoJacking може вплинути на репутацію та довіру до організації, яка стала жертвою такої атаки.
Як захиститися від RepoJacking?
Для того, щоб захистити свої репозиторії від RepoJacking, AquaSec рекомендує такі запобіжні заходи:
- Періодично перевіряти свій код на наявність посилань, які можуть витягувати ресурси із зовнішніх репозиторіїв GitHub.
- Використовувати закриті репозиторії для зберігання чутливих даних і коду.
- Слідкувати за змінами в іменах користувачів і репозиторіїв на GitHub та оновлювати свої залежності відповідно.
- Використовувати інструменти для аналізу та моніторингу ланцюжка поставок, такі як AquaSec Cloud Native Security Platform.











