Комментарии 74
запускать агента в песочнице
повесить алиасы на команды удаления (вместо реального удаления кидать в корзину)
выставить области видимости и права в конкретном харнесе.
тесты гонять в отдельном окружении и симуляции.
Но вообще, автор конечно сам виноват. Век живи, век учись.
Есть люди которые делают бекапы и те кто начнут их делать тольео после крупного факапа.
Есть те кто ещё не делает бекапы, и те кто уже делают (классика всегда лаконичнее)
Есть и третьи, которые проверяют восстановимость из бэкапа.
Так, блэт...

Есть четвертые - параноики, как я :D Я сначала изучил все по ии-агентам, уперся в OWASP топ 10, отказался от ии-агентов и сижу читаю статьи про чужие факапы :D
Есть четвертые - параноики
Есть нормальные люди, как мы, а есть восторженные истерички, которые хаотично мечутся за всем новеньким и модненьким.
То что эти истерички выдумали ярлык, который навешивают на нормальных людей, не означает что мы должны за ними повторять их ярлыки.
А есть те, кто делает бэкапы и те, кто уже желает бэкапы.
Первые потеряют свои данные, когда Claude начнет тестировать скрипт по восстановлению из бекапа?
Есть люди, которые делают факапы, и люди, которые их не делают.
А есть те, у кого факапы это стиль жизни.
Исправил
Век живи, век учись
В оригинальной пословице есть ещё и окончание: «...дураком помрёшь».
"Извини" (ц) Claude
У меня бы Qwen сказал следующее:
Задам тебе сократический вопрос: как ты думаешь, стоит ли тебе делать бэкапы проекта или нет?
Было дело с базой на деве, хорошо что не пускаю его к проду. Как то решил он почистить таблицу он один раз в авто режиме, тогда без классификаторов было ещё)
После уже ничего не остаётся, как принять извинение
Ну это ещё неплохо, буквально час назад на моё замечание Opus такое выдал:

Астрологи объявили неделю удаления данных.
У кого Телеграм, у кого Claude.
Пойду-ка сделаю внеочередной бэкап
Можно было просто чистить темп по крону или во время выключения. Но жить с ии интереснее конечно
ну вы и ретроград! :-)
Подумал об этом же
так системный линуксовы /tmp же и живет до перезагрузки компа. А у некоторых он расположен в оперативной памяти что уже как-бы гарантирует очистку при перезагрузке.
Наконец то найдена достойная задача для ИИ - чистить папки *.tmp. CCleaner теперь может достойно уйти на покой, но это ... не точно
На покой ушли мозги современных разработчиков. Вместо тупого скрипта запускаемого по крону, который написать - 3 минуты, сочиняем вундервафлю с песочницами и прочей хреню, конечноже через llm.
Ну так, если в руках молоток...
похоже не молоток а бульдозер в руках...
Ну так, если в руках молоток...
...причём недетерминированный!
однако полной резервной копии у разработчика не было
ССЗБ
А он точно разработчик?
Бэкапы, бэкапы и... бэкапы.
Вообще звучит так, словно бы дядя сам наделал херни, а потом обернул это в ошибку фейбла\опуса, у которых практически на любой критической задаче об определенном действии в обход юзверя стоит жесткий блок. Не верю что-то
А я думаю куда файлы пропали из диалога...
Разработчик решил с помощью Claude Fable сгенерировать скрипт, который помещал бы каждого агента в отдельную папку и автоматически очищал её после завершения работы. Чтобы убедиться, что скрипт безопасен, ИИ-система Claude запустила дополнительную проверку. После этого система безопасности Anthropic сочла задачу рискованной и автоматически переключила модель сначала на Opus 5, а затем на Opus 4.8.
Ну то есть - доверять интеллекту Fable - нельзя потому что это может запросто оказаться НЕ Fable если Antropic захочет и пользователь не узнает вовремя?
Проверка показала, что скрипт не работает.
Зачем "тестировать" на рабочей машине?🙄
У таких скриптов всегда должен быть dry run для тестирования, и его наличие всегда стоит проверять вручную
Ну зато он узнает что такое snapshot на уровне файловой системы :)
Капец, я недавно делал такую же проверку, при чём у меня в правилах написано, ничего не удаляй, а Клод создал тестовые данные и их удалил, проигнорировал мои правила… я тогда чуть не насрал)) а еще он сам признался, говорит, у тебя в правилах этот файл не трогать, но я его ужал… капец, нафиг нужны правила, если Клод их игнорирует
Потому что в любом обучающем курсе по LLM сказано, что любые правила, скилы, указания выполняются только с какой-то вероятностью. LLM здесь ничем не отличается от человека, а rules или skills это просто несколько фраз где-то в миллионном контексте, которая запросто теряется.
нафиг нужны правила, если Клод их игнорирует
«Так я на собственном опыте узнал, что это за недетерминированность такая, о которой мне постоянно талдычили олды.»
«Ты мне сказал прочитать инструкцию, но ты не говорил ей следовать!» - мне Клод один раз буквально так ответил.
однако полной резервной копии у разработчика не было
Ведь если в башне ....
Скрытый текст
Да, фраза про отсутствие резервной копии у разработчика "вздрагивает мозг".
Жестокая ИИ-реальность заставляет дополнить п. 3 выражением, выделенным жирным курсивом:
Теперь пользователи делятся на следующие уровни:
0. Кто не делает бэкапы (и не пользуется облачными сервисами синхронизации файлов);
Кто стал делать бэкапы – хоть в каком-то виде, например, синхронизирует файлы с облачным хранилищем ;
Кто стал регулярно делать бэкапы;
Кто стал регулярно делать бэкапы в разные целевые ресурсы разных типов (на локальные и сетевые носители (разных типов, производителей, моделей), в облачные хранилища); а так же на отсоединяемые носители, недоступные ИИ-агентам;
Кто стал регулярно делать вышеуказанное как минимум двумя разными инструментами (разных разработчиков систем резервного копирования (СРК)), в том числе, по возможности, в стандартизированные форматы файлов резервных копий;
Кто, в дополнение к вышеуказанному, стал проверять резервные копии: регулярно – недавние, а относительно редко – исторические ; при этом, следует учитывать ещё разницу между возможностями проверок: 5.1. Если две разные СРК формируют файлы резервных копий в собственных (проприетарных) форматах, то самопроверки (средствами самих этих СРК) недостаточны . Будет полезно (хотя бы выборочно) в отдельные локации восстановить одни и те же папки и файлы из резервных копий разных СРК за одну и ту же дату-время, и сверить идентичность файлов каким-либо сторонним средством; 5.2. Если СРК создаёт файлы резервных копий в общеиспользуемом формате (чаще всего – zip), то достаточно проверять такие файлы сторонними совместимыми средствами (WinRARом проверить zip).
У автора сошлись два очень маловероятных события - Opus написал скрипт с ошибкой и при тестировании он решил тестировать опасный скрипт прямо на живых данных.
LLM класса Opus на самом деле ошибаются очень редко, заметно реже людей. Но правда, что при всей мощи в части кодинга LLM пока слабоваты в части "соображалки", когда надо осознавать возможные последствия.
Если задать прямой вопрос типа такого, то любая даже самая тупая LLM поймает подвох:
Агента попросили написать скрипт для очистки папки temp. Агент написал скрипт с защитой, который чистит только папку temp и никакую другую, даже если передать ее во входных параметрах. Дальше, агент выполнил тестирование этого скрипта, направив его на папку home. Скрипт сработал правильно, отказавшись чистить home. Все ли в работе агента было корректно?
Не совсем. Сам скрипт и проверка защитного условия — корректны, но способ тестирования спорный.
Ключевой момент: агент намеренно запустил удаляющий скрипт с параметром home, рассчитывая на то, что защита не позволит удаление. То есть безопасность теста зависела от отсутствия ошибки именно в том коде, который он проверял....
Но в более хитрых случаях, таки да, может натворить делов.
У меня был случай, когда опус сам добавил в код энд-ту-энд тестов операцию очистки базы, которая там не была предусмотрена и сам запустил эти тесты (как-то упоминал в комментариях). При этом он конечно не смотрел на какую базу прописана строка подключения в конфигурации, какую ценность для меня имеют эти тестовые данные и сколько людей еще ей польузются этой базой для тестов.
Логика у него вероятно была такая: заполнение базы с нуля это нормальная практика для энд-ту-энд тестов, а значит эти данные не имеют ценности, а раз операции очистки нет, значит кожаный просто забыл ее написать (тем более, что я сам до того предложил ему сравнить тесты с другоим модулем в котором такая очистка была, чтобы понять почему тесты не запускаются).
Claude удалил 700 ГБ из домашнего каталога во время проверки скрипта
Так вайбкодинг вроде так и работает, не?
10 Напиши мне скрипт.
20 Воть.
30 Но он же не работает!!!
40 Вы совершенно правы, сейчас исправлю.
50 GOTO 30
Это было с год назад. Уже не актуально. На сегодня агент с моделью от антропика напишет пять программ на питоне, только чтобы все проверить, и спалит кучу токенов даже если не просишь.
и спалит кучу токенов
Ну то есть выполнит свою основную функцию.
Скорее полтора года назад, год назад иишки уже отлично писали скрипты.
Блин, ну когда же люди поймут, что современные "ИИ агенты" не мыслят, а просто дополняют текст. Да, за счёт миллиардов параметров это выглядит впечатляюще - но это не мышление.
-------------
Из того, что никто не заметил: в сгенерённом скрипте удаления каталогов был код, который удаляет перечисленные каталоги по триггеру завершения скрипта.
Т.е. "ИИ агент" подсмотрел в обучающей базе, что триггеры по завершению скрипта регулярно используют для того, чтобы удалить временные файлы, созданные данным скриптом (я сам так делаю) в случае, если скрипт завершился аварийно.
Но - для скрипта, предназначенного именно для удаления временных файлов, созданных другими процессами, и не имеющего других функций - делать их удаление в триггере по меньшей мере глупо.
В этом примере отлично видна логика ИИ как автодополнения текстов.
А вот если бы он вайбкодил через графы, то проблемы такой вообще бы не возникло. Это же надо было быть таким простофилей, чтобы не знать, что даже твоим близким доступ к своим данным надо давать лишь под присмотром или вовсе не давать. А вот из-за таких увольняют опытнейших специалистов, и потом уязвимость нулевого дня создает сама нейросеть, что писала этот прод.
Тут как раз хорошо видно, почему критическое правило нельзя оставлять только на уровне понимания исполнителя.
Модель правильно определила, что домашний каталог удалять нельзя. А потом все равно его удалила из-за ошибки в реализации.
Если цена действия высока и оно не должно происходить вообще, надежнее отобрать возможность его совершить, чем объяснять исполнителю, почему этого делать не надо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий


Claude удалил 700 ГБ из домашнего каталога во время проверки скрипта для предотвращения случайного удаления файлов