Goodbye C++: AI Will Rewrite Critical Code into Secure Rust
Проблема безопасности софта годами упиралась в человеческий фактор: переписывать тонны кода с небезопасных C и C++ на Rust слишком долго и дорого. Инициатива Gr

Мир цифровых технологий до сих пор держится на костылях, созданных еще в прошлом веке. Огромная часть критической инфраструктуры — от банковских систем до государственных баз данных — написана на языках C и C++. Эти языки дают программисту огромную власть над памятью компьютера, но, как мы знаем, большая власть влечет за собой и чудовищные ошибки. Около 70 процентов всех современных уязвимостей в программном обеспечении связаны именно с некорректной работой с памятью. Это те самые дыры, через которые хакеры десятилетиями пролезают в защищенные системы. Раньше у нас не было выхода: переписывать миллионы строк старого кода вручную было слишком дорого, долго и просто скучно для квалифицированных инженеров.
Ситуация изменилась с появлением Rust. Этот язык программирования, запущенный в 2015 году, обещает ту же производительность, что и C++, но с встроенными «предохранителями», которые физически не дают совершить фатальные ошибки при работе с памятью. Проблема в том, что Rust — язык сложный, а экспертов по нему в разы меньше, чем любителей классики. И вот тут на сцену выходит искусственный интеллект. Новая инициатива под названием Great Refactor предлагает использовать нейросети для того, чтобы наконец-то разгрести эти авгиевы конюшни устаревшего кода. Идея проста: если люди не хотят или не могут переписать интернет на безопасный лад, пусть это сделают машины.
Институт прогресса (Institute for Progress) запустил проект, цель которого — конвертировать 100 миллионов строк открытого кода в Rust к 2030 году. На это просят ни много ни мало 100 миллионов долларов. Кажется, что сумма внушительная, но руководитель проекта Херби Брэдли из Кембриджа быстро ставит всё на свои места. По его расчетам, такие инвестиции помогут предотвратить кибератаки с суммарным ущербом около 2 миллиардов долларов. Это не просто экономия, это вопрос выживания цифровой экосистемы, которая становится всё более хрупкой под натиском автоматизированных хакерских инструментов.
Технически задача выглядит уже не такой фантастической, как пару лет назад. Современные LLM-модели вполне прилично справляются с переводом небольших кусков кода до 1000 строк почти без присмотра. С небольшим контролем со стороны человека нейросети уже «переваривают» проекты до 5000 строк. Главная сложность здесь не в том, чтобы код просто заработал. Важно, чтобы он был «идиоматичным». На языке программистов это означает, что код должен выглядеть так, будто его написал живой эксперт по Rust, соблюдая все лучшие практики и традиции. Если AI выдаст нечитаемую кашу, которую невозможно поддерживать, то весь смысл рефакторинга теряется.
В игру уже вступило и оборонное агентство DARPA со своей программой TRACTOR. Они исследуют гибридный подход: сочетание классического статического анализа кода, который оттачивался десятилетиями, и современных генеративных моделей. Это логично, ведь нейросети склонны к галлюцинациям, а в вопросах безопасности критического софта цена ошибки — это не просто упавший сайт, а потенциальный коллапс систем жизнеобеспечения. Пока результаты первых тестов показывают, что AI может быть отличным подмастерьем, но роль главного архитектора всё равно остается за человеком.
Существует и скептическое мнение. Опытные разработчики опасаются, что массовый перевод кода на Rust создаст дефицит кадров для его поддержки. Экспертов по Rust мало, и если мы внезапно получим миллионы новых строк кода на этом языке, кто будет следить за их актуальностью через пять лет? Кроме того, государственное финансирование таких масштабов — вещь неповоротливая. Возможно, частному сектору придется взять инициативу в свои руки, тем более что технологические гиганты вроде Google и Microsoft уже давно начали переводить свои ключевые компоненты на Rust своими силами. Проект Great Refactor же нацелен на «длинный хвост» маленьких библиотек, которые поддерживаются парой волонтеров и при этом лежат в основе половины мирового софта.
Главное: Станет ли AI тем самым «серебряным мечом», который убьет уязвимости памяти, или мы просто заменим старые баги на новые, сгенерированные нейросетью?