Модель показала, как быстро падает защита без песочницы.
Новый браузер, написанный с нуля без чужого кода, взломали всего за несколько часов. И сделал это не человек, а модель искусственного интеллекта.
Проект Ladybird – браузер, который пишут с нуля, принципиально не заимствуя код у других. Внутри работает собственный движок JavaScript под названием LibJS. Часть компонентов уже переводят на язык Rust, но значительная доля, включая компонент, обрабатывающий веб-страницы, и модуль WebAssembly, пока остаётся на C++.
Такой «чистый» проект выглядел удобной проверкой: сможет ли искусственный интеллект найти уязвимость там, где нет истории прошлых взломов и чужого кода. До сих пор подобные системы опирались на накопленные знания о старых атаках – например, на движки JavaScriptCore или V8. У Ladybird такой базы не было.
Эксперимент провели с участием модели Claude . Ей дали исходный код браузера – и уже через несколько часов она смогла выполнить произвольную команду в системе. Причина оказалась в ошибке класса use-after-free : указатель на данные типизированного массива устаревал, когда память WebAssembly повторно увеличивалась. В результате появлялась возможность читать и записывать произвольные данные в памяти.
Позже выяснилось, что похожую уязвимость несколькими днями ранее нашёл разработчик под ником tsune. Исправление уже добавили в код, но оно оказалось неполным. Первая версия устраняла проблему только частично, и вариант, найденный Claude, обходил защиту.
Быстро воспользоваться уязвимостью удалось не только из-за способностей модели. Движки JavaScript во многом похожи друг на друга: стандарты и требования к производительности приводят к одинаковым архитектурным решениям. Даже новый проект вроде Ladybird в итоге повторяет знакомые схемы, которые ранее уже изучили специалисты.
Гораздо интереснее разница в защите. В современных браузерах вроде Safari или Chrome подобная цепочка атаки не сработала бы. Там применяются дополнительные уровни безопасности: память изолируют, указатели проверяют, а процессы, обрабатывающие веб-контент, жёстко ограничивают. В Ladybird такие механизмы пока не реализованы, поэтому атака прошла без особых препятствий.
Разработчики Ladybird отреагировали спокойно и разрешили сразу публиковать информацию об уязвимости – без ограничений. Пока браузер не вышел в стабильный релиз, команда считает допустимым открыто обсуждать подобные проблемы.
Новый браузер, написанный с нуля без чужого кода, взломали всего за несколько часов. И сделал это не человек, а модель искусственного интеллекта.
Проект Ladybird – браузер, который пишут с нуля, принципиально не заимствуя код у других. Внутри работает собственный движок JavaScript под названием LibJS. Часть компонентов уже переводят на язык Rust, но значительная доля, включая компонент, обрабатывающий веб-страницы, и модуль WebAssembly, пока остаётся на C++.
Такой «чистый» проект выглядел удобной проверкой: сможет ли искусственный интеллект найти уязвимость там, где нет истории прошлых взломов и чужого кода. До сих пор подобные системы опирались на накопленные знания о старых атаках – например, на движки JavaScriptCore или V8. У Ladybird такой базы не было.
Эксперимент провели с участием модели Claude . Ей дали исходный код браузера – и уже через несколько часов она смогла выполнить произвольную команду в системе. Причина оказалась в ошибке класса use-after-free : указатель на данные типизированного массива устаревал, когда память WebAssembly повторно увеличивалась. В результате появлялась возможность читать и записывать произвольные данные в памяти.
Позже выяснилось, что похожую уязвимость несколькими днями ранее нашёл разработчик под ником tsune. Исправление уже добавили в код, но оно оказалось неполным. Первая версия устраняла проблему только частично, и вариант, найденный Claude, обходил защиту.
Быстро воспользоваться уязвимостью удалось не только из-за способностей модели. Движки JavaScript во многом похожи друг на друга: стандарты и требования к производительности приводят к одинаковым архитектурным решениям. Даже новый проект вроде Ladybird в итоге повторяет знакомые схемы, которые ранее уже изучили специалисты.
Гораздо интереснее разница в защите. В современных браузерах вроде Safari или Chrome подобная цепочка атаки не сработала бы. Там применяются дополнительные уровни безопасности: память изолируют, указатели проверяют, а процессы, обрабатывающие веб-контент, жёстко ограничивают. В Ladybird такие механизмы пока не реализованы, поэтому атака прошла без особых препятствий.
Разработчики Ladybird отреагировали спокойно и разрешили сразу публиковать информацию об уязвимости – без ограничений. Пока браузер не вышел в стабильный релиз, команда считает допустимым открыто обсуждать подобные проблемы.
- Источник новости
- www.securitylab.ru