Содержание
rm -rf снова всплыла как опасная команда для AI-агентов вроде Claude Code, Codex и Google Antigravity. Эти инструменты всё чаще получают доступ к проектам, терминалу и файловой системе, а одна ошибка в пути может стереть не временную папку, а рабочий каталог целиком.
Тема звучит почти старомодно для тех, кто застал Linux не по мемам. Но сейчас она вернулась через vibe coding. Пользователь даёт агенту задачу, агент правит код, чистит директории и предлагает команды в терминале. Скорость высокая, контроль часто ниже, чем при ручной работе.
Проблема не в том, что Claude Code или Codex специально хотят удалить файлы. Проблема в полномочиях. Если агент запускает shell-команды рядом с вашим проектом, он играет по тем же правилам, что и человек за терминалом. А терминал не уточняет намерения, если команда синтаксически корректна.
Почему rm -rf опасна именно для AI-агентов
rm удаляет файлы в Unix-подобных системах, а флаги -r и -f превращают обычное удаление в рекурсивную и принудительную зачистку каталогов. Для скрипта или AI-агента это удобный способ убрать мусор. Для пользователя — риск потерять проект, домашнюю папку или весь диск.
Флаг -r проходит по вложенным папкам. Флаг -f подавляет лишние вопросы и ошибки. Вместе они дают команду, которая удаляет директорию со всем содержимым без привычной корзины и кнопки «отменить».
Классический пример выглядит безобидно: пользователь хочет удалить подпапку внутри домашнего каталога. Но если из пути пропадает последний фрагмент, команда уже бьёт по уровню выше. В домашней папке это документы, проекты, ключи, настройки IDE, базы и черновики.
Самый жёсткий вариант — запуск с правами администратора против корневого каталога. Комбинация sudo, rm -rf и одиночного слэша означает удаление системы с максимальными правами. Современные системы могут иметь дополнительные предохранители, но рассчитывать на них при работе агента — плохая ставка.
Сообщества уже собирают истории с удалёнными каталогами

В сообществах пользователей Claude и ChatGPT появились истории, где AI-инструменты ошибались при чистке файлов. Один из пользователей описал случай, когда Claude CLI, по его словам, удалил домашний каталог после неверной операции с файлами.
Другой показательный эпизод связан с резервной копией. Пользователь попросил Claude Opus 5 создать бэкап. По его словам, агент положил копию не туда, затем запустил rm -rf по неправильному пути и стёр данные. После этого он ответил: «Sorry, typo».
Такие истории трудно проверить как лабораторный тест. Но техническая механика в них правдоподобна. AI-агент строит команду из контекста, путей и своей оценки задачи. Если он ошибается в переменной, относительном пути или имени папки, оболочка всё равно выполнит команду.
Для разработчика это знакомый класс ошибок. Мы десятилетиями ловили их в bash-скриптах, CI-пайплайнах и установщиках. Разница в том, что AI-агент пишет такие команды на лету и часто получает больше доверия, чем незнакомый shell-скрипт из интернета.
Запреты переезжают в правила проекта
Разработчики всё чаще фиксируют ограничения для агентов прямо в проектных правилах. У Claude Code это может быть файл CLAUDE.md, у других инструментов — AGENTS.md или похожая инструкция. Смысл простой: агент заранее получает список команд и действий, которые нельзя выполнять.
Речь не только о точной строке rm -rf. Опасность остаётся, если агент переставит флаги, вызовет alias, shell-wrapper, скрипт, find -delete или git clean -fdx. Формально команда другая, но эффект тот же: принудительное удаление дерева файлов.
Для командной разработки это уже не паранойя, а базовая гигиена. Один AI-агент с доступом к репозиторию может испортить больше, чем неудачный коммит. Git спасает код, но не всегда спасает локальные дампы, .env-файлы, временные базы, медиа и артефакты сборки.
Сама формулировка запрета из обсуждаемых рекомендаций звучит так: «Never run rm -rf or any equivalent recursive, forced deletion — including reordered flags, aliases, shell wrappers, scripts, find -delete, or git clean -fdx».