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

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

К инициативе уже присоединились исследователи безопасности из компаний F5, Google, HackerOne, Intel, IOActive, J.P. Morgan, LinkedIn, Microsoft, Mozilla, NCC Group, Oracle, Trail of Bits, Uber и
VMWare, которые за последние два года выявили и помогли исправить 105 уязвимостей в таких проектах, как Chromium, libssh2, ядре Linux, Memcached, UBoot, VLC, Apport, HHVM, Exiv2, FFmpeg, Fizz, libav, Ansible, npm, XNU, Ghostscript, Icecast, Apache Struts, strongSwan, Apache Ignite, rsyslog, Apache Geode и Hadoop.

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

Через интерфейс GitHub теперь можно получить CVE-идентификатор для выявленной проблемы и подготовить отчёт, а GitHub уже сам разошлёт необходимые уведомления и организует их скоординированное исправление. Более того, после устранения проблемы GitHub автоматически отправит pull-запросы для обновления связанных с уязвимым проектом зависимостей.

GitHub также ввёл в стой каталог уязвимостей GitHub Advisory Database, в котором публикуются сведения о уязвимостях, затрагивающих проекты на GitHub, и информация для отслеживания подверженных проблемам пакетов и репозиториев. Упоминаемые в комментариях на GitHub CVE-идентификаторы автоматически теперь ссылаются на детальную информацию об уязвимости в представленной БД. Для автоматизации работы с БД предложен отдельный API.

Также сообщается об обновлении сервиса для защиты от попадания в публично доступные репозитории
конфиденциальных данных, таких как токены аутентификации и ключи доступа. Во время коммита сканер проверяет типовые форматы ключей и токенов, используемые 20 облачными провадерами и сервисами, включая API Alibaba Cloud, Amazon Web Services (AWS), Azure, Google Cloud, Slack и Stripe. В случае выявления токена сервис-провайдеру направляется запрос для подтверждения утечки и отзыва скомпрометированных токенов. Со вчерашнего дня, помимо ранее поддерживаемых форматов, добавлена поддержка определения токенов GoCardless, HashiCorp, Postman и Tencent.