Атака TeamPCP на npm угрожает CI/CD и облачным учетным данным
Исследователи зафиксировали recent supply chain attack, связанный с группой злоумышленников TeamPCP, который затронул несколько npm packages, связанных с Cloud Application Programming Model (CAP) от SAP и инструментами облачного развертывания. Инцидент представляет серьезную угрозу для разработчиков и сред CI/CD, поскольку скомпрометированные пакеты загружают и запускают непроверенные binary files.
Что известно о вредоносной payload
Ключевым элементом атаки является вредоносная payload под названием execution.js. Это сильно обфусцированный JavaScript-файл размером около 11,7 МБ, который использует многоуровневую obfuscation, затрудняющую анализ и восстановление значимых идентификаторов.
В коде применяется сложная схема защиты конфиденциальных данных, включая PBKDF2 с 200 000 iterations и использованием определенного salt. По словам исследователей, такая архитектура делает разбор логики вредоносного кода существенно сложнее.
Механика атаки
Злоумышленники выстроили атаку так, чтобы она была не только скрытной, но и устойчивой к анализу в исследовательской среде. Среди характерных признаков:
- ВПО прекращает выполнение, если environment настроена на русский язык;
- используются conditional branches, зависящие от переменных среды CI/CD platform;
- сбор данных ведется как из файловой системы, так и напрямую из memory в CI runners;
- обходятся механизмы masking, реализованные платформами CI.
Такая тактика указывает на прицельную эксплуатацию разработческой инфраструктуры и стремление минимизировать вероятность раннего обнаружения.
Какие данные были под угрозой
По данным отчета, целью атаки стали наиболее чувствительные артефакты разработчиков и облачных сред. В числе интересующих злоумышленников объектов:
- SSH keys;
- credentials cloud providers;
- developer config files;
- environment files;
- cryptowallets;
- messaging apps data.
Особую опасность представляет извлечение конфиденциальной информации напрямую из памяти в CI runners: это позволяет обходить защитные механизмы, рассчитанные на сокрытие secrets в логах и артефактах сборки.
Как происходила exfiltration
Exfiltration данных выполнялась по многоступенчатой схеме. Собранные credentials шифровались с использованием жестко закодированного public RSA key и AES-256-GCM, после чего загружались в GitHub repository, созданный под аккаунтом жертвы.
При этом использовалась конкретная схема именования, уже замеченная в предыдущих атаках TeamPCP. Это дополнительно усиливает attribution и подтверждает преемственность методов группы.
Self-propagation и persistence
Для self-propagation ВПО использует украденные npm tokens, чтобы внедрять payload execution.js в другие пакеты, поддерживаемые жертвой. По мнению аналитиков, это свидетельствует о предварительном mapping graph зависимостей SAP CAP.js и понимании того, какие компоненты можно использовать для дальнейшего распространения.
Механизмы persistence также заметно эволюционировали. Вместо традиционных system autostart files злоумышленники создают backdoor files в инструментах разработки, которые повторно запускают payload при открытии проектов в IDE. Это указывает на смещение тактики в сторону среды разработки как точки закрепления.
Развитие инструментария TeamPCP
В отчете отмечается, что у атаки есть три варианта execution.js, каждый из которых нацелен на разные пакеты. Такой набор модификаций говорит о постепенном расширении возможностей злоумышленников и адаптации под разные векторы заражения.
По сравнению с предыдущими версиями ВПО TeamPCP, текущий вариант делает больший акцент на IDE, а не на классические механизмы автозагрузки системы. Это делает атаку особенно опасной для команд, которые активно используют интегрированные среды разработки и автоматизированные pipelines.
Признаки атрибуции
Исследователи связывают инцидент с TeamPCP на основании нескольких факторов:
- использование специфических engineering решений в коде ВПО;
- modum operandi, совпадающий с предыдущими incidents группы;
- сходство с ранее зафиксированными атаками на supply chain;
- ориентация на GitHub, cloud services и CI/CD tools.
В совокупности эти признаки указывают на то, что TeamPCP продолжает развивать инструменты, ориентированные на разработческие экосистемы и облачную инфраструктуру.
Что рекомендуется организациям
Авторы отчета советуют компаниям внимательно отслеживать необычные шаблоны доступа, связанные с установкой npm packages, особенно если при этом запускаются подозрительные scripts. Отдельное внимание следует уделять активности в cloud metadata services и в инструментах, связанных с выполнением JavaScript.
В условиях роста подобных атак раннее обнаружение аномалий в CI/CD, npm-экосистеме и developer tooling становится критически важным для снижения ущерба.
Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.
Ознакомиться подробнее с отчетом можно по ссылке.


