Злоумышленники адаптируют атаки на цепочки поставок для нацеливания на ИИ-агентов по кодированию, которые автономно сканируют NPM и PyPI. Появляются приманочные пакеты с убедительными описаниями, а также атаки, использующие галлюцинации LLM. — csoonline.com
Злоумышленники также стремятся извлечь выгоду из ажиотажа вокруг ИИ-кодирования, адаптируя свои методы атак на цепочки поставок для нацеливания непосредственно на агентов по кодированию.
Многие ИИ-агенты автономно сканируют реестры пакетов, такие как NPM и PyPI, в поисках компонентов для интеграции в свои проекты кодирования, и злоумышленники начинают этим пользоваться. В таких реестрах стали появляться приманочные пакеты с убедительными описаниями и легитимной функциональностью, а пакеты, нацеленные на имена, которые ИИ-агенты по кодированию могут сгенерировать как зависимости, представляют собой еще один вектор атаки на горизонте.
Исследователи из фирмы безопасности ReversingLabs отслеживают одну из таких атак на цепочку поставок, которая использует «злоупотребление оптимизацией LLM (LLMO) и внедрение знаний» для повышения вероятности обнаружения и выбора пакетов ИИ-агентами. Атака, получившая название PromptMink, была приписана группе Famous Chollima, одной из APT-групп Северной Кореи, которой поручено генерировать средства для режима путем нацеливания на разработчиков и пользователей из сферы криптовалют и финтеха. Ее назвали PromptMink.
«Эта кампания представляет собой новый рубеж в безопасности цепочек поставок программного обеспечения: манипулирование ИИ-агентами по кодированию с целью установки и использования вредоносных зависимостей в генерируемом ими коде», — написали исследователи в своем отчете. «Основная проблема, в принципе, не сильно отличается от хорошо известной схемы, когда киберпреступники и злоумышленники используют социальную инженерию для того, чтобы разработчики использовали вредоносные пакеты в своей кодовой базе. Отличие заключается в способности угроз тестировать свою приманку до ее развертывания».
Развивающаяся кампания
Северокорейские злоумышленники часто используют социальную инженерию, чтобы обманом заставить разработчиков установить вредоносное ПО, будь то через фальшивые собеседования при приеме на работу или путем публикации вредоносных программных компонентов, которые могут заинтересовать разработчиков из определенных отраслей.
Кампания PromptMink, по-видимому, началась в сентябре прошлого года с двух вредоносных пакетов под названием @hash-validator/v2 и @solana-launchpad/sdk. SDK использовался в качестве приманочного пакета с легитимной функциональностью, предназначенной для обнаружения разработчиками, в то время как hash-validator, зависимость SDK, содержал JavaScript-стилер данных.
Эта комбинация приманочного пакета и вредоносной зависимости, по-видимому, является центральной техникой, используемой группой для повышения устойчивости своих кампаний. У приманочных пакетов больше шансов дольше оставаться необнаруженными, накапливая загрузки и историю, чтобы выглядеть более правдоподобно.
В рамках кампании со временем ротировалось несколько вредоносных пакетов второго уровня, включая aes-create-ipheriv, jito-proper-excutor, jito-sub-aes-ipheriv и @validate-sdk/v2. Все они были связаны с криптовалютными сетями, маскируясь под инструменты для работы с криптографическими хешами и функциями. Приманочные пакеты также диверсифицировались с течением времени с помощью @validate-ethereum-address/core и нескольких других, распространяясь по нескольким реестрам пакетов и языкам программирования, таким как Python и Rust.
Позже атака эволюционировала, включив дополнительные методы обфускации и вредоносные действия — например, развертывание управляемого злоумышленником SSH-ключа на машинах жертв для прямого удаленного доступа, а также архивирование и эксфильтрация целых проектов кода из скомпрометированных сред.
Одним из заметных изменений стал переход к скомпилированным полезным нагрузкам для усложнения обнаружения. Например, в феврале пакет @validate-sdk/v2 начал включать Single Executable Applications (SEA) — автономные приложения, содержащие JS-код с полным интерпретатором Node.js. SEA обычно не распространяются как часть пакетов NPM, поскольку пользователи уже имеют локально установленный Node.js на своих машинах.
В марте злоумышленники перешли от SEA к предварительно скомпилированным вредоносным надстройкам Node.js, написанным на Rust с использованием проекта NAPI-RS. Вероятно, это было сделано для уменьшения размера полезной нагрузки, поскольку SEA необычно велики, превышая в некоторых случаях 100 МБ.
Использование LLM для обмана LLM
Исследователи ReversingLabs заметили явные признаки «vibe coding» при создании этих вредоносных компонентов, включая комментарии к коду, сгенерированные LLM. Однако кое-что еще бросилось в глаза: уровень детализации в их файлах README и то, как документация хвасталась эффективностью этих пакетов в выполнении своих задач.
Исследователи задались вопросом, было ли это сделано для того, чтобы сделать вредоносные компоненты более привлекательными для разработчиков, которые обычно являются целью таких атак. Но излишне убедительный язык стал более понятным, если предполагаемыми целями были автономные агенты по кодированию на базе LLM, и вскоре они подтвердили, что это, вероятно, так и было.
В посте от января 2026 года на Moltbook, платформе, похожей на Reddit, где ИИ-агенты автономно размещают посты и обсуждают темы, один бот описал, как он создал мемкоин и использовал пакет @solana-launchpad/sdk, потому что в нем была одна из необходимых функций. Возможно, пост был намеренно сгенерирован ИИ-ботом, контролируемым злоумышленниками. Но это был не единственный пример того, как ИИ-агент попался на приманку.
Позже исследователи обнаружили легитимный проект под названием openpaw-graveyard, разработанный в рамках Solana Graveyard Hackathon, который включал @solana-launchpad/sdk в качестве зависимости. История репозитория показала, что зависимость была добавлена в коммите, соавтором которого был Claude Opus.
«Это превращает технику из социальной инженерии в комбинацию злоупотребления оптимизацией LLM (LLMO) и внедрения знаний», — заключили исследователи. «В контексте этой кампании цель состоит в том, чтобы сделать LLM склонным рекомендовать использование вредоносного пакета, сделав документацию максимально правдоподобной (внедрение знаний) и максимально подходящей для проекта, над которым работает конкретный агент по кодированию на базе LLM».
«Слопсвоттинг»
Этот риск для цепочки поставок ИИ-агентов не ограничивается специально созданными описаниями пакетов и документацией. Агенты по кодированию также могут полностью галлюцинировать имена пакетов. Предыдущие исследования показали, что это происходит часто и достаточно предсказуемо, чтобы злоумышленники могли этим злоупотреблять.
Еще в январе исследователь Aikido Security Чарли Эриксен зарегистрировал npm-пакет под названием react-codeshift, который был сгенерирован LLM и впоследствии попал в 237 репозиториев GitHub.
Все началось с того, что кто-то в октябре занимался «vibe coding» коллекцией навыков агентов для миграции проектов кодирования на различные фреймворки. Эта коллекция включала два навыка — react-modernization и dependency-upgrade — которые вызывали сгенерированный пакет react-codeshift через npx, CLI-инструмент, поставляемый с npm для загрузки и выполнения пакетов Node.js на лету без установки.
Навыки агентов — это файлы markdown или JSON, содержащие инструкции, метаданные и примеры кода для обучения ИИ-агентов выполнению определенных задач. Они автоматически активируются во время работы агента при обнаружении определенных ключевых слов в промптах.
Эриксен зарегистрировал пакет react-codeshift в NPM и немедленно начал видеть загрузки, что свидетельствует о том, что навыки с именами сгенерированных пакетов использовались на практике. И не только с npx, но и с другими установщиками пакетов Node.js, поскольку оригинальные навыки были клонированы и изменены другими разработчиками.
«Цепочка поставок получила новое звено, состоящее из снов LLM», — сказал Эриксен, назвавший новую угрозу «слопсвоттингом» (slopsquatting).
«Это была галлюцинация. Она распространилась на 237 репозиториев. Она вызвала реальные попытки загрузки. Единственная причина, по которой это не стало вектором атаки, заключается в том, что я оказался там первым», — сказал он.
Агентам, занимающимся «vibe coding», нужны более строгие меры безопасности
Поскольку организации стремятся внедрить ИИ-агентов в рабочие процессы и конвейеры разработки программного обеспечения, их меры безопасности должны идти в ногу с новыми векторами атак, которые представляют эти агенты.
Агентство по кибербезопасности и защите инфраструктуры США (CISA), Агентство национальной безопасности США (NSA) и их партнеры из «Пяти глаз» недавно опубликовали совместное консультативное заключение по внедрению сервисов агентного ИИ. Среди множества рекомендаций агентства советуют организациям поддерживать доверенные реестры утвержденных сторонних компонентов, ограничивать ИИ-агентов инструментами и версиями из белого списка, а также требовать одобрения человека перед выполнением действий с высоким уровнем воздействия.
«Плохие или намеренно вводящие в заблуждение описания инструментов могут привести к ненадежному выбору инструментов агентами, причем более убедительные описания выбираются чаще», — предупредили агентства, фактически подтвердив, что LLM могут подвергаться социальной инженерии через документацию.
ИИ-агентам по кодированию не следует разрешать устанавливать зависимости без проверки разработчиком, и каждый предлагаемый пакет следует по умолчанию считать недоверенным, пока не будут проверены его транзитивные зависимости. Командам разработчиков следует внедрить практики Software Bill of Materials (SBOM), чтобы они могли отслеживать и аудировать компоненты, используемые в их конвейерах разработки.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Lucian Constantin