После обширного тестирования GitHub открыл в открытом доступе функцию сканирования кода на уязвимости. Любой желающий может запустить сканер на собственном репозитории и найти уязвимости до того, как они пойдут в продакшн.
Как сообщает Engadget, сканер основан на технологии CodeQL, которую разработала компания Semmle, купленная GitHub в 2019 году.
Сканер действует для репозиториев на C, C++, C#, JavaScript, TypeScript, Python и Go. Если уязвимости будут обнаружены, сканер предложит разработчику пересмотреть свой код и укажет на проблемное место. Включить функцию можно во вкладке Security.
«Новая функция помогает предотвратить попадание уязвимостей в рабочую среду, анализируя каждый pull request, коммит и слияние, распознавая уязвимый код сразу после его создания», – сообщает GitHub.
Code Scanning работает поверх CodeQL — технологии, которую GitHub интегрировала в свою платформу после того, как в сентябре 2019 года приобрела аналитическую платформу Semmle. По сути это позволит разработчикам создавать правила для обнаружения разных версий одного и того же бага в больших массивах кода.
Пользователи уже могут использовать для своих репозиториев 2000 запросов CodeQL, которые создал GitHub и с их помощью автоматически проверить наличие самых основных уязвимостей в новом коде.
Кроме того, сканер можно дополнить настраиваемыми шаблонами CodeQL, написанными владельцами репозиториев, или путем подключения сторонних решений или коммерческих SAST-продуктов.
По информации GitHub, новая функция уже использовалась более чем для 1,4 миллиона сканирований 12 000 репозиториев и помогла выявить свыше 20000 уязвимостей, включая уязвимости удаленного выполнения кода (RCE), SQL-инъекции и межсайтовый скриптинг (XSS).