TGViewer
DevSecOps Talks DevSecOps Talks @devsecops_weekly · 8.04K subscribers
Post #1331 3.21K
От 2500 до 20 Warning с использованием CodeQL

Всем привет!

В рамках аудита OpenVPN2 команда Trail of Bits столкнулась с нюансом: компилятор выдавал порядка 2500 сработок (warnings) о неявных преобразованиях типа.

Это достаточно большой объем для «ручной разметки» и надо было что-то делать. Не все из указанных сработок явно влияли на информационную безопасность и были вполне себе «доброкачественными».

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

Именно этому и посвящена статья! После небольшой вводной об ИБ-проблематике неявного преобразования типов Авторы описывают алгоритм, который позволил им сократить итоговую выборку до 20 штук.

Он состоит из шагов:
🍭 Анализ существующих CodeQL Query. Ни одна не подошла ввиду повышенной «шумности»
🍭 Найти все «проблемные» преобразования типов
🍭 Оптимизация результатов, полученных на предыдущем шаге
🍭 Использование taint tracking для того, чтобы сфокусироваться на данных, на которые может повлиять пользователь

На всех этапах описана CodeQL Query и как она видоизменялась, представлены комментарии Авторов почему они решили сделать именно так.

Полученная Query общедоступна и располагается вот тут на случай, если вы хотите ее использовать для анализа своего проекта.

Помимо этого, есть еще Case Study (~ 37 страниц), в котором Авторы более детально описывают реализованный ими подход к анализу.
The Trail of Bits Blog Taming 2,500 compiler warnings with CodeQL, an OpenVPN2 case study We created a CodeQL query that reduced 2,500+ compiler warnings about implicit conversions in OpenVPN2 to just 20 high-priority cases, demonstrating how to effectively identify potentially dangerous type conversions in C code.
  • 👍 5
More from @devsecops_weekly
  1. Sep 28, 2026Композиционный анализ C/C++ проектов Всем привет! Разрешить зависимости, сформировать SBoM…
  2. Sep 25, 2026Метрики масштабирования в Kubernetes Всем привет! (Автоматическое) масштабирование – крайн…
  3. Sep 24, 2026Pluto AI: анализ безопасности кода Всем привет! Сегодня хотим рассказать про ещё один скан…
  4. Sep 23, 2026🔄Поздравляем победителей розыгрыша! Спасибо всем, кто принял участие в наших исследования…
  5. Sep 23, 2026Kubernetes Architecture in Financial Services Всем привет! В приложении можно найти электр…
  6. Sep 22, 2026KubeBuddy: анализ ресурсов Kubernetes Всем привет! KubeBuddy – CLI-утилита, которая анализ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →