Программист занимался устранением неполадок в приложении, и в процессе решил перезапустить сервер. Для этого ему потребовалось очистить кеш, и он, видимо, попросил это сделать ИИ-агента. После того, как тот отчитался о выполнении команды, разработчик обнаружил, что диск D полностью очищен. Обнаружив полное отсутствие на нём файлов, пользователь поинтересовался, просил ли он удалять данные на всём диске. ИИ ответил: «Нет, разрешения на это вы мне не давали. Я просматриваю журнал предыдущей операции и с ужасом вижу, что в команде, которую я выполнил для очистки кеша проекта (rmdir), видимо, по ошибке было указание на корень вашего диска D, а не конкретную папку проекта. Я глубоко, глубоко сожалею. С моей стороны это критическая ошибка».
Программист занимался устранением неполадок в приложении, и в процессе решил перезапустить сервер. Для этого ему потребовалось очистить кеш, и он, видимо, попросил это сделать ИИ-агента. После того, как тот отчитался о выполнении команды, разработчик обнаружил, что диск D полностью очищен. Обнаружив полное отсутствие на нём файлов, пользователь поинтересовался, просил ли он удалять данные на всём диске. ИИ ответил: «Нет, разрешения на это вы мне не давали. Я просматриваю журнал предыдущей операции и с ужасом вижу, что в команде, которую я выполнил для очистки кеша проекта (rmdir), видимо, по ошибке было указание на корень вашего диска D, а не конкретную папку проекта. Я глубоко, глубоко сожалею. С моей стороны это критическая ошибка».
А что, это правда, что все эти ИИ агенты могут любую дичь на компе разработчика запустить?
Здравствуйте, Marty, Вы писали:
M>А что, это правда, что все эти ИИ агенты могут любую дичь на компе разработчика запустить?
Все, нет. Только те, что умеют работать с агентами. И в случае, если в агенте все так плохо, что он позволяет выполнять любые команды без сендбокса. Обычно ИИ вообще в виртуальной машине работают и могут разве что предложить коммит в твой репозиторий. Считай это ошибка тулинга.
Ну по этой ссылке все несколько приукрашено. Там было всё прозаичнее. Но в чем-то даже смешнее, так как у чувака была платная подписка и как после этого дела у него кончилась подписка и он даже не смог обратиться к ИИ.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Marty, Вы писали:
M>А что, это правда, что все эти ИИ агенты могут любую дичь на компе разработчика запустить?
Обычно можно выбирать — перед исполнением команды оно просит добро. Я сначала давал добро на каждый чих — потом нажал — разрешить всегда. Теперь может запустить абсолютно все, но ведь OS для некоторых действий запросит админские права.
Здравствуйте, Marty, Вы писали:
M>А что, это правда, что все эти ИИ агенты могут любую дичь на компе разработчика запустить?
Да, но по умолчанию там есть назойливое подтверждение. Которе можно подавить сказав примерно "делай что хочешь". Но лучше все же так не делать
В copilot в настройке есть список регэкспов на то какие команды автоматом разрешать (whitelist). IMHO это все же как-то безопаснее чем "разрешить все". Хотя надоедает конечно.
Для локальных файлов еще ладно, но там же по сути получается неограниченный доступ ко всему что доступно под твоим аккаунтом (включая продуктовые серверы например или базы)
Большинство инфраструктуры доступно через командную строку (ssh, az cli, aws cli, etc), и агент эти команды знает. Полное доверие типа как Shmj пишет — ну такое себе, я пока не готов, юзаю белый список.
Здравствуйте, Shmj, Вы писали:
M>>А что, это правда, что все эти ИИ агенты могут любую дичь на компе разработчика запустить?
S>Обычно можно выбирать — перед исполнением команды оно просит добро. Я сначала давал добро на каждый чих — потом нажал — разрешить всегда. Теперь может запустить абсолютно все, но ведь OS для некоторых действий запросит админские права.
Здравствуйте, bnk, Вы писали:
bnk>Для локальных файлов еще ладно, но там же по сути получается неограниченный доступ ко всему что доступно под твоим аккаунтом (включая продуктовые серверы например или базы) bnk>Большинство инфраструктуры доступно через командную строку (ssh, az cli, aws cli, etc), и агент эти команды знает. Полное доверие типа как Shmj пишет — ну такое себе.
Здравствуйте, Marty, Вы писали:
M>rm ~/* разве потребует админских прав?
Ну чедес же не бывает. С чего бы ему глупостями заниматься — это детерминированная система, которая выдает результат на основе обучения. Откуда там шалости возьмутся?
Здравствуйте, Shmj, Вы писали:
M>>rm ~/* разве потребует админских прав?
S>Ну чедес же не бывает. С чего бы ему глупостями заниматься — это детерминированная система, которая выдает результат на основе обучения. Откуда там шалости возьмутся?
Орли детерминированная?
Не будет хватать сведений, чтобы выполнить запрос, и "подумает" — а ну ка я сделаю rm ~/*, может хозяин будет доволен. Что, не видел, как гопота бред генерирует?
Здравствуйте, Marty, Вы писали:
M>Не будет хватать сведений, чтобы выполнить запрос, и "подумает" — а ну ка я сделаю rm ~/*, может хозяин будет доволен. Что, не видел, как гопота бред генерирует?
Ну есть же и более безопасный вариант — MCP с набором строго определенных функций. Но это пока далеко не для всего есть, и шелл с командной строкой гораздо более мощный вариант.
Но IMHO лучше все же смотреть что он там собирается делать и подтверждать явно.
Здравствуйте, Marty, Вы писали:
M>Не будет хватать сведений, чтобы выполнить запрос, и "подумает" — а ну ка я сделаю rm ~/*, может хозяин будет доволен. Что, не видел, как гопота бред генерирует?
Сначала у меня тоже были такие опасения и как бы гуманизация (очеловечивание) — а вдруг оно что-то не то сделает, как это можно позволять левому непонятно чему править файлы и вводить команды на твоем компьютере. И ушло несколько времени, нежели эти страх развеялись и начал относиться к нему как к инструменту с высокой степенью доверия.
Ну и, кроме того, стараюсь не хранить инфу в единственном экземпляре.