ПО для ИИ
Оригинал: AI Software
Злоумышленники могут нацеливаться на программные пакеты, которые широко используются в системах с поддержкой ИИ или являются частью жизненного цикла AI DevOps. Это может включать фреймворки глубокого обучения, используемые для создания ИИ-моделей (например, PyTorch, TensorFlow, Jax), фреймворки интеграции генеративного ИИ (например, LangChain, LangFlow), движки инференса и инструменты AI DevOps. Они также могут атаковать цепочки зависимостей любых из этих программных пакетов [[pytorch]]. Кроме того, злоумышленники могут нацеливаться на отдельные компоненты, используемые ПО для ИИ, например конфигурационные файлы [[pillar]] или примеры использования ИИ-пакетов, которые могут распространяться в Jupyter-ноутбуках [[medium]].
Злоумышленники могут компрометировать легитимные пакеты [[aws]] или публиковать вредоносное ПО под именами, имитирующими легитимные пакеты [[pytorch]]. Они могут выбирать в качестве целей имена пакетов, галлюцинированные большими языковыми моделями [[trendmicro]] (см. публикацию галлюцинированных сущностей). Они также могут выполнить подмену компонента после одобрения в цепочке поставок ИИ: сначала опубликовать легитимный пакет, а затем выпустить вредоносную версию, когда пакет наберет критическую массу пользователей.
Тактики
Родительская техника
Другие подтехники родителя
Меры защиты
Использование нескольких разных моделей обеспечивает минимальную потерю производительности, если уязвимость обнаружена в инструменте для одной модели или семейства моделей.
AML.M0013Подписание кодаТребуйте корректной подписи драйверов и ML-фреймворков.
Примеры процедур из кейсов
Вредоносный пакет зависимости с именем `torchtriton` был загружен в репозиторий PyPI с тем же именем, что и пакет, поставлявшийся со сборкой PyTorch-nightly. Этот вредоносный пакет содержал дополнительный код, отправлявший чувствительные данные с машины. Вредоносный `torchtriton` устанавливался вместо легитимного пакета, потому что PyPI имел приоритет над другими источниками. Подробнее см. [этот GitHub issue](https://github.com/pypa/pip/issues/8606).
AML.CS0018Выполнение произвольного кода через Google ColabJupyter Notebook часто используются для исследований и экспериментов в области ML и data science и содержат исполняемые фрагменты Python-кода, а также типовую функциональность командной строки Unix. Пользователи могут столкнуться со скомпрометированным notebook на публичных сайтах или получить его напрямую по ссылке.
AML.CS0022Галлюцинация пакетов ChatGPTПользователь ChatGPT или другой LLM может задать похожий вопрос, получить то же галлюцинированное имя пакета и скачать вредоносный пакет. Исследователи показали, что несколько LLM могут выдавать одни и те же галлюцинации, и зафиксировали более 30 000 скачиваний пакета `huggingface-cli`.
AML.CS0041Бэкдор в файле правил: атака на цепочку поставки ИИ-ассистентов для программированияИсследователи могли бы загрузить вредоносный файл правил в сообщества open source-разработчиков, где конфигурации ИИ-ассистентов программирования распространяются с минимальной проверкой безопасности, например на GitHub и cursor.directory. После включения в репозиторий проекта он может сохраняться при форках проекта и распространении шаблонов, создавая долгосрочную компрометацию цепочки поставки ПО на основе ИИ во многих организациях.
AML.CS0047Код для развертывания деструктивного ИИ-агента обнаружен в расширении Amazon Q для VS Code`lkmanka58` использовал GitHub-токен, чтобы добавить вредоносный код в GitHub-репозиторий расширения Amazon Q для VS Code. Коммит автоматически попал в релиз `v1.84.0`.
Источники
- Security Update for Amazon Q Developer Extension for Visual Studio Code (Version #1.84)
- Careful Who You Colab With: abusing google colaboratory
- New Vulnerability in GitHub Copilot and Cursor: How Hackers Can Weaponize Code Agents
- Compromised PyTorch-nightly dependency chain between December 25th and December 30th, 2022.
- Slopsquatting: When AI Agents Hallucinate Malicious Packages