GitHub выкатил ИИ-инструмент, дополняющий и предлагающий строки кода

GitHub выкатил ИИ-инструмент, дополняющий и предлагающий строки кода

GitHub выкатил ИИ-инструмент, дополняющий и предлагающий строки кода

GitHub представил нововведение, которое использует искусственный интеллект для помощи разработчикам в написании кода. В частности, новый инструмент может дополнять и предлагать строки кода или даже целые функции (по аналогии с предиктивным набором текста).

Проект получил имя GitHub Copilot, а для его разработки GitHub потребовалась помощь OpenAI. Самих разработчиков инструмент, конечно же, не заменит, но зато сможет существенно упростить им жизнь.

Создатели GitHub Copilot обучили своё нововведение на миллиардах строк кода, большая часть которых располагалась на самой площадке GitHub. Работает это так: если вы пишете код, GitHub Copilot отображает вам предложения, которыми можно воспользоваться для более быстрой работы.

Чтобы определить, над чем именно вы работаете в конкретный момент, GitHub Copilot пытается парсить закомментированные куски, а также имена функций, которые вы используете. Несколько демозаписей можно увидеть на официальном веб-сайте.

 

Например, вы можете описать функцию на примитивном английском в комментарии, а затем перевести её в настоящий код. А если вы кодите каждый день, GitHub Copilot может использоваться для работы с новым фреймворком или библиотекой.

При этом не обязательно изучать документацию от начала до конца, поскольку GitHub Copilot уже знает специфические функции и фичи конкретного фреймворка. Инструмент также легко интегрируется с Visual Studio Code — вы можете использовать его как расширение или же задействовать облачный вариант с GitHub Codespaces.

Со временем GitHub Copilot будет обучаться и совершенствоваться, а в настоящее время он лучше всего работает с Python, JavaScript, TypeScript, Ruby и Go.

Контроллер памяти AMD научили обходить аппаратную изоляцию

Исследователь Кристофер Домас опубликовал PoC-проект skitter-creek-bath-salts, демонстрирующий обход аппаратной защиты памяти на процессорах AMD Family 16h. Техника манипулирует настройками контроллера DRAM и позволяет обращаться к областям, которые должны быть недоступны даже операционной системе, ядру и коду с привилегиями ring 0.

Обычно программные и аппаратные механизмы контролируют доступ по физическим адресам.

Но последнюю точку в маршруте ставит контроллер памяти: он переводит адрес в конкретные координаты DRAM — канал, ранг, банк, строку и столбец.

Домас показал, что изменение одного регистра может перенастроить это преобразование уже после срабатывания вышестоящих средств защиты. В результате появляется альтернативный адрес, ведущий к тем же ячейкам DRAM. Охраняемый вход остаётся заперт, но контроллер внезапно рисует вторую дверь прямо в стене.

 

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

Для поиска адресов-двойников проект использует линейную алгебру и SMT-решатель Z3. Инструменты восстанавливают связь между обычным и изменённым отображением памяти, после чего вычисляют алиас для защищённой области.

Исследователь продемонстрировал потенциальный доступ к памяти AMD Platform Security Processor, включая данные fTPM, защищённой области System Management Mode, состояниям процессора C6 и хранилищу микрокода. Последний сценарий допускает не только извлечение копии патча, но и её возможное изменение перед восстановлением состояния ядра.

PoC проверяли только на AMD Family 16h. Данных об аналогичной уязвимости в новых AMD, Intel, ARM или RISC-V нет.

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