CodeQL 和 Static Tools 徽标测试概述

了解 CodeQL 如何通过确保第三方驱动程序满足严格的安全标准,帮助减少 Windows 的攻击面。 本文介绍将 CodeQL 用于 WHCP 符合性的好处。

设置此安全栏的一个步骤是 Windows 硬件兼容性计划 (WHCP)的要求,该计划指出所有驱动程序提交都必须在驱动程序源代码上使用 CodeQL 引擎,并修复被视为 “必须修复”的任何冲突。

了解 CodeQL 概念

CodeQL 是开发人员用来对实时环境外部的代码执行安全分析的静态分析引擎。

CodeQL 在编译过程中引入代码,并从中生成数据库。 数据库将成为包含可查询数据的目录、源引用和日志文件。 生成数据库后,可以通过利用 CodeQL 查询(也称为检查或规则)对其运行分析,这将确定源代码是否包含冲突或安全漏洞。

CodeQL 提供了一个标准查询库,用于检查语言正确性和语义,为希望确保代码没有 bug 和漏洞的开发人员提供极大的价值。

CodeQL 还提供生成自定义查询的选项。

若要了解有关编写自定义查询的详细信息,请参阅 CodeQL 文档中的 “编写查询 ”。

CodeQL 还提供 CodeQL 命令行工具(CLI), 用于执行 CodeQL 操作或进行大规模分析。

CodeQL 入门中找到其他 CodeQL CLI 文档。

CodeQL 如何增强驱动程序安全性

CodeQL(由 GitHub 提供)是一个强大的语义代码分析引擎,将广泛的高价值安全查询套件与可靠的平台相结合,使其成为保护驱动程序代码的宝贵工具。

硬件 实验室工具包(HLK) 最终用户许可协议允许使用 CodeQL 进行 WHCP 测试。

对于 WHCP 参与者,HLK 的 EULA 通过声明,CodeQL 可以在自动化分析、CI 或 CD 的过程中使用,作为正常工程过程的一部分,以便分析要提交并认证为 WHCP 一部分的驱动程序,从而覆盖 GitHub 关于 CodeQL 的条款和条件。

静态工具徽标测试强制实施此要求来分析驱动程序源代码并修复任何 *必须修复的冲突。

重要

Windows 硬件兼容性计划要求在我们的客户端和服务器操作系统上使用 CodeQL 进行静态工具徽标 (STL) 测试。 我们将继续在旧版产品上维护对 SDV 和 CA 的支持。 我们强烈建议合作伙伴查看 静态工具徽标测试的 CodeQL 要求。

HLK EULA 和 CodeQL

根据 硬件实验室工具包(HLK) 最终用户许可协议,可以接受用于 Windows 硬件兼容性计划测试的 CodeQL 的使用。

对于 WHCP 参与者,HLK 的 EULA 会替代 GitHub 的 CodeQL 条款和条件,从而允许在自动化分析、CI 或 CD 期间 使用 CodeQL 作为正常工程过程的一部分,以分析提交 WHCP 认证的驱动程序。

对于正在使用 CodeQL 的用户,请阅读 GitHub CodeQL 条款和条件,或者 联系 CodeQL