Хакеры получили доступ к учётной записи организации Toptal на GitHub
28/07/25
В результате были опубликованы десять заражённых пакетов в репозитории Node Package Manager (NPM).
Toptal известна как платформа для найма подрядчиков в сфере разработки, дизайна и финансов. Помимо основного сервиса, компания также публикует собственные инструменты и компоненты для разработчиков, включая основу под названием Picasso. Эти наработки размещаются в открытом доступе через GitHub и NPM, что и стало уязвимым звеном, согласно Securitylab.
Зарадение началось 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 рассматривает сразу несколько возможных сценариев: от фишинга, направленного против внутренних разработчиков, до инсайдерской атаки или кражи токенов доступа.