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.











