Разработчиков предупредили о вредоносных версиях pgserve и automagik в реестре npm, которые могут украсть данные, токены, SSH-ключи и учетные данные облачных сервисов (AWS, Azure, GCP). Заражение ведет к краже данных и распространению по подключенным ПК. — csoonline.com
Разработчиков приложений предупреждают о том, что в реестр JavaScript npm были внедрены вредоносные версии pgserve, встроенного сервера PostgreSQL для разработки приложений, и automagik, инструмента для кодирования на базе ИИ, которые могут заразить компьютеры разработчиков.
Загрузка и использование этих версий приведет к краже данных, токенов, SSH-ключей, учетных данных, в том числе для Amazon Web Services (AWS), Microsoft Azure и Google Cloud Platform (GCP), криптовалюты из браузерных кошельков и паролей браузера. Вредоносное ПО также распространяется на другие подключенные ПК.
Предупреждения на этой неделе поступили от исследователей двух фирм по безопасности.
Исследователи из Socket обнаружили поддельные пакеты, нацеленные на разработчиков приложений, ищущих pgserve, встроенный сервер PostgreSQL для разработки и тестирования приложений, и automagik, инструмент командной строки для кодирования на базе ИИ и оркестровки агентов от Namastex.ai. Исследователи заявили, что атака имеет сходство с недавней кампанией под названием CanisterWorm — атакой на цепочку поставок с использованием червя, которая заменила содержимое легитимных пакетов вредоносным ПО в npm.
На момент проверки Socket поддельный пакет automagik/genie показывал 6 744 еженедельных загрузки, а поддельный пакет pgserve — около 1 300 еженедельных загрузок.
Поддельные версии automagik были версиями 4.260421.33 по 4.260421.39, когда Socket опубликовала свое предупреждение, и дополнительные вредоносные версии все еще публикуются и идентифицируются. Полный масштаб затронутых релизов, мейнтейнеров или компрометации путей выпуска все еще расследуется, сообщили исследователи.
Отдельно исследователи из StepSecurity также обнаружили вредоносные версии pgserve в npm, отметив, что скомпрометированные версии (1.1.11, 1.1.12 и 1.1.13) внедряют скрипт для сбора учетных данных объемом 1 143 строки, который запускается через postinstall при каждой установке.
Последний легитимный релиз pgserve — v1.1.10, по данным StepSecurity.
StepSecurity заявила, что, в отличие от простых стиллеров данных, это вредоносное ПО является червем для цепочки поставок: если оно находит токен публикации npm на машине жертвы, оно повторно внедряет себя во все пакеты, которые этот токен может публиковать, тем самым распространяя компрометацию. Украденные данные шифруются и эксфильтруются в децентрализованный контейнер Internet Computer Protocol (ICP) — вычислительную конечную точку, размещенную в блокчейне, выбранную специально потому, что ее невозможно остановить правоохранительными органами или конфискацией домена.
Еще одна атака на цепочку поставок
Это лишь последний пример атаки на цепочку поставок программного обеспечения, когда злоумышленники надеются, что разработчики загрузят зараженные утилиты и инструменты из репозитория с открытым исходным кодом и используют их в пакетах, которые широко распространят вредоносное ПО.
В одном из недавних примеров хакеры в прошлом месяце скомпрометировали учетную запись npm ведущего мейнтейнера библиотеки HTTP-клиента Axios. А прошлым летом злоумышленники скомпрометировали несколько утилит для тестирования на JavaScript в npm.
Советы пострадавшим разработчикам
Разработчикам, которые загрузили вредоносные версии pgserver и automagik, необходимо действовать быстро, говорит Таня Джанка, глава канадской консалтинговой компании по безопасному кодированию SheHacksPurple.
«Немедленно смените все учетные данные, которые сможете вспомнить, прежде чем делать что-либо еще», — сказала она. «Затем усильте контроль исходящего трафика в вашей сети CI/CD, чтобы ваши сборочные раннеры могли обращаться только к тем доменам, которые им явно необходимы. Убедитесь, что ваши сборочные раннеры и раннеры развертывания используют отдельные учетные записи служб с разными разрешениями. Цель состоит в том, чтобы даже если вредоносный пакет будет запущен в вашей среде сборки, он не смог достичь инфраструктуры злоумышленника (для эксфильтрации данных и секретов), а также заблокировать его переход в ваш конвейер развертывания».
Чтобы предотвратить компрометацию любым вредоносным пакетом npm, Джанка посоветовала ИТ-руководителям по умолчанию отключать автоматическое выполнение скриптов postinstall.
Разработчики также должны немедленно выполнить следующую команду: npm config set ignore-scripts true. Она признала, что в результате этого иногда могут возникнуть проблемы с некоторыми легитимными пакетами. Но цель состоит в том, чтобы создать намеренное препятствие, заставляющее разработчиков сознательно решать, разрешено ли выполнение скрипта на их машинах.
Кроме того, по ее словам, разработчикам нужны инструменты, которые проверяют, соответствует ли то, что публикуется в npm, тому, что находится в репозитории исходного кода. «Не все инструменты анализа состава программного обеспечения делают это», — сказала Джанка, — «поэтому конкретно спросите своего поставщика, обнаруживает ли инструмент несоответствия между реестром и репозиторием».
Наконец, она посоветовала применять принцип наименьших привилегий к токенам публикации; ограничивать их область действия, предоставлять им только те разрешения, которые необходимы для одного конкретного пакета, и регулярно их сменять — автоматически, а не вручную.
Больше, чем просто кража учетных данных
«Люди склонны думать об этом как об инциденте с кражей учетных данных», — сказала Джанка. «На самом деле это потенциальный полный захват организации, который может разворачиваться поэтапно. Сначала злоумышленник получает ваши секреты при установке: ключи AWS, токены GitHub, SSH-ключи, пароли баз данных — все, что находится в вашей среде или домашнем каталоге. Во-вторых, если у вас есть токен публикации npm, червь немедленно использует его, чтобы внедрить себя во все пакеты, которые вы можете публиковать, а это означает, что ваши нижестоящие пользователи теперь тоже становятся жертвами. В-третьих, эти украденные облачные учетные данные используются для перехода в вашу инфраструктуру: создания ресурсов, эксфильтрации данных, бокового перемещения по учетным записям. В-четвертых, ваши конвейеры CI/CD, которые неявно доверяют вашим раннерам и учетным записям служб, приветствуют вредоносный код злоумышленников в продакшене».
Она отметила, что разработчикам часто требуется много времени, чтобы заметить подобные атаки, «и к тому времени злоумышленник потенциально имел доступ к исходному коду, производственным системам, данным клиентов и программному обеспечению, на которое рассчитывают ваши пользователи».
Сдвиг в тактике
Джанет Уортингтон, старший аналитик по безопасности и рискам в Forrester Research, заявила, что недавние атаки, такие как кампания CanisterSprawl и компрометация пакетов npm Namastex.ai, демонстрируют сдвиг в сторону самораспространяющегося вредоносного ПО, которое крадет учетные данные и использует их для автоматического заражения других пакетов.
«Это поведение перекликается с более ранними вспышками, такими как червь Shai-Hulud, который распространялся по сотням пакетов путем сбора токенов npm и повторной публикации троянизированных версий, принадлежащих скомпрометированному мейнтейнеру», — сказала она в электронном письме.
Хотя платформы открытых реестров, такие как npm, внедряют более строгие меры защиты учетных записей издателей и токенов, эти инциденты подчеркивают тот факт, что компрометации больше не ограничиваются одним вредоносным пакетом, сказала она. Вместо этого они быстро каскадируются по экосистеме реестра и даже переходят в другие экосистемы. «Предприятия должны обеспечить использование только проверенных компонентов с открытым исходным кодом и сторонних компонентов путем ведения курируемых реестров, автоматизации SCA [анализа состава программного обеспечения] в конвейерах и использования брандмауэров зависимостей для ограничения воздействия и радиуса поражения», — сказала Уортингтон.
Джанка отметила, что разработчики находятся на пересечении исходного кода, облачной инфраструктуры, конвейеров CI/CD и учетных данных для публикации, поэтому компрометация одного разработчика может означать компрометацию каждого пользователя каждого пакета, который он поддерживает, или даже всей организации. Эта атака и несколько других за последние месяцы также нацелены на личные криптокошельки наряду с корпоративными учетными данными. «Это говорит нам о том, что злоумышленники точно понимают, какого человека они атакуют, и оптимизируют свои действия для получения максимальной отдачи от одной атаки», — сказала она.
Эта статья изначально была опубликована на InfoWorld.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Howard Solomon