Приложения, которые используют старые имена репозиториев на GitHub в качестве зависимостей, на самом деле могут приводить пользователей к вредоносным программам. Вот что вам нужно знать.

Становится все более очевидным, что реподжекинг GitHub представляет собой законный риск для разработчиков. Хакеры могут воспользоваться тем, что пользователи и компании меняют свои имена на GitHub, взламывая старый репозиторий. имена в надежде, что вредоносные файлы, которые они добавляют, могут быть извлечены приложениями, использующими код в качестве зависимость.

Поэтому важно, чтобы вы предприняли шаги для защиты своего собственного проекта GitHub, если вы недавно изменили свое имя пользователя или ссылаетесь на другие репозитории в качестве зависимостей.

Что такое реподжекинг?

Реподжекинг GitHub — это тип эксплойта, который может произойти после того, как владелец репозитория изменит свое имя пользователя. Становится доступной старая комбинация имени пользователя и имени репозитория, и repojacker может воспользоваться своими зависимостями, затребовав имя пользователя и имя репозитория.

instagram viewer
создание репозитория с тем же именем.

Repojacking может представлять два различных типа риска:

  • Repojacking может сделать заслуживающее доверия приложение ненадежным. Если вы используете приложение, которое использует репозиторий GitHub в качестве зависимости, а владелец переименовывает репозиторий, использование приложения сделает вас уязвимыми.
  • Repojacking может подвергнуть риску приложение, которое вы разрабатываете. Если вы ссылаетесь на репозиторий GitHub как на зависимость и не замечаете или не обновляете его при переименовании репозитория, ваше приложение будет уязвимо для эксплойтов повторного взлома.

Repojacking не представляет огромного риска для пользователей, но есть законные основания полагать, что он может служить механизмом для серьезной атаки на цепочку поставок. Если у приложения есть зависимость, которая ссылается на реподжекерский репозиторий, оно вызовет и получит от реподжекеров код, который может содержать вредоносное ПО.

Если вы разрабатываете на GitHub, зная, как вы можете свести к минимуму риск атак на цепочку поставок и repojacking — как с точки зрения взломанного репозитория, так и с точки зрения третьей стороны с зависимостями — жизненно важен.

Как минимизировать риск реподжекинга

Атаки Repojacking основаны на чрезвычайно предсказуемом механизме: угонщики получают контроль над невостребованным репозиторием, а затем используют любые приложения, которые ссылаются на него как на зависимость. К счастью, это позволяет легко бороться с повторным джекингом.

Создание частных клонов репозиториев

Клонирование репозитория это отличный способ минимизировать риск, связанный с зависимостями в вашем проекте, потому что вы будете иметь полный контроль над своей частной копией. Вы можете создать частную копию общедоступного репозитория простым клонированием и зеркальной отправкой, как описано на Гитхаб.

Внимательно отслеживайте зависимости вашего проекта

Если вы решите, что предпочитаете избегать проблем и ссылаться на общедоступные репозитории, вам следует регулярно проверять зависимости вашего проекта. Проверка состояния ваших зависимостей несколько раз в год займет не более часа и избавит вас от большого стресса.

Пересмотрите возможность переименования вашей учетной записи

В идеале, обновление вашего имени пользователя не должно вызывать беспокойства. Однако, учитывая риск повторного взлома, вам следует подумать о сохранении устаревшего имени. Если вам необходимо изменить свое имя пользователя, вы должны запросить и зарезервировать старое имя, зарегистрировав другую учетную запись.

Используйте внешние ресурсы с умом

Зависимости представляют неотъемлемый риск, поскольку они создают сторонние точки доступа в вашем приложении. Хотя они обычно стоят того времени, которое они сэкономили, регулярный аудит зависимостей вашего проекта имеет решающее значение. Вы также должны принять другие меры безопасности, такие как использование аутентификации SSH, для предотвращения эксплойтов.