本页内容

Qt 中的安全性

Qt 的安全性依赖于 Qt Group 和 Qt Project 创建并维护的基础设施。该基础设施涵盖开发、测试和构建环境。例如,已建立完善的代码审查流程、使用静态分析器和模糊测试工具的测试流程、第三方组件的测试,以及针对每个版本的进一步防病毒测试。 Qt 还建立了一套处理安全漏洞的成熟流程。

使用 Qt 的应用程序或设备的安全性,是应用程序开发者、作为 Qt 框架提供方的 Qt Group 和 Qt Project,以及运营商或设备制造商共同承担的责任。有关各自义务和职责范围的概述,请参阅《Qt 共享安全模型》。

Qt 项目安全政策

Qt 项目在QUIP 15 中规定了其安全政策。安全政策概要如下:

  • QtCore设有核心安全团队,负责执行安全政策并处理相关问题。
  • 预防安全问题的主动措施——代码审查、代码分析、模糊测试等。
  • 安全问题报告:Qt Core 团队负责监控 Qt 模块及受影响的第三方组件中的安全问题。
  • 安全问题的处理:维护者、核心安全团队、首席维护者以及 Qt Group 共同处理和解决安全问题。
  • 已确认的安全问题将在“通用漏洞与暴露”(CVE)数据库中披露,并通过 Qtannounce@qt-project.org邮件列表向公众发布公告。

    您可以访问Qt 项目邮件列表信息页面订阅该邮件列表。

报告安全问题

请将开源 Qt 中的漏洞报告至security@qt-project.org。对于 Qt Group 的商业产品,您也可以联系psirt@qt.io。

Qt Group 的《协调漏洞披露政策》详细说明了可用的报告渠道、Qt Group 和 Qt Project 对负责任地披露漏洞的研究人员的承诺,以及响应和披露的时间表。

Qt 目前尚未设立漏洞赏金计划。

Qt 漏洞

当技术专家确认 Qt 产品中存在安全问题时,将创建一个“通用漏洞与暴露”(CVE)条目。CVE 由一个 ID 和描述组成。随着时间的推移,还会添加更多的元数据。

对于 Qt 产品,The Qt Company 作为负责的CVE 编号机构(CNA)管理 CVE 的创建流程。该公司不仅会在《Qt 产品已知漏洞列表》中列出新的 CVE,还会向中央 CVE 数据库提交相关信息。

为了唯一标识受漏洞影响的产品,CVE 条目采用通用平台枚举(CPE)格式。对于 Qt 框架中的问题,此类 CPE 中的供应商和产品部分均为qt:qt 。例如,一个假设的、影响 Qt 6.12.0 的 CVE 将具有以下 CPE:

cpe:2.3:a:qt:qt:6.12.0:*:*:*:*:*:*:*

软件物料清单 (SBOM)

从 Qt 6.8 开始,Qt 安装包中包含软件物料清单 (SBOM) 文档,其中以 SPDX 格式提供了有关已安装 Qt 模块、软件包和第三方组件的信息。自 Qt 6.11 起,SBOM 文档还提供 CycloneDX 格式版本。 请使用上述任一格式的文档来跟踪已安装的 Qt 软件包,以进行漏洞管理和许可证合规性检查。

不可信数据

Qt 的多个模块会处理用户输入和可执行资源等数据。Qt 期望应用程序开发人员能够妥善处理不可信数据。如果某个 Qt API 在应用程序进行处理之前就获取并处理了不可信数据,则 Qt 会将该 API 视为安全关键型 API。安全关键型 API 在开发过程中会接受额外的审查和测试。

一般而言,应尽可能避免使用来自未知来源的未处理数据,并在处理数据时执行安全措施。Qt 提供了多种数据处理机制,例如用户输入验证器。

有关更多信息,请参阅《处理不可信数据》。

开发工具

Qt 框架随附了一系列开发工具,这些工具在构建 Qt 应用程序时会在您的构建机器上运行,例如Meta-Object Compiler (moc)、Resource Compiler (rcc)以及各种代码和资源生成器。这些工具将其处理的项目视为可信输入,并不构成安全边界。 因此,构建您不信任的项目可能会导致在您的构建机器上执行代码。

有关更多信息,请参阅《安全使用 Qt 开发工具》。

权限

Qt 6.5 引入了一个用于处理权限的跨平台权限 API。该权限 API 适用于与用户相关的私有数据和硬件,例如联系人列表、日历、摄像头和麦克风。

有关更多信息,请参阅《应用程序权限》。

扩展的安全维护

我们理解,您的产品生命周期可能长于我们针对特定 Qt 版本提供的常规支持周期。现在,我们为使用已结束支持 (EoS) 版本 Qt 的客户提供维护服务。

“扩展安全维护”(ESM)订阅服务可让您在支持终止(EoS)后,继续获取针对特定长期支持(LTS)版本中Qt 库的“关键漏洞与安全”(CVS)维护补丁。

ESM 服务适用于以下版本:

版本ESM 自
Qt 5.15 LTS2025-05-26
Qt 6.5 LTS2026-03-30

有关更多信息,请参阅Qt 支持。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.