Когда ИИ становится слишком полезным
Вы просите Claude Code или Cursor AI почистить временные файлы. ИИ любезно предлагает команду. Вы копируете, вставляете в терминал. Через секунду понимаете, что только что удалили папку src со всем проектом. Знакомо? Эта история уже стала городской легендой среди разработчиков.
Проблема не в том, что ИИ хочет вас уничтожить. Проблема в том, что он слишком буквально понимает задачу. "Удалить временные файлы" превращается в rm -rf *, который съедает всё на пути.
Что это за инструмент и как он работает
Недавно появилось десктопное приложение для macOS с простой, но гениальной идеей: оно ставит хук в zsh (или bash) и перехватывает каждую команду перед выполнением. Если команда попадает в чёрный список — система спрашивает подтверждение. Никаких серверов, никакой отправки данных в облако. Всё работает локально.
Что именно он ловит
Список опасных команд выглядит как сборник самых страшных кошмаров системного администратора:
rm -rf /илиrm -rf *— классика жанраddс опасными параметрами — когда нужно стереть диск:(){ :|:& };:— fork-бомба, которая убьёт системуchmod -R 777 /— открыть всё для всехmkfs.*илиformat— команды форматирования- И ещё десяток вариантов, которые вы точно не хотите запускать по ошибке
Причём инструмент умеет ловить не только точные совпадения, но и вариации. rm -rf ./src тоже вызовет предупреждение, если src — это ваша рабочая директория.
Чем он отличается от альтернатив
Вы скажете: "Но я же могу просто настроить alias для rm или использовать trash вместо удаления". Да, можете. Но это требует дисциплины и помнит об этом каждый раз. Этот инструмент работает всегда, даже когда вы устали в три часа ночи и копируете команду от ИИ на автомате.
| Подход | Как работает | Проблемы |
|---|---|---|
| Этот инструмент | Перехватывает все команды, проверяет по списку | Нужно установить приложение |
| Alias в .zshrc | Заменяет rm на безопасную версию | Не защищает от других опасных команд |
| Safe-rm пакеты | Защищают только удаление файлов | Не работают с командами от ИИ-ассистентов |
| Вручную проверять каждую команду | Теоретически идеально | На практике невозможно |
Главное преимущество — инструмент создан именно для эпохи ИИ-ассистентов. Он понимает, что вы не пишете эти команды вручную, а копируете их из чата с Claude Code или Cursor AI. И эта разница важна.
Как это выглядит в реальной жизни
Представьте сценарий: вы работаете в мульти-агентной IDE и просите ИИ почистить node_modules в старых проектах. ИИ предлагает:
Без инструмента: вы копируете, вставляете, через 10 секунд понимаете, что удалили не только node_modules, но и package.json во всех подпапках.
С инструментом: терминал показывает красное предупреждение "⚠️ Эта команда может удалить важные файлы. Вы уверены?". Вы читаете команду внимательно, видите проблему, отменяете.
Интересный побочный эффект: инструмент учит вас читать команды перед выполнением. Через месяц использования вы начинаете автоматически сканировать опасные паттерны в том, что предлагает ИИ.
А что насчёт ложных срабатываний?
Да, они будут. Вы чистите Docker и получаете предупреждение на docker system prune -a. Вы удаляете старый виртуальное окружение Python — ещё одно предупреждение. Но это цена безопасности. И да, можно добавлять команды в белый список. После третьего ложного срабатывания на одну и ту же безопасную команду вы её добавляете, и больше проблем нет.
Важный момент: инструмент не блокирует команды наглухо. Он только спрашивает подтверждение. Если вы сознательно хотите запустить rm -rf /tmp/cache — пожалуйста, просто нажмите Enter ещё раз.
Кому это нужно (спойлер: почти всем)
Если вы используете ИИ-ассистентов для программирования — этот инструмент для вас. Особенно:
- Разработчикам, которые работают с Claude Code, Cursor AI, GitHub Copilot в терминале
- Тем, кто экспериментирует с shell-агентами на LangChain
- Системным администраторам, которые доверяют ИИ написание скриптов
- Всем, у кого хотя бы раз возникало чувство "ой, а что это сейчас выполнилось?"
Инструмент особенно полезен в сочетании с локальными ИИ-системами вроде тех, что управляются через Harbor. Когда ИИ работает полностью на вашем компьютере, соблазн доверять ему больше. И риск выше.
Это решает проблему промпт-инъекций?
Нет, и это важно понимать. Инструмент не защищает от промпт-инъекций или Man-in-the-Prompt атак. Он решает другую проблему: когда ИИ искренне пытается помочь, но предлагает слишком радикальное решение.
Для защиты от злонамеренных атак нужны другие инструменты вроде Vigil или AprielGuard. Но эти системы сложнее и часто требуют интеграции на уровне приложения.
Установка и настройка: проще некуда
Скачиваете .dmg файл, перетаскиваете приложение в Applications. Запускаете. Инструмент просит разрешение на установку хука в shell. Подтверждаете. Всё. Никаких конфигурационных файлов, никаких правок в .zshrc.
Если хотите кастомизировать — можно редактировать список опасных команд, добавлять свои паттерны, настраивать белый список. Но для большинства пользователей работает из коробки.
Что будет дальше с безопасностью ИИ
Такие инструменты — первый признак того, что сообщество осознало проблему. ИИ-ассистенты становятся настолько хороши, что мы начинаем доверять им как коллегам. Но коллеги иногда ошибаются. Или предлагают слишком радикальные решения.
Следующий шаг — интеграция такой защиты прямо в IDE. Представьте, что Cursor AI или Claude Code сами проверяют предлагаемые команды перед тем, как показать их вам. Или гибридные нейросимвольные системы, которые преобразуют вероятностные ответы ИИ в безопасный код.
Пока этого нет — устанавливайте этот инструмент. Это как ремень безопасности. Большую часть времени он не нужен. Но в тот единственный раз, когда нужен — спасёт ваш проект, а возможно, и карьеру.
P.S. Если думаете "со мной такого не случится" — спросите у любого опытного разработчика про их историю с rm -rf. У каждого есть такая история. Просто не все в ней признаются.