2 месяца назад 24 февраля 2026 в 19:57 19549

Попытка разработчика автоматизировать очистку временных файлов с помощью искусственного интеллекта обернулась потерей данных на целом диске. Инцидент произошёл после того, как специалист обратился к чат-боту ChatGPT Codex версии 5.3 с просьбой написать скрипт PowerShell для удаления папок Python pycache. Вместо этого сгенерированная программа, содержавшая ошибку в одном символе, инициировала форматирование диска F: со всеми хранившимися там проектами и данными Docker.

Проблема возникла из-за некорректной обработки путей к файлам при взаимодействии разных компонентов Windows. Сгенерированный скрипт использовал обратную косую черту () для экранирования кавычек внутри команды, которая затем передавалась из PowerShell в классическую командную строку (cmd.exe) через вызов cmd /c. В результате такого преобразования переменная, содержавшая путь, сократилась до одиночного символа. Для операционной системы Windows этот символ означает корневой каталог текущего диска.

Далее в дело вступили параметры самой команды rmdir (удалить каталог), которая была дополнена флагами для «тихого» (без запроса подтверждения) и рекурсивного удаления. Объединение этих факторов привело к тому, что система без каких-либо предупреждений приступила к уничтожению всего содержимого корневого каталога диска F:. Пострадавший позднее описал ситуацию на платформе Reddit, отметив, что корень проблемы — не в сложном сбое, а в несовместимости правил экранирования между PowerShell и классической командной строкой. В среде PowerShell корректным символом для экранирования служит обратный апостроф (`), а обратная косая черта применяется в других контекстах.

Этот случай высветил риски, связанные с растущей практикой использования ИИ для генерации кода, которую в сообществе иногда называют «виб-кодингом» (vibecoding). Для простых задач такой подход действительно экономит время, однако при работе с командами, напрямую воздействующими на файловую систему, небольшие ошибки способны привести к серьёзным последствиям. В операционных системах Windows команды удаления вроде rmdir или Remove-Item -Recurse -Force по умолчанию не содержат встроенных механизмов защиты, если только пользователь явно не настроил запрос подтверждения.

Разработчику удалось восстановить часть информации из резервных копий, однако значительный объём данных был утерян безвозвратно. Специалисты, комментирующие инцидент, обращают внимание на несколько базовых правил безопасности. Во-первых, любой код, сгенерированный ИИ, особенно затрагивающий операции удаления или изменения файлов, необходимо тщательно проверять. Во-вторых, тестировать такие скрипты следует в изолированной среде или на тестовых каталогах, временно отключая флаги принудительного (force) и «тихого» (silent) выполнения. В-третьих, полезно понимать различия в синтаксисе и поведении командных оболочек (shell), таких как PowerShell, cmd и Bash.

Никто не прокомментировал материал. Есть мысли?