Компрометация npm-аккаунта atool привела к заражению популярных библиотек для визуализации данных Alibaba

security

Инцидент в цепочке поставок программного обеспечения затронул сразу несколько широко используемых пакетов в реестре npm. Злоумышленники получили контроль над учётной записью разработчика atool, которая является основным издателем библиотек для форматирования относительного времени, визуализации данных и тестирования. Под удар попали пакеты, еженедельно загружаемые миллионы раз. Это событие представляет серьёзную угрозу для корпоративных сред, где такие компоненты используются в конвейерах обработки данных и системах непрерывной интеграции.

Проблема обнаружилась после анализа подозрительных версий нескольких популярных пакетов. Исследователи выяснили, что учётная запись atool (связанная с адресом i@hust.cc) была скомпрометирована. Этот аккаунт не только публикует библиотеку timeago.js с более чем полутора миллионами еженедельных загрузок, но и входит в команду разработчиков AntV - экосистемы визуализации данных от Alibaba. В состав AntV входят десятки библиотек, включая графовый движок @antv/g6, средства двумерной визуализации @antv/g, построители диаграмм @antv/g2 и g2plot, картографический инструмент @antv/l7, а также систему рендеринга электронных таблиц @antv/s2. Каждый из этих пакетов еженедельно загружается от 50 тысяч до 2 миллионов раз.

Скомпрометированные пакеты - это далеко не полный перечень затронутых компонентов. Вредоносные версии были выпущены для timeago.js (версии 4.1.2 и 4.2.2), timeago-react (3.1.7 и 3.2.7), echarts-for-react (3.0.7, 3.1.7, 3.2.7), а также для двух популярных mock-библиотек: jest-canvas-mock (2.5.3, 2.6.3, 2.7.3) и jest-date-mock (1.0.11, 1.1.11, 1.2.11). Все они широко используются в фронтенд-разработке на базе React, Vue и Angular, а также в инструментах тестирования на основе Jest.

Опасность ситуации усугубляется тем, что эти пакеты часто устанавливаются в окружениях, обладающих повышенными привилегиями. Речь идёт о конвейерах обработки данных, финансовых панелях управления (дашбордах), корпоративных аналитических платформах и системах сборки фронтенда. Многие из этих сред работают внутри GitHub Actions, GitLab CI или контейнерных CI/CD-конвейеров на базе Kubernetes. Такие конвейеры обычно содержат учётные данные для доступа к облачным ресурсам, что делает их критически важной целью для злоумышленников, атакующих цепочки поставок.

Данные об инциденте обнаружили исследователи, которые обратили внимание на необычную активность в репозиториях и подозрительные коммиты. Вредоносный код, по всей видимости, был внедрён в сборки таким образом, чтобы он мог выполняться при установке пакета или на этапе сборки приложения. Точный вектор заражения пока не раскрыт, однако сам факт компрометации основного аккаунта и публикации нескольких испорченных версий свидетельствует о целенаправленной атаке на цепочку поставок.

Технически такая атака может привести к самым разным последствиям. Вредоносная полезная нагрузка (payload) может извлекать секреты и ключи доступа из переменных окружения, устанавливать бэкдоры, закрепляться (persistence) в инфраструктуре жертвы и даже использоваться для дальнейшего распространения внутри сети. Учитывая, что затронуты библиотеки, применяемые в финансовых и корпоративных дашбордах, а также в системах визуализации данных, атака может привести к утечке конфиденциальной отчётности, компрометации аналитических конвейеров и нарушению работы ключевых бизнес-процессов.

Для разработчиков и DevOps-инженеров этот случай - очередной тревожный сигнал. Даже если пакет имеет миллионы загрузок и поддерживается известным сообществом, это не гарантирует его подлинность. Злоумышленники могут получить контроль над учётной записью мейнтейнера, как это произошло с atool. Поэтому необходимо внедрять многофакторную аутентификацию для всех аккаунтов в реестрах пакетов, регулярно проверять целостность lock-файлов (например, package-lock.json или yarn.lock), а также использовать инструменты для анализа зависимостей на предмет подозрительных изменений. Особенно важно быть внимательным при автоматическом обновлении зависимостей в CI/CD-пайплайнах.

Тем не менее, даже при соблюдении всех мер предосторожности полностью исключить риск невозможно. Атаки на цепочки поставок остаются одним из самых эффективных способов проникновения в корпоративные сети. Компрометация одного аккаунта может затронуть тысячи проектов, которые косвенно зависят от скомпрометированного пакета. В данном случае ущерб может быть особенно серьёзным из-за широкого распространения пакетов AntV в экосистеме Alibaba и за её пределами.

Пользователям рекомендуется немедленно проверить версии перечисленных пакетов в своих проектах и при необходимости откатиться на безопасные сборки. Также стоит проанализировать, не устанавливались ли подозрительные зависимости в последние дни, и выполнить сканирование на наличие известных индикаторов компрометации. Команда AntV и Alibaba, вероятно, уже выпустила патенты и обновлённые версии, но автоматическое обновление через npm install может привести к повторной установке вредоносных версий, если реестр ещё не очищен.

Этот инцидент в очередной раз напоминает, что безопасность цепочки поставок требует постоянного внимания. Даже крупные экосистемы с миллионами пользователей не застрахованы от компрометации учётных записей. Разработчикам стоит задуматься о внедрении политик доверия, верификации подписей пакетов и мониторинга изменений в публичных реестрах. Только комплексный подход может снизить риски подобных атак в будущем.

Комментарии: 0