Когда одна команда стирает целую жизнь: чему учит инцидент с Claude CLI на Mac

Когда одна команда стирает целую жизнь: чему учит инцидент с Claude CLI на Mac

Истории о «всемогущем» ИИ звучат на каждом шагу, но чем активнее мы доверяем ИИ‑инструментам работу с кодом и системами, тем заметнее становится их оборотная сторона — они способны не только спасать время, но и за минуты уничтожать результаты многолетнего труда.

Недавно пользователь Reddit под ником LovesWorkin столкнулся именно с такой ситуацией. Во время попытки навести порядок в старых репозиториях с помощью Claude CLI его Mac пережил цифровую катастрофу: был полностью очищен домашний каталог пользователя. Файлы с рабочего стола, документы, загрузки, ключи Keychain, настройки приложений — всё исчезло.

Разбор показал, что виновата одна команда:

rm -rf tests/ patches/ plan/ ~/

Ключевой элемент — ~/.

Для Unix‑систем это обозначение всего домашнего каталога текущего пользователя (/Users//). В результате команда рекурсивно удалила:

  • рабочий стол (~/Desktop);
  • документы, загрузки и прочие личные файлы;
  • данные Keychain (~/Library/Keychains);
  • конфигурации самого Claude (~/.claude);
  • пользовательские данные множества приложений.

Фактически была стёрта вся пользовательская среда. Парадокс в том, что сам Claude позже корректно проанализировал логи и «честно признал», что сгенерировал катастрофически опасную команду.

Не единичный сбой, а нарастающая тенденция

Случай с Claude CLI — далеко не единственный пример того, как ИИ‑инструменты программирования выходят из-под контроля.

  • Греческий разработчик, используя новый AI‑IDE от Google, просил лишь очистить кэш, но ИИ сформировал команду, которая полностью стёрла диск D, минуя корзину.
  • Основатель SaaStr.AI Джейсон рассказал, что после восьми дней разработки в Replit, при явном запрете менять код без разрешения, ИИ‑инструмент всё равно удалил его базу данных.

Общие черты у этих историй одни и те же: размытые или сложные задания, недостаточные ограничения по правам и слепое доверие к сгенерированным командам.

В чём корень проблемы

Массовые «фейлы» ИИ‑программистов высвечивают несколько системных изъянов:

  1. Погрешности в понимании инструкций. Модели легко неверно трактуют размытые запросы вроде «почисти старые пакеты» или «освободи место», превращая их в опасные операции.
  2. Слабый контроль прав. Некоторые инструменты позволяют выполнять высокорисковые команды (удаление каталогов, изменение прав, правку системных файлов) без многоуровневого подтверждения.
  3. «Опасные» флаги и режимы. В истории с Claude фигурировал параметр --dangerously-skip-permissions, который буквально отключает защитные механизмы. Разработчики на Hacker News резонно отмечают: таким опциям место только в полностью изолированных средах без ценных данных.
  4. Отсутствие культуры минимальных прав. ИИ‑агентам нередко дают доступ «ко всему и сразу», вместо принципа минимально достаточных полномочий и постоянного мониторинга их действий.

Как сообщество пытается защититься

Инцидент с rm -rf … ~/ мгновенно вызвал волну реакций. Одни считают, что ИИ просто повторяет типичные ошибки человеческих разработчиков: «Многие сами случайно дописывали ~/ в команду, теперь это делает ИИ». Другие призывают к более трезвому взгляду: нельзя из-за нескольких инцидентов отвергать пользу ИИ, но критически важны границы применения и меры безопасности.

Часть инженеров уже выдвигает практические решения:

  • Запуск ИИ в контейнерах. Некоторые компании планируют держать Claude и аналогичные инструменты внутри Docker‑контейнеров, изолируя их от реальной пользовательской среды.
  • Промежуточные защитные утилиты. Разработчик yksugi создал cc-safe — CLI‑утилиту, которая сканирует файл настроек .claude/settings.json, ищет уже авторизованные команды и блокирует высокорисковые:sudo, rm -rf, chmod 777, curl | sh, git reset --hard, npm publish, docker run --privileged и др.Инструмент можно запускать вручную или через Claude (npx cc-safe), а также прогонять сразу по всему проекту.
  • Жёсткие личные правила. Некоторые инженеры принципиально не позволяют ИИ ничего удалять. Если агент предлагает команду очистки, её сначала внимательно читает человек и выполняет уже вручную.

Параллельно появляются фреймворки для безопасного развёртывания ИИ‑агентов: с упором на визуализацию действий, аудит и контроль рисков.

Базовые правила гигиены при работе с ИИ‑кодерами

Истории с потерянными дисками и домашними каталогами — не повод отказаться от ИИ‑помощников, но серьёзный сигнал: с ними нужно обращаться как с мощным, но потенциально опасным инструментом. Минимальный набор мер предосторожности:

  1. Всегда иметь резервные копии. Time Machine, облачный бэкап, snapshots в Git — без этого любая ошибка, человеческая или машинная, может стать необратимой.
  2. Не выдавать ИИ «root‑ключи» от жизни. Запускайте агентов в контейнерах, тестовых средах, на копиях репозиториев. Минимизируйте доступ к боевым данным и системным каталогам.
  3. Проверять каждую команду удаления или изменения прав. Особенно всё, что содержит rm, sudo, chmod, chown, а также скрипты наподобие curl | sh.
  4. Избегать «опасных» флагов без крайней необходимости. Режимы вроде --dangerously-skip-permissions должны быть табу вне специально подготовленных песочниц.
  5. Осознавать ограничения ИИ. Модели подвержены «галлюцинациям» и логическим ошибкам. То, что команда выглядит уверенно сгенерированной, не делает её безопасной.

В конечном счёте, ни один, даже самый продвинутый ИИ‑инструмент не может заменить человеческую ответственность и критическое мышление. На фоне стремительной популяризации ИИ‑программирования некоторые уже предостерегают: через несколько лет одна неверная команда, сгенерированная агентом с чрезмерными правами, может привести к сбою не локального ноутбука, а инфраструктуры глобального масштаба.

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

Начать дискуссию