补充的 Windows 驱动程序 CodeQL 查询

本部分列出并介绍了一些 CodeQL 查询 ,这些查询包含在 Microsoft GitHub CodeQL 存储库 中,这些查询特定于 Windows 平台的驱动程序开发。

查询列表

查询名称 说明

WDK 已弃用 API

查找已弃用的池分配 API 的实例

UseAfterFree

在驱动程序源代码 (高精度) 查找 UseAfterFree 缺陷的选择实例

可能 UseAfterFree

查找驱动程序源代码中几乎所有 UseAfterFree 缺陷的实例 (低精度)

PaddingByteInformationDisclosure

检查新分配的结构或按成员初始化的类,因为它们在包含填充字节时可能会泄露信息。

BadOverflowGuard

通过比较加法的参数之一来检查加法的溢出。 如果所有参数类型的大小都小于 4 个字节,则失败。

InfiniteLoop

查找循环条件中不同宽度的类型之间的比较,这可能导致循环无法终止。

UninitializedPtrField

查找在 或 期间未初始化的指针字段,因为类构造将导致 null 指针取消引用。

HardcodedIVCNG

查找初始化向量的不正确用法。