Upwind: Пакеты AsyncAPI npm подверглись атаке на цепочку поставок
Разработчики часто предполагают, что пакеты, опубликованные через официальные каналы, прошли безопасный процесс выпуска. Это предположение является основополагающим для современного программного обеспечения, где компоненты с открытым исходным кодом регулярно интегрируются в приложения через автоматизированное управление зависимостями. Новое расследование предполагает, что уверенность может быть подорвана, когда злоумышленники получают доступ к системам, ответственным за публикацию программного обеспечения.
Компания по облачной безопасности Upwind опубликовала результаты расследования координированной атаки, затрагивающей несколько официальных пакетов AsyncAPI npm. Согласно компании, активность выходила за рамки одного скомпрометированного пакета и вместо этого охватывала несколько репозиториев и конвейеров публикации, позволяя вредоносному коду распространяться через легитимные каналы выпуска.
Расследование выявило несколько точек компрометации
Исследование Upwind показало, что кампания затронула несколько частей экосистемы AsyncAPI.
Исследователи подтвердили, что злоумышленники скомпрометировали два отдельных репозитория GitHub и позже выявили компрометацию второго независимого репозитория. Они также наблюдали атаки на разные ветки выпуска и злоупотребление различными идентичностями публикации OpenID Connect (OIDC) в относительно короткие сроки.
В совокупности эти выводы предполагают, что злоумышленники получили доступ к нескольким конвейерам публикации, а не использовали единую уязвимость в процессе выпуска.
Расследование пришло к выводу, что операция представляла собой координированную кампанию, направленную на сам процесс выпуска программного обеспечения, а не на одноразовую компрометацию пакета.
Вредоносный код поступал через ожидаемые рабочие процессы
Одним из аспектов кампании, который привлек внимание исследователей, было то, как вредоносный код выполнялся после использования скомпрометированных пакетов.
Согласно Upwind, злоумышленники отошли от техник, обычно связанных с атаками на цепочку поставок npm. Вместо использования скриптов preinstall или postinstall, вредоносный код выполнялся во время обычного импорта пакетов или через альтернативные пути выполнения.
Поскольку эти действия происходили в рамках ожидаемого поведения приложения, активность было труднее идентифицировать с помощью средств безопасности, которые в основном сосредоточены на мониторинге установки пакетов.
Исследователи также наблюдали, что, хотя методы выполнения варьировались в рамках кампании, злоумышленники многократно использовали одну и ту же инфраструктуру и шаблоны вредоносного ПО в скомпрометированных репозиториях и конвейерах публикации.
Последствия выходят за рамки поддерживающих пакеты
Затронутые пакеты были опубликованы через официальные каналы и казались легитимными для организаций, полагающихся на стандартные практики управления зависимостями.
Это означает, что влияние не ограничивалось самими репозиториями. Upwind заявила, что рабочие станции разработчиков и среды CI/CD, которые импортировали затронутые пакеты, должны рассматриваться как потенциально скомпрометированные, поскольку вредоносный код был разработан для выполнения во время рутинного использования пакетов.
«Это была не просто вредоносная упаковка - это была компрометация доверия», - сказал Амиром Шахар, генеральный директор и соучредитель Upwind. «Несколько официальных пакетов AsyncAPI были опубликованы с закладочным кодом из отдельных репозиториев и конвейеров публикации, что показывает, что злоумышленники все больше нацеливаются на сам процесс выпуска программного обеспечения».
Выводы подчеркивают, как атаки на распределение программного обеспечения могут повлиять на конечных пользователей, даже когда они получают пакеты из легитимных источников.
Проверка зависимостей после инцидента
После расследования Upwind рекомендует организациям проверить, попали ли затронутые версии пакетов в их среды разработки.
Компания советует проверять точные версии зависимостей, а не предполагать, что текущие релизы безопасны. Она также рекомендует закреплять зависимости за проверенными версиями и проверять обновления зависимостей, lock-файлы и счета материалов программного обеспечения (SBOM) на наличие неожиданных изменений.
Организации также должны рассматривать рабочие станции разработчиков и CI/CD раннеры, которые импортировали затронутые пакеты, как потенциально скомпрометированные и менять любые учетные данные, которые были доступны из этих сред.
Видимость на протяжении всего жизненного цикла разработки
Upwind утверждает, что расследование демонстрирует, почему мониторинг программного обеспечения на протяжении всего жизненного цикла разработки становится все более важным. Поскольку злоумышленники отходят от техник, которые выполняются во время установки, и вместо этого запускают вредоносный код во время нормального поведения приложения, организациям нужна видимость программного обеспечения после его введения в среды разработки.
Компания заявила, что продолжает мониторить кампанию, призывая организации укреплять практики безопасности цепочки поставок программного обеспечения, поскольку атаки, нацеленные на процессы выпуска программного обеспечения, продолжают развиваться.
Другие статьи
Upwind: Пакеты AsyncAPI npm подверглись атаке на цепочку поставок
Upwind отслеживает несколько скомпрометированных пакетов AsyncAPI npm, связанных с координированной атакой на цепочку поставок, нацеленной на процессы выпуска программного обеспечения и публикации идентичностей.
