Сканирование кода
Автоматический анализ кода для обнаружения уязвимостей безопасности, багов и проблем качества кода, обычно интегрированный в CI/CD пайплайны.
Определение
Сканирование кода — это SAST (Static Application Security Testing), интегрированный в рабочие процессы разработки. GitHub Code Scanning использует CodeQL, движок семантического анализа, который запрашивает код как базу данных. GitLab имеет SAST-шаблоны, платформы Snyk и SonarCloud предлагают похожие возможности. Сканирования запускаются на pull requests и блокируют мерж при обнаружении критических проблем.
Почему это важно
Сканирование кода обнаруживает уязвимости до продакшна, когда их дешевле всего исправить. GitHub Advanced Security нашёл более 50 000 CVE в open-source коде. Сканируя каждый PR, команды поддерживают базовый уровень безопасности и предотвращают регрессии.
Пример
Разработчик открывает PR с конкатенацией SQL. GitHub Code Scanning обнаруживает риск SQL-инъекции, добавляет предупреждение на уязвимую строку и блокирует мерж PR до исправления проблемы.