Атака на npm-пакеты SAP выявила риски в developer tools и CI/CD-пайплайнах
Исследователи заявили, что кампания нацеливалась на учетные данные разработчиков и облачные секреты, используя trusted publishing и конфигурации AI-инструментов для кодинга.
Атака на цепочку поставок, затронувшая связанные с SAP npm-пакеты, вновь привлекла внимание к developer tools и рабочим процессам сборки, на которые предприятия опираются при выпуске программного обеспечения.
Кампания под названием “mini Shai-Hulud” затронула пакеты, используемые в экосистеме JavaScript и разработки облачных приложений SAP.
Вредоносные версии добавляли код, выполнявшийся во время установки, который мог похищать учетные данные разработчиков, токены GitHub и npm, секреты GitHub Actions, а также облачные учетные данные из сред AWS, Azure, GCP и Kubernetes.
Исследователи из SafeDep, Aikido Security, Wiz и ряда других компаний по безопасности сообщили, что среди затронутых пакетов были mbt@1.2.48, @cap-js/db-service@2.10.1, @cap-js/postgres@2.2.2 и @cap-js/sqlite@2.2.2.
Подозрительные версии опубликовали 29 апреля, а затем их заменили безопасными релизами.
По словам исследователей, вредоносное ПО шифровало украденные данные и отправляло их в публичные репозитории GitHub, созданные из аккаунтов самих жертв. Оно также использовало украденные токены GitHub и npm, чтобы добавлять вредоносные workflows GitHub Actions в доступные репозитории и публиковать отравленные версии пакетов.
SafeDep заявила, что злоумышленники воспользовались конфигурационным пробелом в OIDC trusted publishing в npm для затронутых пакетов @cap-js. Компрометация mbt, как предполагается, могла быть связана со статическим токеном npm.
Злоумышленники также пытались закрепиться через файлы конфигурации Visual Studio Code и Claude Code. Этот прием делает рабочие станции разработчиков и AI-assisted coding tools еще более значимым элементом рисков в цепочке поставок ПО.
Что это значит для CISOs
Для CISOs этот случай показывает, как быстро зараженная зависимость может выйти за пределы этапа сборки. Он также усиливает опасения, что среды разработчиков, несмотря на их центральную роль в поставке корпоративного ПО, по-прежнему не контролируются с той же строгостью, что и production-системы.
«Тот факт, что вредонос был спроектирован так, чтобы за один проход собирать токены GitHub и npm, секреты GitHub Actions и облачные учетные данные из AWS, Azure, GCP и Kubernetes, говорит о том, что злоумышленники теперь рассматривают рабочую станцию разработчика как master key», — сказала Сакши Гровер, старший менеджер по исследованиям IDC Asia Pacific Cybersecurity Services.
Одна скомпрометированная учетная запись разработчика в CI/CD-пайплайне может дать атакующим путь в более широкую цепочку поставок ПО и позволить им внедрять вредоносный код в пакеты, которые downstream-разработчики могут устанавливать с минимальной видимостью подмены.
Эта нехватка прозрачности остается проблемой, сказала Гровер, ссылаясь на IDC Asia Pacific Security Survey 2025, согласно которому 46% компаний планируют внедрить AI для анализа рисков третьих сторон и цепочки поставок в ближайшие 12–24 месяца. Пока, по ее словам, многие организации все еще находятся на стадии планирования и еще не перевели AI-driven defenses в рабочий режим против атак вроде кампании mini Shai-Hulud.
Суннил Варкей, аналитик по кибербезопасности, охарактеризовал кампанию как случай «living off the developer», когда злоумышленники атакуют разработчиков, их инструменты и автоматизацию, а не только сам программный пакет.
По словам Варкея, злоумышленники пошли дальше отравления npm-пакетов: они скомпрометировали аккаунты GitHub у мейнтейнеров, злоупотребили слабо настроенным npm OIDC Trusted Publishing и использовали preinstall hooks для публикации вредоносного ПО, крадущего учетные данные.
Более тревожным элементом он назвал использование файлов конфигурации Visual Studio Code и Claude Code — в частности, .vscode/tasks.json и .claude/settings.json — для закрепления и распространения. Это позволяло вредоносу выполняться, когда зараженный репозиторий открывали в Visual Studio Code или когда запускалась сессия Claude Code, сказал он.
«Злоумышленник превращает сам современный опыт разработки в вектор атаки», — сказал Варкей.
Материал первоначально был опубликован в CSO.
Материал — перевод статьи с английского.
Оригинал: SAP npm package attack highlights risks in developer tools and CI/CD pipelines