Технологии

Разработчикам предлагают защиту от вредоносных пакетов через контроль конфигов npm и pip

Маша Даровская
By Маша Даровская , IT-редактор и автор
Разработчикам предлагают защиту от вредоносных пакетов через контроль конфигов npm и pip
Обложка © Anonhaven

StepSecurity представила Package Configs — компонент Dev Machine Guard для аудита настроек пакетных менеджеров на рабочих станциях разработчиков. Он проверяет конфигурации npm, pnpm, bun, yarn и pip, включая .npmrc, bunfig.toml, .yarnrc, .yarnrc.yml и pip.conf.

Компонент охватывает экосистему JavaScript (npm, pnpm, bun и yarn) и Python (pip). Для каждого устройства определяет три параметра, которые выявляют, будет ли эта машина подвержена воздействию таких атак, как Miasma или Hades.

За последние месяцы npm и PyPI несколько раз становились площадками для атак на цепочку поставки. StepSecurity перечисляет компрометации axios и TanStack, червя Shai-Hulud, кампании Miasma и Hades. Общая схема у таких атак схожа: доверенный пакет получает вредоносную версию, разработчик устанавливает ее на рабочую машину, код выполняется с правами пользователя и ищет секреты.

Особенно опасны самораспространяющиеся кампании. StepSecurity описывает Miasma и Hades как червей, которые после попадания на машину ищут токены публикации npm или PyPI. Найденный токен позволяет загрузить зараженные версии других пакетов, к которым у пользователя есть доступ. Так один зараженный ноутбук может распространять атаки дальше по экосистеме.

В июне StepSecurity уже сообщала, что npm-волна Miasma затронула 57 пакетов и более 286 вредоносных версий менее чем за два часа. Через пять дней тот же актор появился в PyPI в кампании Hades, где были затронуты пакеты, связанные с машинным обучением и биоинформатикой. запаздывает.

Cooldown, или задержка новых версий, — это политика, при которой свежий пакет не попадает на рабочие машины сразу после публикации. Он ждет заданное время: несколько часов или дней. За это время вредоносную версию могут обнаружить исследователи, автоматические сканеры, вендоры или сами сопровождающие проекта. Ведь большинство атак на пакетные экосистемы опасны именно в первые часы. 

Package Configs проверяет три ключевых вещи на каждой машине:

  • Фактический реестр. Устройство должно получать пакеты через внутренний Artifactory, Nexus, защищенный прокси или другой одобренный маршрут. Если машина обращается напрямую в публичный реестр, то выпадает из корпоративной защиты.

  • Наличие задержки новых версий. Если cooldown не включен или пакетный менеджер слишком старый и не поддерживает такую политику, машина получает свежие версии сразу. При быстрой атаке это повышает риск заражения.

  • Способ хранения учетных данных. Токены в файлах нужно заменить на безопасные схемы: переменные окружения, короткоживущие учетные данные, отдельные сервисные токены с минимальными правами и регулярную ротацию.

Раньше проверка таких вещей часто была ручной. Команда безопасности рассылала инструкции, просила обновить .npmrc, настраивала внутренний реестр и надеялась, что разработчики не переопределили настройки в проекте. 

Package Configs делает инвентаризацию по парку устройств. Можно быстро увидеть машины, которые не проходят через защитный шлюз, не используют cooldown или хранят токены на диске. Во время кампании это позволяет быстро найти конкретные слабые точки.

Есть новость? Станьте автором.

Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.