На экране — установка пакета. Внутри — ритуал самоуничтожения

На экране — установка пакета. Внутри — ритуал самоуничтожения

Программисты думали, что обновляют софт. А на деле — запустили цифровую гильотину.

image

Хакеры получили доступ к аккаунту организации Toptal на GitHub и использовали его для распространения вредоносного программного обеспечения через официальные каналы. В результате были опубликованы десять заражённых пакетов в репозитории Node Package Manager (NPM), что привело к потенциальному заражению тысяч систем.

Toptal известна как платформа для найма фрилансеров в сфере разработки, дизайна и финансов. Помимо основного сервиса, компания также публикует собственные инструменты и компоненты для разработчиков, включая фреймворк под названием Picasso. Эти наработки размещаются в открытом доступе через GitHub и NPM, что и стало уязвимым звеном.

Компрометация началась 20 июля, когда злоумышленники получили контроль над Toptal на GitHub. Почти сразу после этого были раскрыты все 73 репозитория, включая приватные проекты. Вскоре хакеры модифицировали исходный код Picasso, внедрив в него вредоносные изменения, а также выпустили десять заражённых пакетов в NPM, маскируя их под легитимные обновления.

Опасные версии включали:

  • @toptal/picasso-tailwind (v3.1.0)
  • @toptal/picasso-charts (v59.1.4)
  • @toptal/picasso-shared (v15.1.0)
  • @toptal/picasso-provider (v5.1.1)
  • @toptal/picasso-select (v4.2.2)
  • @toptal/picasso-quote (v2.1.7)
  • @toptal/picasso-forms (v73.3.2)
  • @xene/core (v0.4.1)
  • @toptal/picasso-utils (v3.2.0)
  • @toptal/picasso-typography (v4.1.4)

Примерно 5 тысяч загрузок этих пакетов успели произойти до того, как угроза была обнаружена. Заражение происходило через модифицированные файлы package.json, в которые были добавлены два скрипта. Первый, запускающийся на стадии установки (preinstall), собирал GitHub-токены из среды выполнения и отправлял их на удалённый сервер, контролируемый злоумышленниками. Второй скрипт, исполнявшийся после установки (postinstall), инициировал полное удаление данных с устройства. В Linux использовалась команда sudo rm -rf --no-preserve-root /, на Windows — рекурсивное и бесшумное удаление через PowerShell.

Команда безопасности Socket сообщила , что 23 июля заражённые версии были помечены как устаревшие, а в публичный доступ вернулись безопасные сборки. Однако официального предупреждения от Toptal не последовало — компания никак не уведомила пользователей, которые могли пострадать от использования этих версий.

Как именно хакеры получили доступ к GitHub-организации, пока остаётся неясным. Socket рассматривает сразу несколько возможных сценариев: от фишинга, направленного против внутренних разработчиков, до инсайдерской атаки или кражи токенов доступа.

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