CLI AI

Безопасно ли доверять ИИ запуск команд в терминале?

2026-06-06

Безопасно ли доверять ИИ запуск команд в терминале? Да — на своей машине, в репозитории, который можно откатить, и только после того, как вы прочитали, что сейчас выполнится. Нет — в тот момент, когда инструмент отправляет вывод модели прямо в оболочку без подтверждения. Дальше — модель угроз, из которой этот ответ и следует.

1. Что именно вы отдаёте

Агент с доступом к shell может делать всё, что может ваш пользователь: читать переменные окружения, а в них — токены; читать ~/.ssh и ~/.aws/credentials; менять конфиги; ставить сервисы, которые переживут перезагрузку. Это не гипотеза про «злой ИИ» — достаточно одной ошибки.

2. Разница между «предложить» и «выполнить»

clai
$ clai удали все остановленные контейнеры и неиспользуемые образы→ docker system prune -a⚠ CAUTION — удалит все образы, не занятые запущенными контейнерамиЗапустить? введите yes для подтверждения:

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

3. Три уровня риска, которые стоит различать

SAFE — читающие команды: ls, ps, df, git log. Ошибка стоит времени. CAUTION — меняющие состояние: docker prune, git reset, systemctl restart, chmod -R. Ошибка стоит работы. DANGER — необратимые: rm -rf, dd, mkfs, DROP TABLE, force push. Ошибка стоит данных.

Полезен не сам ярлык, а то, что он заставляет остановиться ровно там, где цена ошибки меняется на порядок.

4. Просите холостой прогон

clai
$ clai синхронизируй эту папку на прод, но сначала покажи что будет сделано→ rsync -av --dry-run ./build/ deploy@prod:/var/www/

Почти у всякой разрушительной операции есть режим «только показать»: rsync --dry-run, git clean -n, find без -delete. Просите его первым, когда дело касается прода.

5. Ограничивайте радиус поражения, а не доверие

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

6. Проверяйте, что именно выполнялось

clai
$ clai покажи последние 20 команд, которые я запускал через clai→ cliai log --tail 20

Локальный журнал запросов даёт разбор постфактум. Если что-то пошло не так, вы видите, какая формулировка породила какую команду.

Грабли

  • Опасна не только разрушительная команда, но и утечка. Агент, который на отладке распечатал переменные окружения, только что положил ваши токены в лог, а лог, возможно, уезжает наружу.
  • «Я потом посмотрю» не работает. Читать команду нужно до Enter. После Enter вы читаете уже последствия.
  • Автономный режим на своей машине и на проде — разные решения. В одноразовой песочнице и git-репозитории автозапуск разумен. На сервере с данными — нет.

Похожие вопросы

Можно ли давать ИИ доступ к терминалу? На обратимой работе — в git-репозитории, в песочнице, на своей машине — да, при условии подтверждения перед запуском. На проде — только режим «покажи, я решу».

Чем это отличается от копипаста со Stack Overflow? Принципиально ничем, и это главный аргумент. Команду из интернета вы тоже читаете перед запуском. Разница лишь в том, что здесь она сгенерирована под вашу систему.

Что делать, если команда всё-таки выполнилась не та? Остановите процесс, посмотрите локальный лог запросов, оцените урон. Именно поэтому необратимые операции требуют ввода подтверждения, а не одной клавиши.

Читайте также

CliAI показывает команду и ждёт подтверждения перед тем, как выполнить что-то разрушительное — начать здесь.