Поделиться через


Дополнительные CodeQL-запросы для драйверов Windows

This section lists and describes a handful of CodeQL queries that are included as part of the Microsoft GitHub CodeQL repository that are specific to driver development for the Windows platform.

Список запросов

Query Name Description

Устаревший API WDK

Находит экземпляры нерекомендуемых API выделения пула

UseAfterFree

Находит экземпляры дефектов UseAfterFree в исходном коде драйвера (высокая точность)

Probable UseAfterFree

Находит почти все экземпляры дефектов UseAfterFree в исходном коде драйвера (низкая точность)

PaddingByteInformationDisclosure

Проверяет наличие новых выделенных структур или классов, которые инициализированы по члену, так как они могут утечки информации, если они включают заполнение байтов.

BadOverflowGuard

Проверка переполнения дополнения путем сравнения с одним из аргументов добавления. Завершается ошибкой, если размер всех типов аргументов меньше 4 байтов.

InfiniteLoop

Находит сравнения между типами разных ширин в условии цикла, что может привести к сбою цикла.

UninitializedPtrField

Ищет поле указателя, которое не было инициализировано во время или с момента создания класса, приведет к разыменовке указателя NULL.

HardcodedIVCNG

Находит неправильное использование векторов инициализации.