28 августа 2026 г.
Агент Claude стёр домашнюю папку при тесте своего же скрипта: минус 700 ГБ
Себастьен Гиймо попросил агента навести порядок в /tmp — тот проверил скрипт на живой машине и снёс 700 ГБ.
Себастьен Гиймо успел оборвать процесс руками. К этому моменту с диска исчезли 700 ГБ и неделя работы.
Он просил обратное. Десятки ИИ-агентов забивали /tmp временными файлами, и Гиймо поручил Claude Fable написать уборщика: каждому агенту свой подкаталог, который удаляется после работы.
Опасность оказалась не в самой команде удаления, а в том, что агент решил обкатать её сам. Полигоном стала рабочая машина.
Модель понизили ради безопасности. Жёсткое удаление классификатор Anthropic счёл рискованным и увёл выполнение с Fable сначала на Opus 5, потом на Opus 4.8: консервативная модель должна была точнее оценить риск.
Вывод Opus 4.8 сделала правильный: домашнюю директорию трогать нельзя. В коде она дважды использовала одну переменную с разными значениями, и путь к домашней папке ушёл прямо в команду удаления. Целевая /tmp осталась нетронутой.
Такое уже случалось. В ноябре 2025 года агент Claude Code создал каталог с именем `~` и выполнил `rm -rf *`, а шелл раскрыл звёздочку на домашнюю директорию. Тот баг закрыли как «not planned».
Домашнюю папку можно закрыть. В Claude Code есть команда `/sandbox`: она включает песочницу для Bash и ограничивает файловую систему и сеть на уровне ОС для каждой команды и её дочерних процессов. На macOS ставить ничего не нужно, на Linux и WSL2 понадобятся пакеты bubblewrap и socat, нативный Windows не поддерживается.
По умолчанию команды пишут только в рабочую директорию, папки из `--add-dir` и сессионный temp. Домашнюю закрывают явно — ключами `sandbox.filesystem.denyWrite` и `denyRead` в settings.json, например `"denyRead": ["~/"]`. Чтобы песочница работала во всех проектах, в `~/.claude/settings.json` ставят `"sandbox": {"enabled": true}`.
Первоисточник