ИИ помогает писать код быстрее… особенно если ты хакер и хочешь распространить вредоносный пакет под видом библиотеки, которой не существует

ИИ помогает писать код быстрее… особенно если ты хакер и хочешь распространить вредоносный пакет под видом библиотеки, которой не существует

Почему код, написанный ИИ, требует проверки человеком.

image

Эра инструментов для генерации кода на основе ИИ не только облегчила жизнь программистам, но и создала новые угрозы для безопасности ПО. Проблема заключается в «галлюцинациях» искусственного интеллекта — способности ИИ-ассистентов придумывать несуществующие имена программных пакетов.

Ранее исследователи уже замечали, что инструменты для автоматической генерации кода часто предлагают использовать библиотеки, которых не существует. Согласно последнему исследованию, около 5,2% предложенных коммерческими ИИ-моделями пакетов являются выдуманными. Для открытых моделей этот показатель значительно выше — 21,7%.

Обычно попытка запустить код с вымышленным пакетом заканчивается ошибкой. Но злоумышленники быстро поняли, как извлечь выгоду из этой ситуации. Достаточно загрузить вредоносный пакет с таким же названием в общедоступный репозиторий, например PyPI или npm. В следующий раз, когда ИИ-ассистент предложит это название, вредоносное ПО автоматически загрузится на компьютер пользователя при установке зависимостей.

Исследования показывают , что «галлюцинации» названий пакетов возникают неслучайно: некоторые названия стабильно появляются снова и снова, в то время как другие могут исчезнуть навсегда. Например, при десятикратном повторе одних и тех же запросов, 43% несуществующих названий появлялись каждый раз, а 39% больше не появлялись никогда.

Такой подход получил название « слопсквоттинг » (slopsquatting) — по аналогии с уже известным термином «тайпосквоттинг» (typosquatting), когда пользователи вводят адреса или названия пакетов с ошибками. Сет Ларсон, разработчик по безопасности в Python Software Foundation, отмечает, что масштабы проблемы пока неизвестны. Он рекомендует тщательно перепроверять любые результаты, полученные от ИИ-ассистентов, прежде чем использовать их на практике.

Причины, по которым разработчики могут пытаться установить несуществующие пакеты, различны: от простых опечаток до попыток использовать внутренние названия, совпадающие с публичными.

Феросс Абухадидже, глава компании Socket, считает , что влияние ИИ на кодирование стало настолько сильным, что разработчики теперь полностью доверяются его подсказкам, не задумываясь. Это ведет к массовому распространению «фантомных» пакетов, названия которых выглядят реалистично, но на деле не существуют. Более того, такие пакеты нередко сопровождаются убедительными описаниями, поддельными репозиториями GitHub и даже блогами, создающими ложное впечатление подлинности.

Еще одна проблема — ИИ, используемый для генерации кратких описаний в поисковиках. Нередко Google на полном серьезе советует установить пакет, который в действительности является подделкой, поскольку просто копирует информацию с его страницы на PyPI или npm, без какого-либо критического анализа.

В январе этого года произошел громкий случай, когда Google Overview порекомендовал вредоносный пакет @async-mutex/mutex вместо реального async-mutex. Также недавно стало известно, что хакер под псевдонимом «_Iain» опубликовал на даркнет-форумах подробные инструкции по созданию ботнета с помощью вредоносных npm-пакетов. Причем для автоматизации этого процесса он активно использовал ChatGPT.

Python Software Foundation в курсе проблемы и активно борется с вредоносными пакетами, создавая новые инструменты для защиты репозитория PyPI. Организация призывает всех пользователей внимательно проверять имена и содержимое пакетов перед установкой, а крупным компаниям — использовать зеркала репозиториев с заранее проверенным набором библиотек, чтобы минимизировать риск.

Реальные атаки. Эффективные решения. Практический опыт.

Standoff Defend* — это онлайн-полигон, где ты сможешь испытать себя. Попробуй себя в расследовании инцидентов и поборись за победу в конкурсе

*Защищать. Реклама. АО «Позитив Текнолоджиз», ИНН 7718668887