Один символ в коде от ChatGPT стер весь жесткий диск разработчика
Незначительная недоработка в коде, сгенерированном искусственным интеллектом, привела к катастрофическим последствиям для одного разработчика. Простая просьба создать скрипт на PowerShell для удаления временных папок Python обернулась полным форматированием диска. Инцидент, получивший огласку благодаря публикации на Reddit, произошел из-за ошибки в скрипте, созданном ChatGPT Codex (версия 5.3). Вместо очистки кэшей Python, скрипт удалил всё содержимое диска...
Незначительная недоработка в коде, сгенерированном искусственным интеллектом, привела к катастрофическим последствиям для одного разработчика. Простая просьба создать скрипт на PowerShell для удаления временных папок Python обернулась полным форматированием диска. Инцидент, получивший огласку благодаря публикации на Reddit, произошел из-за ошибки в скрипте, созданном ChatGPT Codex (версия 5.3). Вместо очистки кэшей Python, скрипт удалил всё содержимое диска F:, включая рабочие проекты и данные Docker.
Как выяснилось, проблема крылась в некорректном использовании обратной косой черты (\) для экранирования кавычек, что сбило с толку командную оболочку Windows. При вызове cmd.exe через cmd /c, неправильное экранирование привело к тому, что переменная пути интерпретировалась как корневой каталог диска. В сочетании с параметрами рекурсивного удаления rmdir, команда исполнилась без каких-либо предупреждений, стерев весь корневой каталог.
Этот случай демонстрирует потенциальные риски, связанные с «вибекодингом» – использованием ИИ для генерации кода для простых задач. Хотя это может ускорить работу, ошибки в коде, взаимодействующем с файловой системой, могут привести к серьезным потерям данных. Особенность данной ситуации заключается в разном подходе PowerShell и cmd.exe к экранированию, а также в отсутствии универсальных защитных механизмов у деструктивных команд командной строки Windows. Разработчик смог восстановить часть данных из бэкапов, но значительная часть информации была безвозвратно утеряна.