GitHub обновил свой движок CodeQL, внедрив декларативные модели безопасности, что позволяет разработчикам легче настраивать анализ кода. Это обновление упрощает добавление кастомизированных санитайзеров и валидаторов без необходимости глубоких знаний языков запросов.
Проблемы традиционного анализа
Ранее расширение логики обнаружения уязвимостей в статическом анализе требовало глубоких знаний, что часто ставило команды разработчиков в затруднительное положение. Теперь, с введением декларативного подхода, команды могут использовать расширения на базе YAML, что значительно повышает доступность и масштабируемость методов безопасности приложений.
Обновленный CodeQL позволяет разработчикам настраивать контроль за прослеживанием недоверенных данных, задавая функции, которые нейтрализуют или проверяют данные. Два новых предиката — barrierModel и barrierGuardModel — обеспечивают это функционал. Это означает, что разработчики могут определять, где недовольные данные должны быть остановлены, повышая точность анализа.
Широкая поддержка языков программирования
Новое обновление охватывает множество языков программирования, включая C/C++, C#, Go, Java/Kotlin, JavaScript/TypeScript, Python, Ruby и Rust. Такой широкий спектр делает CodeQL полезным инструментом для компаний с многоязычными кодовыми базами, позволяя стандартизировать правила безопасности без дублирования усилий.
Тенденция перехода от разработки на основе кода к использованию структурированных данных для управления логикой безопасности помогает упростить процесс версионирования и обмена данными между командами. Это обновление также призвано ускорить внедрение практик безопасности, позволяя разработчикам адаптировать модели без необходимости в специализированном обучении по языку запросов CodeQL.
Выводы для команд разработчиков
Для российских разработчиков это обновление может стать важным шагом в сторону более надежных подходов к безопасности приложений. Возможность настраивать анализ под конкретные нужды внутреннего кода снизит количество ложных срабатываний и улучшит обнаружение реальных уязвимостей. Таким образом, компании смогут оптимизировать процессы и повысить качество своих продуктов.
Следующий шаг для GitHub — внедрение еще большего числа интеграций с системами безопасности, что позволит улучшить предоставляемые инструменты и повысит удовлетворенность пользователей.