GitHub запустил систему машинного обучения для поиска уязвимостей в коде

Логотип GitHub

GitHub представлен несколько дней назад добавление эксперименты с системой машинного обученияl к услуге сканирования кода для выявления распространенных типов уязвимостей В коде. При этом технология анализа кода GitHub на основе CodeQL была переработана и теперь использует машинное обучение (ML) для поиска потенциальных уязвимостей в коде.

И это тот GitHub приобрел технологию для CodeQL в рамках приобретения Semmie. CodeQL используется группами исследователей безопасности для выполнения семантического анализа кода, и GitHub сделал его открытым.

С помощью этих моделей CodeQL может идентифицировать больше ненадежных пользовательских потоков данных и, следовательно, больше потенциальных уязвимостей безопасности.

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

Из проблем, выявленных новой системой, упоминаются ошибки, приводящие к межсайтовому скриптингу (XSS), искажению путей к файлам (например, через указание «/..»), подмене запросов SQL и NoSQL.

Сканирование кода теперь может найти больше потенциальных уязвимостей безопасности, используя новую модель глубокого обучения. Эта экспериментальная функция доступна в общедоступной бета-версии для репозиториев JavaScript и TypeScript на GitHub.com.

Новый инструмент GitHub fue выпущен как бесплатная общедоступная бета-версия Для всех пользователей эта функция использует машинное обучение и глубокое обучение для сканирования баз кода и выявления общих уязвимостей безопасности до того, как продукт будет отправлен.

Экспериментальная функция в настоящее время доступна для всех пользователей платформы, включая пользователей GitHub Enterprise, в качестве расширенной функции безопасности GitHub, и ее можно использовать для проектов, написанных на JavaScript или TypeScript.

С быстрым развитием экосистемы с открытым исходным кодом постоянно увеличивается длинный хвост библиотек, которые используются реже. Мы используем примеры из созданных вручную запросов CodeQL для обучения моделей глубокого обучения распознаванию библиотек с открытым исходным кодом, а также библиотек с закрытым исходным кодом, разработанных внутри компании.

Инструмент предназначен для поиска четырех наиболее распространенных уязвимостей которые влияют на проекты, написанные на этих двух языках: межсайтовый скриптинг (XSS), внедрение маршрута, внедрение NoSQL и внедрение SQL.

Служба сканирования кода позволяет обнаруживать уязвимости на ранней стадии разработки, сканируя каждую операцию git push на наличие потенциальных проблем.

Результат прикрепляется непосредственно к пулл-реквесту. Раньше проверка производилась с помощью движка CodeQL, который анализирует шаблоны с типовыми примерами уязвимого кода (CodeQL позволяет сгенерировать шаблон уязвимого кода для выявления наличия аналогичной уязвимости в коде других проектов).

Благодаря новым возможностям анализа Code Scanning может генерировать еще больше предупреждений для четырех распространенных шаблонов уязвимостей: межсайтовый скриптинг (XSS), внедрение пути, внедрение NoSQL и внедрение SQL. Вместе эти четыре типа уязвимостей представляют собой многие из последних уязвимостей (CVE) в экосистеме JavaScript/TypeScript, и улучшение возможности сканирования кода для обнаружения таких уязвимостей на ранних этапах процесса разработки является ключом к тому, чтобы помочь разработчикам писать более безопасный код.

Новый механизм машинного обучения может выявлять ранее неизвестные уязвимости потому что он не привязан к повторению паттернов кода, описывающих конкретные уязвимости. Цена такой возможности — увеличение количества ложных срабатываний по сравнению с проверками на основе CodeQL.

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

Также важно отметить, что на стадии тестирования новая функциональность в настоящее время доступна только для репозиториев с кодом JavaScript и TypeScript.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.