Обновление Chrome 120 содержит патчи для пяти опасных уязвимостей

Обновление Chrome 120 содержит патчи для пяти опасных уязвимостей

Обновление Chrome 120 содержит патчи для пяти опасных уязвимостей

Сегодня Google выпустила обновление Chrome 120, которое важно установить не только из-за нового дизайна (стало чище и легче, на наш взгляд), но и благодаря патчам для девяти уязвимостей.

О шести пропатченных дырах Google узнала от сторонних исследователей в области кибербезопасности. Пять брешей получили высокую степень риска (4 являются классическим примером use-after-free).

В уведомлении разработчики отмечают, что корпорация выплатила специалистам 50 тысяч долларов за выявленные проблемы в безопасности. Согласно суммам вознаграждений, наиболее опасной брешью считают несоответствие типов данных (type confusion) в JavaScript-движке V8.

Этот баг получил идентификатор CVE-2023-6702 и принёс исследователям 16 тысяч долларов.

Оставшиеся четыре уязвимости высокой степени риска содержатся в компонентах Blink, libavif, WebRTC и FedCM. За первые три Google выплатила 7 тыс. долларов, за последнюю — $6000.

В CSS также пропатчили use-after-free, но она представляет лишь среднюю степень риска. Обнаруживший её эксперт получил 7000 долларов.

Что касается других нововведений, девелоперы добавили возможность настраивать внешний вид Chrome, улучшили функциональность закладок и дообработали дизайн по части расположение полезных инструментов.

ИИ написал эмулятор NES: Donkey Kong запустили прямо в браузере

Разработчик-энтузиаст Родриго Делдука решил проверить, на что на самом деле способен ИИ в «настоящем» программировании — и добился неожиданного результата. Он сумел заставить Claude сгенерировать рабочий эмулятор NES, пусть и с оговорками. Причём не просто абстрактный код, а вполне функциональный проект, на котором можно запустить, например, Donkey Kong прямо в браузере.

Эмулятор был создан в виде набора Lua-скриптов, которые работают поверх собственного 2D-движка Делдуки — Carimbo.

ИИ сгенерировал отдельные модули для процессора NES, графического чипа (PPU), ввода, шины данных и других компонентов. Всё это действительно «оживает» и взаимодействует между собой так, как должен работать настоящий эмулятор.

NES — одна из самых популярных платформ для эмуляции — консоль старая, картриджная и относительно простая по архитектуре, поэтому её часто используют как учебный пример или тестовую площадку для новых технологий. Но даже на этом фоне задача написать эмулятор — это уже не «крестики-нолики» и не Minesweeper. Тут важны точный тайминг, синхронизация компонентов и корректная эмуляция железа.

 

Исходники проекта Делдука выложил на GitHub, и по ним хорошо видно, насколько всё это сложно даже в минимальной реализации. Названия файлов говорят сами за себя: CPU, PPU, Input, Bus — каждый элемент NES вынесен в отдельный скрипт, и все они должны работать как единый механизм.

Важную роль здесь играет Lua — лёгкий, быстрый и встраиваемый язык с открытой лицензией MIT, который Claude умеет генерировать без особых проблем. А движок Carimbo, написанный на C++23 и использующий SDL, изначально поддерживает Lua-скрипты и умеет работать не только на десктопе, но и на мобильных платформах и в браузере через WebAssembly.

Правда, без ложки дёгтя не обошлось. По словам самого автора и отзывам пользователей, эмулятор получился медленным. В комментариях кто-то иронично заметил, что «цена ИИ-кода» — это падение производительности в 40 раз по сравнению с другими браузерными NES-эмуляторами, да ещё и без звука. Для контраста Делдука вспоминает, как в конце 1990-х играл в NESticle на Pentium 120 — и всё летало.

Тем не менее сам факт остаётся впечатляющим: ИИ смог собрать сложную систему, а не просто игрушечный пример. Да, это не замена ручной разработке и не промышленное качество, но как эксперимент — результат более чем показательный.

Протестировать всё это добро можно здесь, поиграв в Donkey Kong.

RSS: Новости на портале Anti-Malware.ru