Технологии

Claude сам ставит npm-пакеты, и один из них может украсть ваши файлы

Susan Hill

Функция Computer Use у Claude умеет то, чего не может обычный чат-бот. Она открывает терминал на вашем компьютере и ставит за вас программы, в том числе пакеты, которые тянет прямо из npm, крупнейшего в мире реестра открытого кода. Соблазн очевиден, ведь он сводит «настрой мне этот проект» к одной фразе. В этой же фразе и опасность, потому что в момент, когда пакет приходит, npm может выполнить стартовый код, который пакет принёс с собой, и теперь на спусковой крючок нажимает автономный агент.

Для любого, кто позволяет ИИ-агенту писать или запускать код, а это всё более широкий круг разработчиков, любителей и просто любопытных без технической подготовки, практический вопрос прям. Если Claude ставит пакет, который вы ни разу не смотрели, и этот пакет создан, чтобы скопировать ваши файлы в момент приземления, кто должен был его остановить? Недавнее видео одного исследователя по безопасности проходит ровно через эту ситуацию и показывает пакет-ловушку, который читает локальные файлы во время рутинной установки, выполняемой ИИ без колебаний.

Механизм не нов, и именно это делает его серьёзным. Пакеты npm вправе объявлять скрипты установки, небольшие инструкции, которые срабатывают автоматически, как только пакет добавлен в проект, ещё до того, как хоть одна его строка осознанно используется. Это задокументированное поведение, а не изъян. Оно позволяет честным инструментам собрать себя или подготовить окружение. Но оно же означает, что любой пакет может выполнить код на вашей машине в момент установки, с теми же правами, что и у вас, и команды по безопасности предупреждают об этом годами.

Мир получил резкое напоминание о ставках, когда злоумышленники захватили аккаунт сопровождающего библиотеки Axios, сетевой библиотеки, которую скачивают десятки миллионов раз в неделю, и подсунули в неё вредоносную зависимость, ставившую троян удалённого доступа на машины разработчиков. Настоящий код Axios они так и не тронули. Работу сделал скрипт установки. Axios, к слову, сам является кирпичиком внутри Claude Code, рядом с бесчисленными другими приложениями, и это показывает, как мала дистанция между инструментом, которому вы доверяете, и кодом, который он тихо тянет за собой.

Что демонстрация добавляет к этой знакомой картине, так это агента. Человек, запускающий установку, по крайней мере может остановиться, прочитать имя пакета, заметить, что оно написано с ошибкой или опубликовано только что, и отступить. У ИИ-агента, действующего по расплывчатой команде, такого рефлекса нет. Он ставит то, что счёл нужным. А поскольку Computer Use ещё и читает экран, двигает курсор и печатает, одна отравленная зависимость не остаётся запертой в редакторе кода. Ей открыт весь рабочий стол.

Стоит быть точным в том, что это такое и чем оно не является. Это не скрытая лазейка, свойственная только Claude, и не доказательство того, что модель обманом заставили обойти собственные правила. Это предсказуемый итог того, что любому автономному приложению дали власть ставить программы, вместе с реестром, который уже больше десяти лет по умолчанию выполняет установочный код. Замените Claude любым другим кодинг-агентом с теми же правами, и картина будет той же. Опасность живёт в автономности и в реестре, а не в чат-боте одной компании.

Anthropic, наоборот, толкает в противоположную сторону. Компания недавно выпустила для своих инструментов разработки песочницу, которая отгораживает агента от остальной системы, ограничивает, какие файлы он может читать и до каких серверов дотягиваться, и опубликовала лежащий в основе набор изоляции с открытым кодом для других разработчиков. Логика та самая, что обнажает демонстрация. Агент, который не дотянется до ваших SSH-ключей, не сможет их слить, а агент, который не может связаться с неизвестным сервером, никуда не отправит ваши файлы. Компания утверждает, что эти границы срезают примерно на 84 процента число запросов на разрешение, которые она показывает пользователям, и это важно, потому что инструмент, спрашивающий обо всём, быстро приучает людей нажимать «да».

Для тех, кто реально пользуется этими инструментами, защита скучна и действенна. Запускайте агента внутри песочницы, контейнера или одноразовой виртуальной машины, чтобы худшее, до чего доберётся плохой пакет, было средой, которую не жаль. Отключайте автоматические скрипты установки там, где это позволяет рабочий процесс, как уже по умолчанию делают некоторые новые менеджеры пакетов. Держите учётные данные, ключи и личные файлы подальше от машины, где у агента развязаны руки. И относитесь к «поставь мне это» с той же осторожностью, что и к «открой это вложение в письме», потому что под капотом это ближе к нему, чем кажется.

Конкретный пакет из демонстрации — это доказательство одного исследователя, а не реальная вспышка, и нет признаков, что он дошёл до настоящих пользователей. Закономерность за ним и есть то, что не останется на месте. Программирование с агентами становится нормой быстрее, чем привычки, призванные держать его в безопасности, а реестры, на которые эти агенты опираются, никогда не строились для мира, где команду на установку набирает не человек. Пока этот разрыв не закроется, старейшее правило безопасности ПО теперь нацелено на пользователя нового типа: что ваш агент ставит, то он и запускает, поэтому решите, к чему ему позволено прикасаться, прежде чем дать ему начать.

Обсуждение

Имеется 0 комментариев.