15 000 репозиториев модулей Go на GitHub уязвимы для атаки с повторным подключением

Brother

Professional
Messages
2,590
Reaction score
483
Points
83
github.jpg


Новое исследование показало, что более 15 000 репозиториев модулей Go на GitHub уязвимы для атаки, называемой повторным подключением.

"Более 9 000 репозиториев уязвимы для повторной атаки из-за изменения имени пользователя на GitHub", - сказал Джейкоб Бейнс, технический директор VulnCheck, в отчете, опубликованном The Hacker News. "Более 6000 репозиториев были уязвимы для повторной атаки из-за удаления учетной записи".

В совокупности на эти репозитории приходится не менее 800 000 версий модулей Go.

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

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

Модули, написанные на языке программирования Go, особенно подвержены повторному взлому, поскольку, в отличие от других решений для управления пакетами, таких как npm или PyPI, они децентрализованы из-за того, что публикуются на платформах контроля версий, таких как GitHub или Bitbucket.

"Затем любой может указать зеркалу модуля Go и pkg.go.dev кэшировать данные модуля", - сказал Бейнс. "Злоумышленник может зарегистрировать вновь неиспользуемое имя пользователя, дублировать репозиторий модулей и опубликовать новый модуль в proxy.golang.org и go.pkg.dev".

Для предотвращения разработчиков от сноса потенциально опасные пакеты, GitHub имеет место в контрмера звонил популярный репозиторий пространство имен выхода на пенсию, который блокирует попытки создания репозиториев с именами пенсии пространства имен, которые были клонированы более чем в 100 раз до владельцев счетов, переименован или удален.

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

"К сожалению, смягчение последствий всех этих повторных загрузок - это то, что придется взять на себя Go или GitHub", - сказал Бейнс. "Сторонняя организация не может разумно зарегистрировать 15 000 учетных записей GitHub. До тех пор разработчикам Go важно быть в курсе используемых ими модулей и состояния репозитория, из которого были созданы модули."

Раскрытие также происходит после того, как компания Lasso Security заявила, что обнаружила 1681 открытый токен API на Hugging Face и GitHub, включая те, которые связаны с Google, Meta, Microsoft и VMware, которые потенциально могут быть использованы для организации цепочки поставок, отравления обучающих данных и моделирования атак с кражей.
 
Top