🔬 Исследователи решили «допилить» CodeQL с помощью LLM
Большинство SAST движков работают через data flow analysis (DFA).
Система пытается ответить вопрос, может ли пользовательский input добраться до опасной операции? Однако built-in rules часто знают только «популярные» фреймворки и ограниченный набор propagation patterns.
Если используются нестандартные framework или кастомные wrapper, то flow фактически исчезает из анализа.
🧠 LLM как переводчик
Исследователи решили использовать LLM для автоматического обнаружения sources и sinks внутри open-source framework’ов.
Модель анализировала код библиотек и помогала определять:
🔹 откуда реально приходит user-controlled input
🔹 какие API являются опасными
🔹 как данные передаются через абстрактные слои
Дальше всё это превращалось в кастомные правила для CodeQL.
Идея оказалась довольно жизнеспособной, но исследователи пошли дальше.
🧪 А потом они полезли в кишки CodeQL
Вторая часть исследования: авторы начали патчить сам Data Flow Engine.
Добавили поддержку вещей, на которых анализ традиционно ломался:
🔹 Java reflection
🔹 partial native methods
🔹 сложные value-passing scenarios
🔹 propagation через language-specific edge cases
Идея была увеличить количество наблюдаемых execution paths внутри анализа.
📈 Цифры
После расширения framework coverage исследователи получили 15% дополнительных data flow поверх стандартных правил CodeQL.
Кроме того, им удалось воспроизвести 50+ исторических CVE, которые оригинальный CodeQL раньше не видел.
Вдобавок было выявлено 5 новых CVE, включая уязвимости, ранее не детектируемые стандартным пайплайном.
Возможно, ближайшее будущее AppSec это LLM-enhanced SAST, где модель постоянно расширяет карту data flow и учит scanner видеть то, что раньше было слепой зоной.
🔗 Презентация: https://i.blackhat.com/BH-USA-25/Presentations/USA-25-More-Flows-More-Bugs-Empowering.pdf
Stay secure and read SecureTechTalks 📚
#кибербезопасность #AI #LLM #SAST #CodeQL #AppSec #StaticAnalysis #DevSecOps #CyberSecurity #SecureTechTalks
Большинство SAST движков работают через data flow analysis (DFA).
Система пытается ответить вопрос, может ли пользовательский input добраться до опасной операции? Однако built-in rules часто знают только «популярные» фреймворки и ограниченный набор propagation patterns.
Если используются нестандартные framework или кастомные wrapper, то flow фактически исчезает из анализа.
🧠 LLM как переводчик
Исследователи решили использовать LLM для автоматического обнаружения sources и sinks внутри open-source framework’ов.
Модель анализировала код библиотек и помогала определять:
🔹 откуда реально приходит user-controlled input
🔹 какие API являются опасными
🔹 как данные передаются через абстрактные слои
Дальше всё это превращалось в кастомные правила для CodeQL.
Идея оказалась довольно жизнеспособной, но исследователи пошли дальше.
🧪 А потом они полезли в кишки CodeQL
Вторая часть исследования: авторы начали патчить сам Data Flow Engine.
Добавили поддержку вещей, на которых анализ традиционно ломался:
🔹 Java reflection
🔹 partial native methods
🔹 сложные value-passing scenarios
🔹 propagation через language-specific edge cases
Идея была увеличить количество наблюдаемых execution paths внутри анализа.
📈 Цифры
После расширения framework coverage исследователи получили 15% дополнительных data flow поверх стандартных правил CodeQL.
Кроме того, им удалось воспроизвести 50+ исторических CVE, которые оригинальный CodeQL раньше не видел.
Вдобавок было выявлено 5 новых CVE, включая уязвимости, ранее не детектируемые стандартным пайплайном.
Возможно, ближайшее будущее AppSec это LLM-enhanced SAST, где модель постоянно расширяет карту data flow и учит scanner видеть то, что раньше было слепой зоной.
🔗 Презентация: https://i.blackhat.com/BH-USA-25/Presentations/USA-25-More-Flows-More-Bugs-Empowering.pdf
Stay secure and read SecureTechTalks 📚
#кибербезопасность #AI #LLM #SAST #CodeQL #AppSec #StaticAnalysis #DevSecOps #CyberSecurity #SecureTechTalks
👍2