diff --git a/2025/docs/zh-Hant/0x00_2025-Introduction.md b/2025/docs/zh-Hant/0x00_2025-Introduction.md
new file mode 100644
index 000000000..a88b1b135
--- /dev/null
+++ b/2025/docs/zh-Hant/0x00_2025-Introduction.md
@@ -0,0 +1,107 @@
+
+
+# 十大最关键 Web 应用安全风险
+
+# 引言
+
+欢迎阅读第 8 版 OWASP Top Ten!
+
+衷心感谢所有在问卷中贡献数据和观点的人。没有你们,本版不可能完成。**谢谢你们!**
+
+## OWASP Top 10:2025 简介
+
+* [A01:2025 - 失效的访问控制](A01_2025-Broken_Access_Control.md)
+* [A02:2025 - 安全配置错误](A02_2025-Security_Misconfiguration.md)
+* [A03:2025 - 软件供应链失效](A03_2025-Software_Supply_Chain_Failures.md)
+* [A04:2025 - 加密机制失效](A04_2025-Cryptographic_Failures.md)
+* [A05:2025 - 注入](A05_2025-Injection.md)
+* [A06:2025 - 不安全设计](A06_2025-Insecure_Design.md)
+* [A07:2025 - 认证失效](A07_2025-Authentication_Failures.md)
+* [A08:2025 - 软件或数据完整性失效](A08_2025-Software_or_Data_Integrity_Failures.md)
+* [A09:2025 - 安全日志记录和告警失效](A09_2025-Security_Logging_and_Alerting_Failures.md)
+* [A10:2025 - 异常条件处理不当](A10_2025-Mishandling_of_Exceptional_Conditions.md)
+
+## 2025 年 Top 10 有哪些变化
+
+2025 年 Top Ten 包含两个新增类别和一次类别合并。我们尽可能继续把重点放在根因而不是症状上。考虑到软件工程和软件安全本身的复杂性,要创建十个完全没有重叠的类别基本不可能。
+
+
+
+* **[A01:2025 - 失效的访问控制](A01_2025-Broken_Access_Control.md)** 保持第 1 位,是最严重的应用安全风险;贡献数据表明,平均 3.73% 的受测应用存在本类别 40 个 CWE 中的一个或多个弱点。上图中的虚线表示服务端请求伪造(SSRF)已并入此类别。
+* **[A02:2025 - 安全配置错误](A02_2025-Security_Misconfiguration.md)** 从 2021 年的第 5 位上升到 2025 年的第 2 位。在本轮数据中,配置错误更为普遍。3.00% 的受测应用存在本类别 16 个 CWE 中的一个或多个弱点。随着软件工程继续把越来越多的应用行为交给配置驱动,这并不意外。
+* **[A03:2025 - 软件供应链失效](A03_2025-Software_Supply_Chain_Failures.md)** 是对 [A06:2021 - 易受攻击和过时的组件](https://owasp.org/Top10/A06_2021-Vulnerable_and_Outdated_Components/) 的扩展,覆盖软件依赖、构建系统和分发基础设施整个生态内或跨生态发生的更大范围危害事件。该类别在社区问卷中以压倒性优势被选为最受关注的问题。它包含 5 个 CWE,在收集数据中的体现有限;我们认为这是由于测试难度较高,并希望测试能力在这一领域逐步跟上。该类别在数据中的发生次数最少,但来自 CVE 的平均可利用性和影响分数最高。
+* **[A04:2025 - 加密机制失效](A04_2025-Cryptographic_Failures.md)** 排名从第 2 位下降两位到第 4 位。贡献数据表明,平均 3.80% 的应用存在本类别 32 个 CWE 中的一个或多个弱点。该类别通常会导致敏感数据暴露或系统被攻陷。
+* **[A05:2025 - 注入](A05_2025-Injection.md)** 排名从第 3 位下降两位到第 5 位,相对于加密机制失效和不安全设计的位置保持不变。注入是测试最充分的类别之一,本类别 38 个 CWE 关联的 CVE 数量最多。注入覆盖从跨站脚本(高频率、低影响)到 SQL 注入(低频率、高影响)等一系列问题。
+* **[A06:2025 - 不安全设计](A06_2025-Insecure_Design.md)** 排名从第 4 位下滑两位到第 6 位,被安全配置错误和软件供应链失效超过。该类别于 2021 年引入,我们已经看到行业在威胁建模方面有明显改进,并且更加重视安全设计。
+* **[A07:2025 - 认证失效](A07_2025-Authentication_Failures.md)** 保持第 7 位,名称略有变化(此前为 [Identification and Authentication Failures](https://owasp.org/Top10/A07_2021-Identification_and_Authentication_Failures/)),以更准确地反映该类别中的 36 个 CWE。该类别仍然重要,但标准化认证框架的使用增加似乎正在降低认证失效的发生频率。
+* **[A08:2025 - 软件或数据完整性失效](A08_2025-Software_or_Data_Integrity_Failures.md)** 继续位列第 8。该类别关注在比软件供应链失效更低一层的位置,未能维护信任边界并验证软件、代码和数据工件完整性的问题。
+* **[A09:2025 - 安全日志记录和告警失效](A09_2025-Security_Logging_and_Alerting_Failures.md)** 保持第 9 位。名称略有变化(此前为 [Security Logging and Monitoring Failures](https://owasp.org/Top10/A09_2021-Security_Logging_and_Monitoring_Failures/)),用于强调告警功能的重要性:相关日志事件需要触发适当行动。没有告警的高质量日志,在识别安全事件时价值很有限。该类别在数据中一直会被低估,本次也再次由社区问卷参与者投票进入列表。
+* **[A10:2025 - 异常条件处理不当](A10_2025-Mishandling_of_Exceptional_Conditions.md)** 是 2025 年新增类别。它包含 24 个 CWE,关注错误处理不当、逻辑错误、失效开放以及系统可能遇到的异常条件所引发的其他相关场景。
+
+## 方法论
+
+本版 Top Ten 仍然受数据启发,但不会盲目由数据驱动。我们基于贡献数据对 12 个类别排序,并允许社区问卷的反馈推动或突出其中两个类别。这样做有一个基本原因:审视贡献数据,本质上是在回看过去。应用安全研究人员需要投入时间识别新的漏洞并开发新的测试方法。将这些测试集成到工具和流程中可能需要数周到数年。等我们能够大规模可靠测试某个弱点时,可能已经过去多年。还有一些重要风险,我们也许永远无法可靠测试,并在数据中呈现。为了平衡这种视角,我们使用社区问卷,询问一线应用安全和开发从业者,他们看到哪些关键风险可能在测试数据中体现不足。
+
+## 类别如何构建
+
+与上一版 OWASP Top Ten 相比,部分类别有所变化。下面从较高层面概述这些类别变化。
+
+在本次迭代中,我们收集数据时不再像 2021 版那样限制 CWE 范围。我们要求提供从 2021 年开始某一年度测试的应用数量,以及测试中发现至少一个 CWE 实例的应用数量。这种格式让我们能够跟踪每个 CWE 在应用总体中的普遍程度。我们会忽略频次;虽然频次在其他场景可能有必要,但它会掩盖风险在应用总体中的实际普遍性。一个应用中有 4 个 CWE 实例还是 4000 个实例,并不会影响 Top Ten 的计算。尤其是人工测试人员通常只会列出一次漏洞,无论它在应用中重复出现多少次;自动化测试框架则会把同一类漏洞的每个实例都列为独立问题。我们从 2017 年约 30 个 CWE,到 2021 年近 400 个 CWE,再到本版数据集中用于分析的 589 个 CWE。我们计划未来补充更多数据分析。CWE 数量的大幅增加也要求我们调整类别结构。
+
+我们花了数月对 CWE 进行分组和分类,而且本可以继续投入更多时间。但总要在某个时间点停止。CWE 中既有根因类型,也有症状类型;根因类型如“加密机制失效”和“配置错误”,症状类型如“敏感数据暴露”和“拒绝服务”。我们决定尽可能关注根因,因为这更有利于提供识别和修复指导。关注根因而不是症状并不是新概念;Top Ten 一直是症状和根因的混合。CWE 本身也是症状和根因的混合;我们只是更有意识地指出这一点。本版每个类别平均包含 25 个 CWE,下限是 A03:2025-软件供应链失效和 A09:2025 安全日志记录和告警失效的 5 个 CWE,上限是 A01:2025-失效的访问控制的 40 个 CWE。我们决定将每个类别中的 CWE 数量上限设为 40。更新后的类别结构也带来额外培训价值,因为企业可以聚焦于对其语言或框架有意义的 CWE。
+
+有人问我们,为什么不改成类似 MITRE Top 25 Most Dangerous Software Weaknesses 的“10 个 CWE 列表”。我们在类别中使用多个 CWE 主要有两个原因。第一,并不是所有 CWE 都存在于所有编程语言或框架中。这会给工具和培训/意识计划带来问题,因为 Top Ten 的部分内容可能并不适用。第二,常见漏洞往往对应多个 CWE。例如,通用注入、命令注入、跨站脚本、硬编码密码、缺少验证、缓冲区溢出、敏感信息明文存储等都有多个 CWE。不同组织或测试人员可能会使用不同 CWE。通过使用包含多个 CWE 的类别,我们可以提升基线认知,让大家了解同一通用类别名称下可能出现的不同类型弱点。在 2025 版 Top Ten 中,10 个类别共包含 248 个 CWE。在本版发布时,[MITRE 可下载字典](https://cwe.mitre.org)中共有 968 个 CWE。
+
+## 数据如何用于选择类别
+
+与 2021 版类似,我们使用 CVE 数据来衡量 *Exploitability* 和 *(Technical)Impact*。我们下载 OWASP Dependency Check,提取 CVSS Exploit 和 Impact 分数,并按 CVE 关联的 CWE 分组。这需要相当多的研究和处理,因为所有 CVE 都有 CVSSv2 分数,但 CVSSv2 存在一些 CVSSv3 试图修正的问题。某个时间点之后,所有 CVE 也都会分配 CVSSv3 分数。此外,CVSSv2 和 CVSSv3 的评分范围与公式也发生了变化。
+
+在 CVSSv2 中,Exploit 和(技术)Impact 最高都可以达到 10.0,但公式会把它们分别压低到 60% 和 40%。在 CVSSv3 中,理论最高值被限制为 Exploit 6.0、Impact 4.0。按权重计算后,CVSSv3 中 Impact 分数平均提高了将近 1.5 分,而可利用性平均降低了将近 0.5 分。
+
+从 OWASP Dependency Check 提取的国家漏洞数据库(NVD)中,大约有 17.5 万条 CVE 记录映射到 CWE(高于 2021 年的 12.5 万条)。此外,有 643 个唯一 CWE 映射到 CVE(高于 2021 年的 241 个)。在提取的近 22 万条 CVE 中,16 万条有 CVSS v2 分数,15.6 万条有 CVSS v3 分数,6000 条有 CVSS v4 分数。许多 CVE 同时有多个分数,因此这些数量相加会超过 22 万。
+
+对 Top Ten 2025,我们按以下方式计算平均可利用性和影响分数。我们将所有带 CVSS 分数的 CVE 按 CWE 分组,然后按拥有 CVSSv3 的数据比例以及剩余 CVSSv2 数据的比例,对可利用性和影响分数进行加权,得到总体平均值。我们把这些平均值映射回数据集中的 CWE,用作风险公式另一半的 Exploit 和(技术)Impact 评分。
+
+为什么不使用 CVSS v4.0?因为它的评分算法发生了根本变化,不再像 CVSSv2 和 CVSSv3 那样容易提供 *Exploit* 或 *Impact* 分数。我们会尝试为未来版本的 Top Ten 找到使用 CVSS v4.0 评分的方法,但在 2025 版中未能及时确定可行方式。
+
+## 为什么使用社区问卷
+
+数据中的结果很大程度上受限于行业能够通过自动化方式测试到的内容。和有经验的 AppSec 专业人员交流时,他们会告诉你,他们发现的问题和看到的趋势还没有进入数据。人们需要时间为某些漏洞类型开发测试方法,随后还需要更多时间将这些测试自动化,并在大量应用上运行。我们发现的一切都在回看过去,可能遗漏上一年出现、但尚未进入数据的趋势。
+
+因此,由于数据并不完整,我们只从数据中选择十个类别中的八个。另外两个类别来自 Top 10 社区问卷。这让一线从业者可以投票选出他们认为最高风险、但可能不在数据中(甚至可能永远无法用数据表达)的类别。
+
+## 感谢数据贡献者
+
+以下组织(以及几位匿名捐赠者)慷慨捐赠了超过 280 万个应用的数据,帮助我们建立了规模最大、覆盖最全面的应用安全数据集。没有你们,这不可能实现。
+
+* Accenture (Prague)
+* Anonymous (multiple)
+* Bugcrowd
+* Contrast Security
+* CryptoNet Labs
+* Intuitor SoftTech Services
+* Orca Security
+* Probely
+* Semgrep
+* Sonar
+* usd AG
+* Veracode
+* Wallarm
+
+## 主要作者
+
+* Andrew van der Stock - X: [@vanderaj](https://x.com/vanderaj)
+* Brian Glas - X: [@infosecdad](https://x.com/infosecdad)
+* Neil Smithline - X: [@appsecneil](https://x.com/appsecneil)
+* Tanya Janca - X: [@shehackspurple](https://x.com/shehackspurple)
+* Torsten Gigler - Mastodon: [@torsten_gigler@infosec.exchange](https://infosec.exchange/@torsten_gigler)
+
+## 记录问题和拉取请求
+
+请在以下位置提交修正或问题:
+
+### 项目链接:
+
+* [主页](https://owasp.org/www-project-top-ten/)
+* [GitHub 仓库](https://github.com/OWASP/Top10)
+
diff --git a/2025/docs/zh-Hant/0x01_2025-About_OWASP.md b/2025/docs/zh-Hant/0x01_2025-About_OWASP.md
new file mode 100644
index 000000000..76bd4b51b
--- /dev/null
+++ b/2025/docs/zh-Hant/0x01_2025-About_OWASP.md
@@ -0,0 +1,36 @@
+# 关于 OWASP
+
+Open Worldwide Application Security Project (OWASP) 是一个开放社区,致力于帮助组织开发、采购和维护可信的应用程序与 API。
+
+在 OWASP,你可以免费、开放地获取:
+
+- 应用安全工具和标准
+- 前沿研究
+- 标准安全控制和库
+- 关于应用安全测试、安全代码开发和安全代码审查的完整书籍
+- 演示文稿和[视频](https://www.youtube.com/user/OWASPGLOBAL)
+- 涵盖许多常见主题的[速查表](https://cheatsheetseries.owasp.org/)
+- 在世界各地和线上举办的[分会会议](https://owasp.org/chapters/)
+- [活动、培训和大会](https://owasp.org/events/)
+- [Google Groups](https://groups.google.com/g/owasp)
+
+了解更多信息:[https://owasp.org](https://owasp.org)。
+
+所有 OWASP 工具、文档、视频、演示文稿和分会都向任何有兴趣改进应用安全的人免费开放。
+
+我们倡导从人员、流程和技术三个方面看待应用安全,因为最有效的应用安全方法需要在这些方面同时改进。
+
+OWASP 是一种不同类型的组织。由于不受商业压力影响,我们能够提供公正、实用且成本可控的应用安全信息。
+
+OWASP 不隶属于任何技术公司,但我们支持在充分了解的前提下使用商业安全技术。OWASP 以协作、透明、开放的方式产出多种资料。
+
+OWASP Foundation 是保障项目长期发展的非营利实体。几乎所有与 OWASP 相关的人都是志愿者,包括 OWASP 董事会、分会负责人、项目负责人和项目成员。我们通过资助和基础设施支持创新性安全研究。
+
+欢迎加入我们!
+
+## 版权与许可
+
+
+
+版权所有 © 2003-2025 The OWASP® Foundation, Inc. 本文档基于 Creative Commons Attribution Share-Alike 4.0 许可发布。任何复用或分发都必须向他人明确说明本作品的许可条款。
+
diff --git a/2025/docs/zh-Hant/0x02_2025-What_are_Application_Security_Risks.md b/2025/docs/zh-Hant/0x02_2025-What_are_Application_Security_Risks.md
new file mode 100644
index 000000000..4c34a2b85
--- /dev/null
+++ b/2025/docs/zh-Hant/0x02_2025-What_are_Application_Security_Risks.md
@@ -0,0 +1,100 @@
+# 什么是应用安全风险?
+
+攻击者可能通过应用中的多条路径对你的企业或组织造成损害。每一种路径都代表一种需要调查的潜在风险。
+
+
+
+
+
+ |
+ 威胁主体
+ |
+
+ 攻击向量
+ |
+
+ 可利用性
+ |
+
+ 缺失安全控制的可能性
+ |
+
+ 技术影响
+ |
+
+ 业务影响
+ |
+
+
+ |
+ 由环境决定,随场景动态变化
+ |
+
+ 由应用暴露面决定(按环境)
+ |
+
+ 平均加权可利用性
+ |
+
+ 按平均发生率和覆盖率加权的缺失控制
+ |
+
+ 平均加权影响
+ |
+
+ 由业务决定
+ |
+
+
+
+在风险评级中,我们考虑了可利用性的通用参数、某项弱点缺失安全控制的平均可能性,以及它的技术影响。
+
+每个组织都是独特的,该组织面对的威胁行为者、他们的目标,以及任何安全事件造成的影响也各不相同。如果一个公益组织使用内容管理系统(CMS)发布公开信息,而一家医疗系统使用同一个 CMS 存储敏感健康记录,那么同一款软件面对的威胁主体和业务影响可能完全不同。因此,必须基于应用暴露面、场景中的适用威胁主体(包括按业务和位置划分的定向与非定向攻击),以及具体业务影响来理解组织自身的风险。
+
+## 数据如何用于选择类别并排序
+
+2017 年,我们按发生率选择类别以判断可能性,再由团队基于数十年经验讨论可利用性、可检测性(同样属于可能性)和技术影响后进行排序。2021 年,我们使用国家漏洞数据库(NVD)中 CVSSv2 和 CVSSv3 分数提供的可利用性与(技术)影响数据。2025 年,我们沿用 2021 年建立的方法。
+
+我们下载 OWASP Dependency Check,提取 CVSS Exploit 和 Impact 分数,并按相关 CWE 分组。这需要相当多的研究和处理,因为所有 CVE 都有 CVSSv2 分数,但 CVSSv2 存在一些 CVSSv3 试图修正的问题。某个时间点之后,所有 CVE 也都会分配 CVSSv3 分数。此外,CVSSv2 和 CVSSv3 的评分范围与公式也发生了变化。
+
+在 CVSSv2 中,Exploit 和(技术)Impact 最高都可以达到 10.0,但公式会把它们分别压低到 60% 和 40%。在 CVSSv3 中,理论最高值被限制为 Exploit 6.0、Impact 4.0。按权重计算后,在我们为 2021 Top Ten 进行分析时,CVSSv3 中 Impact 分数平均提高了将近 1.5 分,而可利用性平均降低了将近 0.5 分。
+
+从 OWASP Dependency Check 提取的国家漏洞数据库(NVD)中,大约有 17.5 万条 CVE 记录映射到 CWE(高于 2021 年的 12.5 万条)。此外,有 643 个唯一 CWE 映射到 CVE(高于 2021 年的 241 个)。在提取的近 22 万条 CVE 中,16 万条有 CVSS v2 分数,15.6 万条有 CVSS v3 分数,6000 条有 CVSS v4 分数。许多 CVE 同时有多个分数,因此这些数量相加会超过 22 万。
+
+对 Top Ten 2025,我们按以下方式计算平均可利用性和影响分数。我们将所有带 CVSS 分数的 CVE 按 CWE 分组,然后按拥有 CVSSv3 的数据比例以及剩余 CVSSv2 数据的比例,对可利用性和影响分数进行加权,得到总体平均值。我们把这些平均值映射回数据集中的 CWE,用作风险公式另一半的 Exploit 和(技术)Impact 评分。
+
+为什么不使用 CVSS v4.0?因为它的评分算法发生了根本变化,不再像 CVSSv2 和 CVSSv3 那样容易提供 *Exploit* 或 *Impact* 分数。我们会尝试为未来版本的 Top Ten 找到使用 CVSS v4.0 评分的方法,但在 2025 版中未能及时确定可行方式。
+
+对于发生率,我们计算某组织在一段时间内测试的应用群体中,受每个 CWE 影响的应用比例。再次说明,我们不使用频次(即某个问题在一个应用中出现多少次),我们关注的是应用总体中有多少比例被发现存在该 CWE。
+
+对于覆盖率,我们查看所有组织针对某个 CWE 测试过的应用比例。计算出的覆盖率越高,说明发生率的可信度越强,因为样本规模更能代表总体。
+
+本次迭代使用的公式与 2021 年类似,但权重有所调整:
+(最大发生率 % * 1000)+(最大覆盖率 % * 100)+(平均可利用性 * 10)+(平均影响 * 20)+(发生总数 / 10000)= 风险分数
+
+计算出的分数从“失效的访问控制”的 621.60 到“内存管理错误”的 271.08 不等。
+
+这不是一个完美系统,但对风险类别排序很有价值。
+
+另一个正在加剧的挑战是如何定义“应用”。随着行业转向由微服务和其他比传统应用更小的实现组成的架构,计算会变得更困难。例如,如果一个组织测试的是代码仓库,它把什么视为一个应用?与 CVSSv4 的发展类似,下一版 Top Ten 可能需要调整分析和评分方式,以适应持续变化的行业。
+
+## 数据因素
+
+每个 Top Ten 类别都会列出一些数据因素,含义如下:
+
+**映射的 CWE 数量:** Top Ten 团队映射到某个类别的 CWE 数量。
+
+**发生率:** 发生率是某组织在当年测试的应用群体中,受该 CWE 影响的应用比例。
+
+**加权可利用性:** 映射到 CWE 的 CVE 所分配的 CVSSv2 和 CVSSv3 Exploit 子分数,经过归一化后放到 10 分制中。
+
+**加权影响:** 映射到 CWE 的 CVE 所分配的 CVSSv2 和 CVSSv3 Impact 子分数,经过归一化后放到 10 分制中。
+
+**(测试)覆盖率:** 所有组织针对某个 CWE 测试过的应用比例。
+
+**发生总数:** 被发现存在该类别所映射 CWE 的应用总数。
+
+**CVE 总数:** NVD 数据库中映射到该类别所映射 CWE 的 CVE 总数。
+
+**公式:**(最大发生率 % * 1000)+(最大覆盖率 % * 100)+(平均可利用性 * 10)+(平均影响 * 20)+(发生总数 / 10000)= 风险分数
+
diff --git a/2025/docs/zh-Hant/0x03_2025-Establishing_a_Modern_Application_Security_Program.md b/2025/docs/zh-Hant/0x03_2025-Establishing_a_Modern_Application_Security_Program.md
new file mode 100644
index 000000000..c7dca3ddf
--- /dev/null
+++ b/2025/docs/zh-Hant/0x03_2025-Establishing_a_Modern_Application_Security_Program.md
@@ -0,0 +1,285 @@
+# 建立现代应用安全计划
+
+OWASP Top Ten 系列是安全意识文档,目的是让读者关注其覆盖主题中最关键的风险。它们不是完整清单,只是起点。在本清单的早期版本中,我们建议从建立应用安全计划开始,以避免这些风险以及更多问题。本节将说明如何启动并建设现代应用安全计划。
+
+如果你已经有应用安全计划,可以考虑使用 [OWASP SAMM(Software Assurance Maturity Model)](https://owasp.org/www-project-samm/)或 DSOMM(DevSecOps Maturity Model)对其进行成熟度评估。这些成熟度模型全面而细致,可帮助你判断扩展和成熟计划时应把精力放在哪里。请注意:做好应用安全并不需要完成 OWASP SAMM 或 DSOMM 中的所有事项;它们的作用是提供指导和许多选项。它们不是用来提出不可达成的标准,也不是用来描述无法负担的计划。它们覆盖范围很广,是为了给你提供更多思路和选择。
+
+如果你正从零开始建立计划,或者觉得 OWASP SAMM 或 DSOMM 对当前团队来说“过重”,请参考以下建议。
+
+### 1. 建立基于风险的资产组合方法:
+
+* 从业务角度识别应用资产组合的保护需求。这应部分由隐私法律以及与受保护数据资产相关的其他法规驱动。
+
+* 建立一个[通用风险评级模型](https://owasp.org/www-community/OWASP_Risk_Rating_Methodology),使用一致的可能性和影响因素,并反映组织的风险容忍度。
+
+* 按此方式衡量并优先排序所有应用和 API。将结果加入[配置管理数据库(CMDB)](https://de.wikipedia.org/wiki/Configuration_Management_Database)。
+
+* 建立保障指南,明确所需覆盖范围和严谨程度。
+
+### 2. 用坚实基础赋能:
+
+* 建立一组聚焦的策略和标准,为所有开发团队提供应遵循的应用安全基线。
+
+* 定义一组可复用的通用安全控制,与这些策略和标准相互补充,并为其使用提供设计和开发指导。
+
+* 建立应用安全培训课程体系,要求不同开发角色按主题完成有针对性的培训。
+
+### 3. 将安全集成到现有流程中:
+
+* 定义安全实现和验证活动,并将其集成到现有开发和运维流程中。
+
+* 活动包括威胁建模、安全设计和设计审查、安全编码和代码审查、渗透测试以及修复。
+
+* 为开发和项目团队提供主题专家和支持服务,帮助他们成功完成工作。
+
+* 审查当前系统开发生命周期以及所有软件安全活动、工具、策略和流程,并记录下来。
+
+* 对新软件,在系统开发生命周期(SDLC)的每个阶段加入一个或多个安全活动。下面我们提供许多可选建议。确保每个新项目或软件计划都执行这些新活动,这样你才能知道每个新软件都能以组织可接受的安全状态交付。
+
+* 选择活动时,应确保最终产品达到组织可接受的风险水平。
+
+* 对现有软件(有时称为遗留系统),你需要正式的维护计划。可以参考下方“运维和变更管理”部分中有关如何维护安全应用的建议。
+
+### 4. 应用安全教育:
+
+* 考虑为开发人员建立安全冠军计划,或更通用的安全教育计划(有时称为倡导计划或安全意识计划),教给他们你希望他们掌握的内容。这会帮助他们保持知识更新,知道如何安全地完成工作,并让工作中的安全文化更加积极。它通常也会增进团队之间的信任,让协作关系更顺畅。OWASP 通过 [OWASP Security Champions Guide](https://securitychampions.owasp.org/) 支持你,该指南正在逐步扩展。
+
+* OWASP Education Project 提供培训材料,帮助开发人员学习 Web 应用安全。若想动手学习漏洞,可以尝试 [OWASP Juice Shop Project](https://owasp.org/www-project-juice-shop/) 或 [OWASP WebGoat](https://owasp.org/www-project-webgoat/)。若想保持更新,可以参加 [OWASP AppSec Conference](https://owasp.org/events/)、[OWASP Conference Training](https://owasp.org/events/),或本地 [OWASP Chapter](https://owasp.org/chapters/) 会议。
+
+### 5. 提供管理层可见性:
+
+* 用指标管理。基于收集到的指标和分析数据推动改进和资金决策。指标包括安全实践和活动的遵循情况、引入的漏洞、缓解的漏洞、应用覆盖率、按类型划分的缺陷密度和实例数量等。
+
+* 分析实现和验证活动中的数据,寻找根因和漏洞模式,从而推动整个企业范围内的战略性、系统性改进。从错误中学习,并提供正向激励来促进改进。
+
+## 建立并使用可重复的安全流程和标准安全控制
+
+### 需求和资源管理阶段:
+
+* 与业务方收集并协商应用的业务需求,包括所有数据资产在机密性、真实性、完整性和可用性方面的保护需求,以及预期业务逻辑。
+
+* 汇总技术需求,包括功能性和非功能性安全需求。OWASP 建议使用 [OWASP Application Security Verification Standard (ASVS)](https://owasp.org/www-project-application-security-verification-standard/) 作为设定应用安全需求的指南。
+
+* 规划并协商预算,覆盖设计、构建、测试和运维的各个方面,包括安全活动。
+
+* 将安全活动加入项目计划。
+
+* 在项目启动会上以安全代表身份介绍自己,让团队知道应找谁沟通。
+
+### 提案请求(RFP)和合同:
+
+* 与内部或外部开发人员协商需求,包括与你的安全计划相关的指南和安全要求,例如 SDLC、最佳实践。
+
+* 评估所有技术需求的满足情况,包括规划和设计阶段。
+
+* 协商所有技术需求,包括设计、安全和服务级别协议(SLA)。
+
+* 采用模板和清单,例如 [OWASP Secure Software Contract Annex](https://owasp.org/www-community/OWASP_Secure_Software_Contract_Annex)。
**注意:** *该附件面向美国合同法,因此在使用示例附件前请咨询合格的法律意见。*
+
+### 规划和设计阶段:
+
+* 与开发人员和内部利益相关方(例如安全专家)协商规划和设计。
+
+* 根据保护需求和预期威胁级别定义安全架构、控制、对策和设计审查。这应由安全专家支持。
+
+* 与其在应用和 API 中事后补安全,不如从一开始就把安全设计进去,成本也低得多。OWASP 建议将 [OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/index.html) 和 [OWASP Proactive Controls](https://top10proactive.owasp.org/) 作为设计阶段纳入安全的起点。
+
+* 执行威胁建模,参见 [OWASP Cheat Sheet: Threat Modeling](https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html)。
+
+* 教会软件架构师安全设计概念和模式,并要求他们尽可能加入设计。
+
+* 与开发人员一起检查数据流。
+
+* 在所有其他用户故事旁加入安全用户故事。
+
+### 安全开发生命周期:
+
+* 为改进组织构建应用和 API 时遵循的流程,OWASP 建议使用 [OWASP Software Assurance Maturity Model (SAMM)](https://owasp.org/www-project-samm/)。该模型帮助组织制定并实施适合自身风险的软件安全策略。
+
+* 为软件开发人员提供安全编码培训,也提供任何你认为有助于他们构建更稳健、更安全应用的培训。
+
+* 进行代码审查,参见 [OWASP Cheat Sheet: Secure Code Review](https://cheatsheetseries.owasp.org/cheatsheets/Secure_Code_Review_Cheat_Sheet.html)。
+
+* 给开发人员提供安全工具,并教他们使用,尤其是静态分析、软件组成分析、机密扫描和[基础设施即代码(IaC)](https://cheatsheetseries.owasp.org/cheatsheets/Infrastructure_as_Code_Security_Cheat_Sheet.html)扫描器。
+
+* 在可行时为开发人员建立护栏(技术性保护措施,引导他们做出更安全的选择)。
+
+* 构建强大且可用的安全控制并不容易。尽可能提供安全默认值,并在可行时建立“铺好的路”(让最简单的做法也是最安全、最显然应优先选择的做法)。[OWASP Cheat Sheets](https://cheatsheetseries.owasp.org/index.html) 是开发人员的良好起点,许多现代框架也已经内置用于授权、验证、CSRF 防护等标准且有效的安全控制。
+
+* 给开发人员提供与安全相关的 IDE 插件,并鼓励他们使用。
+
+* 为他们提供密钥管理工具、许可证和使用文档。
+
+* 为他们提供私有 AI,理想情况下配有 RAG 服务器,包含有用的安全文档、团队编写的高质量提示词,以及能够调用组织所选安全工具的 MCP 服务器。教他们安全使用 AI,因为无论你是否愿意,他们都会使用。
+
+### 建立持续应用安全测试:
+
+* 测试技术功能以及与 IT 架构的集成,并协调业务测试。
+
+* 从技术和业务角度创建“使用”和“滥用”测试用例。
+
+* 根据内部流程、保护需求和应用的假定威胁级别管理安全测试。
+
+* 提供安全测试工具(模糊测试器、DAST 等)、安全测试环境和工具使用培训;或者替他们做测试;或者雇用测试人员。
+
+* 如果需要高保障级别,考虑正式渗透测试,以及压力测试和性能测试。
+
+* 与开发人员合作,帮助他们判断缺陷报告中哪些问题需要修复,并确保他们的经理给他们修复时间。
+
+### 发布:
+
+* 将应用投入运行,并在需要时从旧应用迁移。
+
+* 完成所有文档,包括变更管理数据库(CMDB)和安全架构。
+
+### 运维和变更管理:
+
+* 运维必须包括应用安全管理指南,例如补丁管理。
+
+* 提升用户安全意识,并管理可用性与安全性之间的冲突。
+
+* 规划并管理变更,例如迁移到应用新版本,或迁移到 OS、中间件、库等其他组件的新版本。
+
+* 确保所有应用都纳入清单,并记录所有重要细节。更新所有文档,包括 CMDB、安全架构、控制、对策,以及任何运行手册或项目文档。
+
+* 对所有应用执行日志记录、监控和告警。如果缺失,就补上。
+
+* 创建有效且高效的更新和补丁流程。
+
+* 创建定期扫描计划(理想情况下包括动态、静态、密钥、IaC 和软件组成分析)。
+
+* 为修复安全缺陷设定 SLA。
+
+* 提供员工(理想情况下也包括客户)报告缺陷的渠道。
+
+* 建立训练有素的事件响应团队,使其了解软件攻击的表现以及可观测性工具。
+
+* 运行阻断或防护工具来拦截自动化攻击。
+
+* 每年(或更频繁)加固配置。
+
+* 至少每年进行一次渗透测试(取决于应用所需保障级别)。
+
+* 建立流程和工具来加固并保护软件供应链。
+
+* 建立并更新业务连续性和灾难恢复规划,其中包括最重要的应用以及维护这些应用所使用的工具。
+
+### 退役系统:
+
+* 应归档所有必须保留的数据。所有其他数据应安全擦除。
+
+* 安全退役应用,包括删除未使用的账户、角色和权限。
+
+* 在 CMDB 中将应用状态设置为已退役。
+
+## 将 OWASP Top 10 作为标准使用
+
+OWASP Top 10 主要是一份安全意识文档。不过,自 2003 年创立以来,许多组织仍将其用作事实上的行业 AppSec 标准。如果你想将 OWASP Top 10 用作编码或测试标准,请明确它只是最低要求和起点。
+
+使用 OWASP Top 10 作为标准的一个难点在于,我们记录的是 AppSec 风险,而不一定是容易测试的问题。例如,[A06:2025-不安全设计](A06_2025-Insecure_Design.md) 超出了大多数测试形式的范围。另一个例子是测试是否实现了就地、在用且有效的日志记录和监控,这只能通过访谈以及抽样请求有效事件响应来完成。静态代码分析工具可以查找缺少日志记录的情况,但可能无法判断业务逻辑或访问控制是否记录了重大安全事件。渗透测试人员也许只能确认他们在测试环境中触发了事件响应,而测试环境很少像生产环境一样被监控。
+
+以下是我们关于何时适合使用 OWASP Top 10 的建议:
+
+
+
+ | 使用场景
+ |
+ OWASP Top 10 2025
+ |
+ OWASP Application Security Verification Standard
+ |
+
+
+ | 安全意识
+ |
+ 是
+ |
+
+ |
+
+
+ | 培训
+ |
+ 入门级
+ |
+ 全面
+ |
+
+
+ | 设计和架构
+ |
+ 偶尔适用
+ |
+ 是
+ |
+
+
+ | 编码标准
+ |
+ 最低要求
+ |
+ 是
+ |
+
+
+ | 安全代码审查
+ |
+ 最低要求
+ |
+ 是
+ |
+
+
+ | 同行审查清单
+ |
+ 最低要求
+ |
+ 是
+ |
+
+
+ | 单元测试
+ |
+ 偶尔适用
+ |
+ 是
+ |
+
+
+ | 集成测试
+ |
+ 偶尔适用
+ |
+ 是
+ |
+
+
+ | 渗透测试
+ |
+ 最低要求
+ |
+ 是
+ |
+
+
+ | 工具支持
+ |
+ 最低要求
+ |
+ 是
+ |
+
+
+ | 安全供应链
+ |
+ 偶尔适用
+ |
+ 是
+ |
+
+
+
+我们鼓励任何想采用应用安全标准的人使用 [OWASP Application Security Verification Standard](https://owasp.org/www-project-application-security-verification-standard/)(ASVS),因为它设计为可验证、可测试,并可用于安全开发生命周期的各个部分。
+
+ASVS 是工具厂商唯一可接受的选择。由于 OWASP Top 10 中多个风险的性质,工具无法全面检测、测试或防护 OWASP Top 10,尤其参见 [A06:2025-不安全设计](A06_2025-Insecure_Design.md)。OWASP 不鼓励任何声称完整覆盖 OWASP Top 10 的说法,因为这根本不真实。
+
diff --git a/2025/docs/zh-Hant/A01_2025-Broken_Access_Control.md b/2025/docs/zh-Hant/A01_2025-Broken_Access_Control.md
new file mode 100644
index 000000000..9c563088a
--- /dev/null
+++ b/2025/docs/zh-Hant/A01_2025-Broken_Access_Control.md
@@ -0,0 +1,161 @@
+# A01:2025 失效的访问控制 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+失效的访问控制保持 Top Ten 第 1 位。100% 的受测应用都被发现存在某种形式的访问控制失效。该类别中值得关注的 CWE 包括 *CWE-200:向未授权主体暴露敏感信息*、*CWE-201:通过已发送数据暴露敏感信息*、*CWE-918:服务端请求伪造(SSRF)* 和 *CWE-352:跨站请求伪造(CSRF)*。在贡献数据中,本类别的发生次数最高,相关 CVE 数量位居第二。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 40
+ |
+ 20.15%
+ |
+ 3.74%
+ |
+ 100.00%
+ |
+ 42.93%
+ |
+ 7.04
+ |
+ 3.84
+ |
+ 1,839,701
+ |
+ 32,654
+ |
+
+
+
+## 描述
+
+访问控制用于执行策略,确保用户不能执行超出其预期权限的操作。访问控制失效通常会导致未经授权的信息披露,所有数据被修改或销毁,或者执行超出用户限制的业务功能。常见访问控制漏洞包括:
+
+* 违反最小权限原则,也就是通常所说的默认拒绝。访问权限应只授予特定能力、角色或用户,却对任何人可用。
+* 通过修改 URL(参数篡改或强制浏览)、内部应用状态或 HTML 页面,或使用修改 API 请求的攻击工具绕过访问控制检查。
+* 通过提供某账户的唯一标识符,允许查看或编辑他人账户(不安全的直接对象引用)。
+* 可访问的 API 对 POST、PUT 和 DELETE 缺少访问控制。
+* 权限提升。未登录时以用户身份操作,或获得超出已登录用户预期的权限(例如管理员访问权限)。
+* 元数据操纵,例如重放或篡改 JSON Web Token(JWT)访问控制令牌,篡改 cookie 或隐藏字段以提升权限,或滥用 JWT 失效机制。
+* CORS 配置错误允许来自未经授权或不受信任来源的 API 访问。
+* 作为未认证用户强制浏览(猜测 URL)已认证页面,或作为普通用户访问特权页面。
+
+## 如何预防
+
+访问控制只有在可信的服务端代码或 Serverless API 中实现时才有效,因为攻击者无法修改其中的访问控制检查或元数据。
+
+* 除公共资源外,默认拒绝。
+* 只实现一次访问控制机制,并在整个应用中复用,同时尽量减少跨源资源共享(CORS)的使用。
+* 模型访问控制应强制执行记录所有权,而不是允许用户创建、读取、更新或删除任何记录。
+* 由领域模型强制执行应用特有的业务限制要求。
+* 禁用 Web 服务器目录列表,确保文件元数据(例如 .git)和备份文件不出现在 Web 根目录中。
+* 记录访问控制失败,并在适当时告警管理员(例如重复失败)。
+* 对 API 和控制器访问实施速率限制,以降低自动化攻击工具造成的危害。
+* 有状态会话标识符应在用户登出后由服务器失效。无状态 JWT 令牌应设置较短生命周期,以缩短攻击者可利用的时间窗口。对于生命周期较长的 JWT,可考虑使用刷新令牌,并遵循 OAuth 标准撤销访问权限。
+* 使用成熟的工具包或模式,提供简单、声明式的访问控制。
+
+开发人员和 QA 人员应在单元测试和集成测试中包含功能性访问控制测试。
+
+## 攻击场景示例
+
+**场景 #1:** 应用在访问账户信息的 SQL 调用中使用了未经验证的数据:
+
+```
+pstmt.setString(1, request.getParameter("acct"));
+ResultSet results = pstmt.executeQuery( );
+```
+
+攻击者只需修改浏览器中的 `acct` 参数,就可以发送任意账户编号。如果没有正确验证,攻击者就能访问任意用户账户。
+
+```
+https://example.com/app/accountInfo?acct=notmyacct
+```
+
+**场景 #2:** 攻击者直接强制浏览器访问目标 URL。访问管理页面需要管理员权限。
+
+```
+https://example.com/app/getappInfo
+https://example.com/app/admin_getappInfo
+```
+
+如果未认证用户可以访问任一页面,这就是缺陷。如果非管理员可以访问管理页面,也属于缺陷。
+
+**场景 #3:** 应用把所有访问控制都放在前端。虽然浏览器中运行的 JavaScript 代码阻止攻击者访问 `https://example.com/app/admin_getappInfo`,但攻击者可以直接在命令行执行:
+
+```
+$ curl https://example.com/app/admin_getappInfo
+```
+
+## 参考资料
+
+* [OWASP Proactive Controls: C1: Implement Access Control](https://top10proactive.owasp.org/archive/2024/the-top-10/c1-accesscontrol/)
+* [OWASP Application Security Verification Standard: V8 Authorization](https://github.com/OWASP/ASVS/blob/master/5.0/en/0x17-V8-Authorization.md)
+* [OWASP Testing Guide: Authorization Testing](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/05-Authorization_Testing/README)
+* [OWASP Cheat Sheet: Authorization](https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html)
+* [PortSwigger: Exploiting CORS misconfiguration](https://portswigger.net/blog/exploiting-cors-misconfigurations-for-bitcoins-and-bounties)
+* [OAuth: Revoking Access](https://www.oauth.com/oauth2-servers/listing-authorizations/revoking-access/)
+
+## 映射的 CWE 列表
+
+* [CWE-22 对受限目录路径名限制不当(路径遍历)](https://cwe.mitre.org/data/definitions/22.html)
+* [CWE-23 相对路径遍历](https://cwe.mitre.org/data/definitions/23.html)
+* [CWE-36 绝对路径遍历](https://cwe.mitre.org/data/definitions/36.html)
+* [CWE-59 文件访问前链接解析不当(跟随链接)](https://cwe.mitre.org/data/definitions/59.html)
+* [CWE-61 跟随 UNIX 符号链接](https://cwe.mitre.org/data/definitions/61.html)
+* [CWE-65 Windows 硬链接](https://cwe.mitre.org/data/definitions/65.html)
+* [CWE-200 向未授权主体暴露敏感信息](https://cwe.mitre.org/data/definitions/200.html)
+* [CWE-201 通过已发送数据暴露敏感信息](https://cwe.mitre.org/data/definitions/201.html)
+* [CWE-219 在网站根目录下存储含敏感数据的文件](https://cwe.mitre.org/data/definitions/219.html)
+* [CWE-276 默认权限错误](https://cwe.mitre.org/data/definitions/276.html)
+* [CWE-281 权限保留不当](https://cwe.mitre.org/data/definitions/281.html)
+* [CWE-282 所有权管理不当](https://cwe.mitre.org/data/definitions/282.html)
+* [CWE-283 未验证所有权](https://cwe.mitre.org/data/definitions/283.html)
+* [CWE-284 访问控制不当](https://cwe.mitre.org/data/definitions/284.html)
+* [CWE-285 授权不当](https://cwe.mitre.org/data/definitions/285.html)
+* [CWE-352 跨站请求伪造(CSRF)](https://cwe.mitre.org/data/definitions/352.html)
+* [CWE-359 向未授权主体暴露私人个人信息](https://cwe.mitre.org/data/definitions/359.html)
+* [CWE-377 不安全的临时文件](https://cwe.mitre.org/data/definitions/377.html)
+* [CWE-379 在权限不安全的目录中创建临时文件](https://cwe.mitre.org/data/definitions/379.html)
+* [CWE-402 将私有资源传输到新的范围(资源泄漏)](https://cwe.mitre.org/data/definitions/402.html)
+* [CWE-424 备用路径保护不当](https://cwe.mitre.org/data/definitions/424.html)
+* [CWE-425 直接请求(强制浏览)](https://cwe.mitre.org/data/definitions/425.html)
+* [CWE-441 非预期代理或中介(混淆代理)](https://cwe.mitre.org/data/definitions/441.html)
+* [CWE-497 向未授权控制范围暴露敏感系统信息](https://cwe.mitre.org/data/definitions/497.html)
+* [CWE-538 将敏感信息写入外部可访问文件或目录](https://cwe.mitre.org/data/definitions/538.html)
+* [CWE-540 源代码中包含敏感信息](https://cwe.mitre.org/data/definitions/540.html)
+* [CWE-548 通过目录列表暴露信息](https://cwe.mitre.org/data/definitions/548.html)
+* [CWE-552 文件或目录可被外部方访问](https://cwe.mitre.org/data/definitions/552.html)
+* [CWE-566 通过用户可控 SQL 主键绕过授权](https://cwe.mitre.org/data/definitions/566.html)
+* [CWE-601 网址重定向到不可信站点(开放重定向)](https://cwe.mitre.org/data/definitions/601.html)
+* [CWE-615 源代码注释中包含敏感信息](https://cwe.mitre.org/data/definitions/615.html)
+* [CWE-639 通过用户可控键绕过授权](https://cwe.mitre.org/data/definitions/639.html)
+* [CWE-668 将资源暴露到错误范围](https://cwe.mitre.org/data/definitions/668.html)
+* [CWE-732 关键资源权限分配错误](https://cwe.mitre.org/data/definitions/732.html)
+* [CWE-749 暴露危险方法或函数](https://cwe.mitre.org/data/definitions/749.html)
+* [CWE-862 缺少授权](https://cwe.mitre.org/data/definitions/862.html)
+* [CWE-863 授权错误](https://cwe.mitre.org/data/definitions/863.html)
+* [CWE-918 服务端请求伪造(SSRF)](https://cwe.mitre.org/data/definitions/918.html)
+* [CWE-922 敏感信息存储不安全](https://cwe.mitre.org/data/definitions/922.html)
+* [CWE-1275 敏感 Cookie 的 `SameSite` 属性设置不当](https://cwe.mitre.org/data/definitions/1275.html)
diff --git a/2025/docs/zh-Hant/A02_2025-Security_Misconfiguration.md b/2025/docs/zh-Hant/A02_2025-Security_Misconfiguration.md
new file mode 100644
index 000000000..de6eea4bc
--- /dev/null
+++ b/2025/docs/zh-Hant/A02_2025-Security_Misconfiguration.md
@@ -0,0 +1,120 @@
+# A02:2025 安全配置错误 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+安全配置错误从上一版第 5 位上升。100% 的受测应用都被发现存在某种形式的配置错误,平均发生率为 3.00%,本风险类别中通用弱点枚举(CWE)的发生次数超过 71.9 万次。随着软件越来越多地转向高度可配置的形态,本类别排名上升并不意外。值得关注的 CWE 包括 *CWE-16:配置* 和 *CWE-611:XML 外部实体引用限制不当(XXE)*。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 16
+ |
+ 27.70%
+ |
+ 3.00%
+ |
+ 100.00%
+ |
+ 52.35%
+ |
+ 7.96
+ |
+ 3.97
+ |
+ 719,084
+ |
+ 1,375
+ |
+
+
+
+## 描述
+
+安全配置错误是指系统、应用或云服务从安全角度被错误设置,从而产生漏洞。
+
+如果出现以下情况,应用可能存在风险:
+
+* 应用栈任一部分缺少适当的安全加固,或云服务权限配置不当。
+* 启用或安装了不必要的功能(例如不必要的端口、服务、页面、账户、测试框架或权限)。
+* 默认账户及其密码仍处于启用状态,且未被修改。
+* 缺少集中配置来拦截过多错误消息。错误处理向用户暴露堆栈跟踪或其他信息过于详细的错误消息。
+* 对已升级系统,最新安全功能被禁用或没有安全配置。
+* 过度优先考虑向后兼容,导致不安全配置。
+* 应用服务器、应用框架(例如 Struts、Spring、ASP.NET)、库、数据库等的安全设置未设为安全值。
+* 服务器没有发送安全头或安全指令,或者它们未设为安全值。
+
+如果没有协调一致、可重复的应用安全配置加固流程,系统会面临更高风险。
+
+## 如何预防
+
+应实施安全安装流程,包括:
+
+* 建立可重复的加固流程,能够快速、轻松地部署另一个经过适当锁定的环境。开发、QA 和生产环境应以相同方式配置,但各环境使用不同凭据。该流程应自动化,以减少搭建新安全环境所需的工作量。
+* 使用最小化平台,不包含任何不必要的功能、组件、文档或示例。移除或不要安装未使用的功能和框架。
+* 将审查和更新配置作为补丁管理流程的一部分,确保配置符合所有安全公告、更新和补丁要求(参见 [A03 软件供应链失效](A03_2025-Software_Supply_Chain_Failures.md))。审查云存储权限(例如 S3 bucket 权限)。
+* 采用分段应用架构,通过分段、容器化或云安全组(ACL)在组件或租户之间实现有效且安全的隔离。
+* 向客户端发送安全指令,例如安全头。
+* 建立自动化流程,验证所有环境中的配置和设置是否有效。
+* 主动增加集中配置,作为拦截过多错误消息的备用措施。
+* 如果这些验证没有自动化,至少应每年手动验证一次。
+* 使用底层平台提供的身份联合、短期凭据或基于角色的访问机制,而不是在代码、配置文件或流水线中嵌入静态密钥或 secret。
+
+## 攻击场景示例
+
+**场景 #1:** 应用服务器附带的示例应用没有从生产服务器中移除。这些示例应用存在已知安全缺陷,攻击者可利用它们攻陷服务器。假设其中一个示例应用是管理控制台,且默认账户没有修改。攻击者就能使用默认密码登录并接管系统。
+
+**场景 #2:** 服务器未禁用目录列表。攻击者发现可以直接列出目录。他找到并下载编译后的 Java 类文件,反编译并逆向工程查看代码。随后攻击者在应用中发现严重访问控制缺陷。
+
+**场景 #3:** 应用服务器配置允许向用户返回详细错误消息,例如堆栈跟踪。这可能暴露敏感信息或底层缺陷,例如已知易受攻击的组件版本。
+
+**场景 #4:** 云服务提供商(CSP)默认将共享权限开放到互联网。这会允许云存储中的敏感数据被访问。
+
+## 参考资料
+
+* [OWASP Testing Guide: Configuration Management](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/02-Configuration_and_Deployment_Management_Testing/README)
+* [OWASP Testing Guide: Testing for Error Codes](https://owasp.org/www-project-web-security-testing-guide/stable/4-Web_Application_Security_Testing/08-Testing_for_Error_Handling/01-Testing_For_Improper_Error_Handling)
+* [Application Security Verification Standard V13 Configuration](https://github.com/OWASP/ASVS/blob/master/5.0/en/0x22-V13-Configuration.md)
+* [NIST Guide to General Server Hardening](https://csrc.nist.gov/publications/detail/sp/800-123/final)
+* [CIS Security Configuration Guides/Benchmarks](https://www.cisecurity.org/cis-benchmarks/)
+* [Amazon S3 Bucket Discovery and Enumeration](https://blog.websecurify.com/2017/10/aws-s3-bucket-discovery.html)
+* ScienceDirect: Security Misconfiguration
+
+## 映射的 CWE 列表
+
+* [CWE-5 J2EE 配置错误:数据传输未加密](https://cwe.mitre.org/data/definitions/5.html)
+* [CWE-11 ASP.NET 配置错误:创建调试二进制文件](https://cwe.mitre.org/data/definitions/11.html)
+* [CWE-13 ASP.NET 配置错误:配置文件中包含密码](https://cwe.mitre.org/data/definitions/13.html)
+* [CWE-15 系统或配置设置受外部控制](https://cwe.mitre.org/data/definitions/15.html)
+* [CWE-16 配置](https://cwe.mitre.org/data/definitions/16.html)
+* [CWE-260 配置文件中包含密码](https://cwe.mitre.org/data/definitions/260.html)
+* [CWE-315 在 Cookie 中明文存储敏感信息](https://cwe.mitre.org/data/definitions/315.html)
+* [CWE-489 激活的调试代码](https://cwe.mitre.org/data/definitions/489.html)
+* [CWE-526 通过环境变量暴露敏感信息](https://cwe.mitre.org/data/definitions/526.html)
+* [CWE-547 使用硬编码的安全相关常量](https://cwe.mitre.org/data/definitions/547.html)
+* [CWE-611 XML 外部实体引用限制不当](https://cwe.mitre.org/data/definitions/611.html)
+* [CWE-614 HTTPS 会话中的敏感 Cookie 缺少 `Secure` 属性](https://cwe.mitre.org/data/definitions/614.html)
+* [CWE-776 DTD 中递归实体引用限制不当(XML 实体扩展)](https://cwe.mitre.org/data/definitions/776.html)
+* [CWE-942 对不可信域使用过宽松的跨域策略](https://cwe.mitre.org/data/definitions/942.html)
+* [CWE-1004 敏感 Cookie 缺少 `HttpOnly` 标志](https://cwe.mitre.org/data/definitions/1004.html)
+* [CWE-1174 ASP.NET 配置错误:模型验证不当](https://cwe.mitre.org/data/definitions/1174.html)
diff --git a/2025/docs/zh-Hant/A03_2025-Software_Supply_Chain_Failures.md b/2025/docs/zh-Hant/A03_2025-Software_Supply_Chain_Failures.md
new file mode 100644
index 000000000..df159844b
--- /dev/null
+++ b/2025/docs/zh-Hant/A03_2025-Software_Supply_Chain_Failures.md
@@ -0,0 +1,152 @@
+# A03:2025 软件供应链失效 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+该类别在 Top 10 社区问卷中排名第一,正好有 50% 的受访者将其列为第 1 位。自 2013 年 Top 10 中首次以“A9 - 使用含有已知漏洞的组件”出现以来,该风险范围已经扩大到包括所有供应链失效,而不只是涉及已知漏洞的情况。尽管范围扩大,供应链失效仍然难以识别,只有 11 个通用漏洞与暴露(CVE)拥有相关 CWE。不过,一旦在贡献数据中被测试并报告,本类别的平均发生率最高,达到 5.19%。相关 CWE 包括 *CWE-477:使用过时函数*、*CWE-1104:使用无人维护的第三方组件*、*CWE-1329:依赖不可更新的组件* 和 *CWE-1395:依赖存在漏洞的第三方组件*。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 6
+ |
+ 9.56%
+ |
+ 5.72%
+ |
+ 65.42%
+ |
+ 27.47%
+ |
+ 8.17
+ |
+ 5.23
+ |
+ 215,248
+ |
+ 11
+ |
+
+
+
+## 描述
+
+软件供应链失效是指在构建、分发或更新软件的过程中发生故障或其他妥协。它们通常由第三方代码、工具或系统依赖的其他组件中的漏洞或恶意变更引起。
+
+如果出现以下情况,你很可能存在风险:
+
+* 没有仔细跟踪所用所有组件的版本(客户端和服务端都包括)。这包括直接使用的组件以及嵌套的传递依赖。
+* 软件存在漏洞、不受支持或已经过时。这包括操作系统、Web/应用服务器、数据库管理系统(DBMS)、应用、API 和所有组件、运行时环境及库。
+* 没有定期扫描漏洞,也没有订阅与所用组件相关的安全公告。
+* 没有变更管理流程,或没有跟踪供应链内部的变更,包括 IDE、IDE 扩展和更新、组织代码仓库变更、沙箱、镜像和库仓库、工件创建和存储方式等。供应链的每个部分都应记录,尤其是变更。
+* 没有加固供应链的每个部分,尤其是访问控制和最小权限应用。
+* 供应链系统没有职责分离。任何一个人都不应能在无人监督的情况下编写代码并一路推进到生产环境。
+* 在技术栈任何部分使用来自不受信任来源的组件,或这些组件能够影响生产环境。
+* 没有基于风险并及时修复或升级底层平台、框架和依赖。在补丁修复作为月度或季度变更控制任务执行的环境中,这种情况很常见,会让组织在漏洞修复前暴露数天或数月。
+* 软件开发人员没有测试已更新、升级或打补丁的库的兼容性。
+* 没有保护系统每个部分的配置(参见 [A02:2025-安全配置错误](https://owasp.org/Top10/2025/A02_2025-Security_Misconfiguration/))。
+* CI/CD 流水线的安全性弱于它构建和部署的系统,尤其是流水线复杂时。
+
+## 如何预防
+
+应建立补丁管理流程,用于:
+
+* 集中生成并管理整个软件的 Software Bill of Materials(SBOM)。
+* 不只跟踪直接依赖,也跟踪它们的传递依赖,并逐层继续跟踪。
+* 通过移除未使用依赖、不必要功能、组件、文件和文档来减少攻击面。
+* 使用 OWASP Dependency Track、OWASP Dependency Check、retire.js 等工具,持续盘点客户端和服务端组件(例如框架、库)及其依赖的版本。
+* 持续监控通用漏洞与暴露(CVE)、国家漏洞数据库(NVD)和[开源漏洞(OSV)](https://osv.dev/)等来源,发现所用组件中的漏洞。使用软件组成分析、软件供应链或面向安全的 SBOM 工具来自动化该流程。订阅与所用组件相关的安全漏洞告警。
+* 只通过安全链路从官方(可信)来源获取组件。优先使用签名包,以降低纳入被修改的恶意组件的可能性(参见 [A08:2025-软件和数据完整性失效](https://owasp.org/Top10/2025/A08_2025-Software_or_Data_Integrity_Failures/))。
+* 有意识地选择所使用的依赖版本,只在确有需要时升级。
+* 监控无人维护或不再为旧版本提供安全补丁的库和组件。如果无法打补丁,考虑迁移到替代方案。如果仍不可行,考虑部署虚拟补丁来监控、检测或防护已发现的问题。
+* 定期更新 CI/CD、IDE 和其他开发者工具。
+* 避免同时向所有系统部署更新。使用分阶段发布或金丝雀发布,在可信供应商被攻陷时限制暴露范围。
+
+应建立变更管理流程或跟踪系统,用于跟踪以下内容的变更:
+
+* CI/CD 设置(所有构建工具和流水线)
+* 代码仓库
+* 沙箱区域
+* 开发者 IDE
+* SBOM 工具及创建的工件
+* 日志系统和日志
+* 第三方集成,例如 SaaS
+* 工件仓库
+* 容器镜像仓库
+
+加固以下系统,包括启用 MFA 并锁定 IAM:
+
+* 代码仓库(包括不提交 secret、保护分支、备份)
+* 开发者工作站(定期打补丁、MFA、监控等)
+* 构建服务器和 CI/CD(职责分离、访问控制、签名构建、按环境限定的 secret、防篡改日志等)
+* 工件(通过来源证明、签名和时间戳确保完整性;在各环境中提升工件而不是重新构建;确保构建不可变)
+* 基础设施即代码(像所有代码一样管理,包括使用 PR 和版本控制)
+
+每个组织都必须确保在应用或资产组合的整个生命周期中,持续监控、分级处理并应用更新或配置变更。
+
+## 攻击场景示例
+
+**场景 #1:** 可信供应商被恶意软件攻陷,导致你升级时计算机系统也被攻陷。最著名的例子可能是:
+
+* 2019 年 SolarWinds 攻陷事件,约 18,000 个组织受到影响。[https://www.npr.org/2021/04/16/985439655/a-worst-nightmare-cyberattack-the-untold-story-of-the-solarwinds-hack](https://www.npr.org/2021/04/16/985439655/a-worst-nightmare-cyberattack-the-untold-story-of-the-solarwinds-hack)
+
+**场景 #2:** 可信供应商被攻陷,使其只在特定条件下表现出恶意行为。
+
+* 2025 年 Bybit 15 亿美元盗窃事件由[钱包软件中的供应链攻击](https://www.sygnia.co/blog/sygnia-investigation-bybit-hack/)引起,该攻击只在目标钱包被使用时执行。
+
+**场景 #3:** 2025 年的 [`Shai-Hulud` 供应链攻击](https://www.cisa.gov/news-events/alerts/2025/09/23/widespread-supply-chain-compromise-impacting-npm-ecosystem)是首个成功自传播的 npm 蠕虫。攻击者植入热门软件包的恶意版本,并利用 post-install 脚本收集敏感数据并外传到公开 GitHub 仓库。该恶意软件还会检测受害环境中的 npm 令牌,并自动使用这些令牌向任何可访问的软件包推送恶意版本。在 npm 阻断前,该蠕虫影响了超过 500 个软件包版本。这次供应链攻击高级、传播迅速、破坏性强,并且通过瞄准开发者机器表明,开发者本身已经成为供应链攻击的首要目标。
+
+**场景 #4:** 组件通常以与应用本身相同的权限运行,因此任何组件中的缺陷都可能造成严重影响。此类缺陷可能是意外的(例如编码错误),也可能是有意的(例如组件中的后门)。一些已发现的可利用组件漏洞示例包括:
+
+* CVE-2017-5638,Struts 2 远程代码执行漏洞,允许在服务器上执行任意代码,并被认为导致了重大安全事件。
+* CVE-2021-44228(“Log4Shell”),Apache Log4j 远程代码执行零日漏洞,被认为与勒索软件、加密货币挖矿和其他攻击活动有关。
+
+## 参考资料
+
+* [OWASP Application Security Verification Standard: V15 Secure Coding and Architecture](https://owasp.org/www-project-application-security-verification-standard/)
+* [OWASP Cheat Sheet Series: Dependency Graph SBOM](https://cheatsheetseries.owasp.org/cheatsheets/Dependency_Graph_SBOM_Cheat_Sheet.html)
+* [OWASP Cheat Sheet Series: Vulnerable Dependency Management](https://cheatsheetseries.owasp.org/cheatsheets/Vulnerable_Dependency_Management_Cheat_Sheet.html)
+* [OWASP Dependency-Track](https://owasp.org/www-project-dependency-track/)
+* [OWASP CycloneDX](https://owasp.org/www-project-cyclonedx/)
+* [OWASP Application Security Verification Standard: V1 Architecture, design and threat modelling](https://owasp-aasvs.readthedocs.io/en/latest/v1.html)
+* [OWASP Dependency Check (for Java and .NET libraries)](https://owasp.org/www-project-dependency-check/)
+* OWASP Testing Guide - Map Application Architecture (OTG-INFO-010)
+* [OWASP Virtual Patching Best Practices](https://owasp.org/www-community/Virtual_Patching_Best_Practices)
+* [The Unfortunate Reality of Insecure Libraries](https://www.scribd.com/document/105692739/JeffWilliamsPreso-Sm)
+* [MITRE Common Vulnerabilities and Exposures (CVE) search](https://www.cve.org)
+* [National Vulnerability Database (NVD)](https://nvd.nist.gov)
+* [Retire.js for detecting known vulnerable JavaScript libraries](https://retirejs.github.io/retire.js/)
+* [GitHub Advisory Database](https://github.com/advisories)
+* Ruby Libraries Security Advisory Database and Tools
+* [SAFECode Software Integrity Controls (PDF)](https://safecode.org/publication/SAFECode_Software_Integrity_Controls0610.pdf)
+* [Glassworm supply chain attack](https://thehackernews.com/2025/10/self-spreading-glassworm-infects-vs.html)
+* [PhantomRaven supply chain attack campaign](https://thehackernews.com/2025/10/phantomraven-malware-found-in-126-npm.html)
+
+## 映射的 CWE 列表
+
+* [CWE-447 使用过时函数](https://cwe.mitre.org/data/definitions/447.html)
+* [CWE-1035 2017 年 OWASP 十大 A9:使用含有已知漏洞的组件](https://cwe.mitre.org/data/definitions/1035.html)
+* [CWE-1104 使用无人维护的第三方组件](https://cwe.mitre.org/data/definitions/1104.html)
+* [CWE-1329 依赖不可更新的组件](https://cwe.mitre.org/data/definitions/1329.html)
+* [CWE-1357 依赖可信度不足的组件](https://cwe.mitre.org/data/definitions/1357.html)
+* [CWE-1395 依赖存在漏洞的第三方组件](https://cwe.mitre.org/data/definitions/1395.html)
diff --git a/2025/docs/zh-Hant/A04_2025-Cryptographic_Failures.md b/2025/docs/zh-Hant/A04_2025-Cryptographic_Failures.md
new file mode 100644
index 000000000..845cd611d
--- /dev/null
+++ b/2025/docs/zh-Hant/A04_2025-Cryptographic_Failures.md
@@ -0,0 +1,147 @@
+# A04:2025 加密机制失效 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+该弱点排名下降两位至第 4 位,重点关注缺少加密、加密强度不足、加密密钥泄露以及相关错误。在本风险中,几个最常见的通用弱点枚举(CWE)涉及使用弱伪随机数生成器:*CWE-327:使用已破解或有风险的加密算法*、*CWE-331:熵不足*、*CWE-1241:随机数生成器中使用可预测算法* 和 *CWE-338:使用加密强度不足的伪随机数生成器(PRNG)*。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 32
+ |
+ 13.77%
+ |
+ 3.80%
+ |
+ 100.00%
+ |
+ 47.74%
+ |
+ 7.23
+ |
+ 3.90
+ |
+ 1,665,348
+ |
+ 2,185
+ |
+
+
+
+## 描述
+
+一般而言,所有传输中的数据都应在[传输层](https://en.wikipedia.org/wiki/Transport_layer)([OSI 层](https://en.wikipedia.org/wiki/OSI_model)第 4 层)加密。过去的障碍,例如 CPU 性能和私钥/证书管理,现在已经因 CPU 具备加速加密的指令(例如 [AES 支持](https://en.wikipedia.org/wiki/AES_instruction_set))而缓解;私钥和证书管理也因 [LetsEncrypt.org](https://LetsEncrypt.org) 等服务而简化,主要云厂商还为各自平台提供了集成程度更高的证书管理服务。
+
+除了保护传输层,还需要判断哪些数据需要静态加密,以及哪些数据需要在传输中额外加密(位于[应用层](https://en.wikipedia.org/wiki/Application_layer),OSI 第 7 层)。例如,密码、信用卡号、健康记录、个人信息和商业秘密都需要额外保护,尤其是这些数据受隐私法律(例如欧盟《通用数据保护条例》(GDPR))或 PCI 数据安全标准(PCI DSS)等法规约束时。对所有此类数据,应考虑:
+
+* 是否在默认配置或旧代码中使用了过时或弱加密算法或协议?
+* 是否使用默认加密密钥、生成弱加密密钥、重复使用密钥,或缺少适当的密钥管理和轮换?
+* 加密密钥是否被提交到源代码仓库?
+* 是否未强制加密,例如是否缺少任何 HTTP 头(浏览器)安全指令或头?
+* 是否正确验证接收到的服务器证书及其信任链?
+* 初始化向量是否被忽略、重复使用,或未按加密模式要求足够安全地生成?是否使用了 ECB 等不安全运行模式?在更适合使用认证加密时,是否只使用普通加密?
+* 是否在没有基于密码的密钥派生函数的情况下,把密码用作加密密钥?
+* 是否使用了并非为满足加密要求而设计的随机性?即使选择了正确函数,是否需要开发人员提供种子?如果不需要,开发人员是否用熵/不可预测性不足的种子覆盖了内置的强种子功能?
+* 是否使用了 MD5 或 SHA1 等已弃用哈希函数,或在需要加密哈希函数时使用了非加密哈希函数?
+* 加密错误消息或侧信道信息是否可被利用,例如填充预言机攻击?
+* 加密算法是否可以被降级或绕过?
+
+参见 ASVS 中关于 Cryptography(V11)、Secure Communication(V12)和 Data Protection(V14)的参考资料。
+
+## 如何预防
+
+至少执行以下事项,并参考资料进一步确认:
+
+* 对应用处理、存储或传输的数据进行分类和标记。识别哪些数据根据隐私法律、监管要求或业务需求属于敏感数据。
+* 将最敏感的密钥存储在硬件或云端 HSM 中。
+* 尽可能使用可信的加密算法实现。
+* 不要不必要地存储敏感数据。尽快丢弃它,或使用符合 PCI DSS 的令牌化甚至截断。不保留的数据不会被窃取。
+* 确保所有敏感数据在静态存储时加密。
+* 确保使用最新且强健的标准算法、协议和密钥;使用适当的密钥管理。
+* 只使用 TLS 1.2 及以上协议加密所有传输中数据,使用具备前向保密(FS)的密码套件,停止支持 CBC 分组密码,支持量子密钥交换算法。对 HTTPS 使用 HTTP Strict Transport Security(HSTS)强制加密。用工具检查所有配置。
+* 对包含敏感数据的响应禁用缓存。这包括 CDN、Web 服务器以及任何应用缓存(例如 Redis)。
+* 按数据分类应用所需安全控制。
+* 不要使用 FTP 和 STARTTLS 等未加密协议。避免使用 SMTP 传输机密数据。
+* 使用带工作因子(延迟因子)的强自适应加盐哈希函数存储密码,例如 Argon2、yescrypt、scrypt 或 PBKDF2-HMAC-SHA-512。对使用 bcrypt 的遗留系统,可参考 [OWASP Cheat Sheet: Password Storage](https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html) 获取更多建议。
+* 初始化向量必须按运行模式适当选择。这可能意味着使用 CSPRNG(加密安全伪随机数生成器)。对需要 nonce 的模式,初始化向量(IV)不一定需要 CSPRNG。任何情况下,同一个固定密钥下 IV 都不应重复使用。
+* 始终使用认证加密,而不是只使用加密。
+* 密钥应以加密随机方式生成,并以字节数组形式存储在内存中。如果使用密码,则必须通过适当的基于密码的密钥派生函数转换成密钥。
+* 确保在适当位置使用加密随机性,并且没有用可预测或低熵方式设种子。大多数现代 API 不需要开发人员为 CSPRNG 提供种子即可安全使用。
+* 避免已弃用的加密函数、分组构建方法和填充方案,例如 MD5、SHA1、Cipher Block Chaining Mode(CBC)、PKCS number 1 v1.5。
+* 通过安全专家、专门工具或两者共同审查,确保设置和配置满足安全要求。
+* 你需要现在就为后量子密码(PQC)做准备,参见 ENISA 参考资料,使高风险系统最迟在 2030 年底前处于安全状态。
+
+## 攻击场景示例
+
+**场景 #1**:某站点没有为所有页面使用或强制使用 TLS,或支持弱加密。攻击者监控网络流量(例如在不安全无线网络中),将连接从 HTTPS 降级为 HTTP,拦截请求并窃取用户会话 cookie。随后攻击者重放该 cookie,劫持用户的(已认证)会话,访问或修改用户私有数据。攻击者也可能篡改所有传输数据,例如修改转账收款方。
+
+**场景 #2**:密码数据库使用未加盐或简单哈希存储所有人的密码。文件上传缺陷允许攻击者获取密码数据库。所有未加盐哈希都可以通过预计算哈希彩虹表暴露。由简单或快速哈希函数生成的哈希即使加盐,也可能被 GPU 破解。
+
+## 参考资料
+
+* [OWASP Proactive Controls: C2: Use Cryptography to Protect Data ](https://top10proactive.owasp.org/archive/2024/the-top-10/c2-crypto/)
+* [OWASP Application Security Verification Standard (ASVS): ](https://owasp.org/www-project-application-security-verification-standard) [V11,](https://github.com/OWASP/ASVS/blob/v5.0.0/5.0/en/0x20-V11-Cryptography.md) [12, ](https://github.com/OWASP/ASVS/blob/v5.0.0/5.0/en/0x21-V12-Secure-Communication.md) [14](https://github.com/OWASP/ASVS/blob/v5.0.0/5.0/en/0x23-V14-Data-Protection.md)
+* [OWASP Cheat Sheet: Transport Layer Protection](https://cheatsheetseries.owasp.org/cheatsheets/Transport_Layer_Protection_Cheat_Sheet.html)
+* [OWASP Cheat Sheet: User Privacy Protection](https://cheatsheetseries.owasp.org/cheatsheets/User_Privacy_Protection_Cheat_Sheet.html)
+* [OWASP Cheat Sheet: Password Storage](https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html)
+* [OWASP Cheat Sheet: Cryptographic Storage](https://cheatsheetseries.owasp.org/cheatsheets/Cryptographic_Storage_Cheat_Sheet.html)
+* [OWASP Cheat Sheet: HSTS](https://cheatsheetseries.owasp.org/cheatsheets/HTTP_Strict_Transport_Security_Cheat_Sheet.html)
+* [OWASP Testing Guide: Testing for weak cryptography](https://owasp.org/www-project-web-security-testing-guide/stable/4-Web_Application_Security_Testing/09-Testing_for_Weak_Cryptography/README)
+* [ENISA: A Coordinated Implementation Roadmap for the Transition to Post-Quantum Cryptography](https://digital-strategy.ec.europa.eu/en/library/coordinated-implementation-roadmap-transition-post-quantum-cryptography)
+* [NIST Releases First 3 Finalized Post-Quantum Encryption Standards](https://www.nist.gov/news-events/news/2024/08/nist-releases-first-3-finalized-post-quantum-encryption-standards)
+
+## 映射的 CWE 列表
+
+* [CWE-261 密码编码强度弱](https://cwe.mitre.org/data/definitions/261.html)
+* [CWE-296 证书信任链跟随不当](https://cwe.mitre.org/data/definitions/296.html)
+* [CWE-319 明文传输敏感信息](https://cwe.mitre.org/data/definitions/319.html)
+* [CWE-320 密钥管理错误(已弃用)](https://cwe.mitre.org/data/definitions/320.html)
+* [CWE-321 使用硬编码加密密钥](https://cwe.mitre.org/data/definitions/321.html)
+* [CWE-322 未进行实体认证的密钥交换](https://cwe.mitre.org/data/definitions/322.html)
+* [CWE-323 加密中重复使用一次性随机数或密钥对](https://cwe.mitre.org/data/definitions/323.html)
+* [CWE-324 使用已过期密钥](https://cwe.mitre.org/data/definitions/324.html)
+* [CWE-325 缺少必需的加密步骤](https://cwe.mitre.org/data/definitions/325.html)
+* [CWE-326 加密强度不足](https://cwe.mitre.org/data/definitions/326.html)
+* [CWE-327 使用已破解或有风险的加密算法](https://cwe.mitre.org/data/definitions/327.html)
+* [CWE-328 可逆的单向哈希](https://cwe.mitre.org/data/definitions/328.html)
+* [CWE-329 CBC 模式未使用随机 IV](https://cwe.mitre.org/data/definitions/329.html)
+* [CWE-330 使用随机性不足的值](https://cwe.mitre.org/data/definitions/330.html)
+* [CWE-331 熵不足](https://cwe.mitre.org/data/definitions/331.html)
+* [CWE-332 PRNG 中熵不足](https://cwe.mitre.org/data/definitions/332.html)
+* [CWE-334 随机值空间过小](https://cwe.mitre.org/data/definitions/334.html)
+* [CWE-335 伪随机数生成器(PRNG)中种子使用错误](https://cwe.mitre.org/data/definitions/335.html)
+* [CWE-336 伪随机数生成器(PRNG)中使用相同种子](https://cwe.mitre.org/data/definitions/336.html)
+* [CWE-337 伪随机数生成器(PRNG)中使用可预测种子](https://cwe.mitre.org/data/definitions/337.html)
+* [CWE-338 使用加密强度不足的伪随机数生成器(PRNG)](https://cwe.mitre.org/data/definitions/338.html)
+* [CWE-340 生成可预测数字或标识符](https://cwe.mitre.org/data/definitions/340.html)
+* [CWE-342 可从先前值预测精确值](https://cwe.mitre.org/data/definitions/342.html)
+* [CWE-347 加密签名验证不当](https://cwe.mitre.org/data/definitions/347.html)
+* [CWE-523 凭据传输未受保护](https://cwe.mitre.org/data/definitions/523.html)
+* [CWE-757 协商过程中选择较不安全算法(算法降级)](https://cwe.mitre.org/data/definitions/757.html)
+* [CWE-759 使用未加盐的单向哈希](https://cwe.mitre.org/data/definitions/759.html)
+* [CWE-760 使用带可预测盐值的单向哈希](https://cwe.mitre.org/data/definitions/760.html)
+* [CWE-780 使用未带 OAEP 的 RSA 算法](https://cwe.mitre.org/data/definitions/780.html)
+* [CWE-916 使用计算成本不足的密码哈希](https://cwe.mitre.org/data/definitions/916.html)
+* [CWE-1240 使用存在风险实现的加密原语](https://cwe.mitre.org/data/definitions/1240.html)
+* [CWE-1241 随机数生成器中使用可预测算法](https://cwe.mitre.org/data/definitions/1241.html)
diff --git a/2025/docs/zh-Hant/A05_2025-Injection.md b/2025/docs/zh-Hant/A05_2025-Injection.md
new file mode 100644
index 000000000..a63770eb7
--- /dev/null
+++ b/2025/docs/zh-Hant/A05_2025-Injection.md
@@ -0,0 +1,166 @@
+# A05:2025 注入 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+注入排名从第 3 位下降两位到第 5 位,相对于 A04:2025-加密机制失效和 A06:2025-不安全设计的位置保持不变。注入是测试最充分的类别之一,100% 的应用都被测试过某种形式的注入。它是所有类别中 CVE 数量最多的类别,本类别包含 37 个 CWE。注入包括跨站脚本(高频率/低影响,超过 3 万个 CVE)和 SQL 注入(低频率/高影响,超过 1.4 万个 CVE)。CWE-79“Web 页面生成期间输入中和不当(跨站脚本)”的大量已报告 CVE 拉低了该类别的平均加权影响。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 37
+ |
+ 13.77%
+ |
+ 3.08%
+ |
+ 100.00%
+ |
+ 42.93%
+ |
+ 7.15
+ |
+ 4.32
+ |
+ 1,404,249
+ |
+ 62,445
+ |
+
+
+
+## 描述
+
+注入漏洞是应用缺陷,使不可信用户输入能够被发送给解释器(例如浏览器、数据库、命令行),并导致解释器将输入的一部分作为命令执行。
+
+当出现以下情况时,应用容易受到攻击:
+
+* 用户提供的数据没有被应用验证、过滤或清理。
+* 动态查询或非参数化调用在没有上下文感知转义的情况下直接用于解释器。
+* 未清理的数据被用于对象关系映射(ORM)搜索参数,从而提取额外的敏感记录。
+* 可能有害的数据被直接使用或拼接。SQL 或命令在动态查询、命令或存储过程中同时包含结构和恶意数据。
+
+较常见的注入包括 SQL、NoSQL、OS 命令、对象关系映射(ORM)、LDAP,以及表达式语言(EL)或对象图导航库(OGNL)注入。所有解释器中的概念都是一样的。最佳检测方式是结合源代码审查与自动化测试(包括模糊测试),覆盖所有参数、头、URL、cookie、JSON、SOAP 和 XML 数据输入。将静态(SAST)、动态(DAST)和交互式(IAST)应用安全测试工具加入 CI/CD 流水线,也有助于在生产部署前识别注入缺陷。
+
+一类相关的注入漏洞在 LLM 中已经变得常见。它们在 [OWASP LLM Top 10](https://genai.owasp.org/llm-top-10/) 中单独讨论,尤其是 [LLM01:2025 Prompt Injection](https://genai.owasp.org/llmrisk/llm01-prompt-injection/)。
+
+## 如何预防
+
+预防注入的最佳方法是让数据与命令和查询保持分离:
+
+* 首选方式是使用安全 API,完全避免使用解释器,或提供参数化接口,或迁移到对象关系映射工具(ORM)。
+**注意:** 即使已参数化,如果 PL/SQL 或 T-SQL 拼接查询和数据,或用 EXECUTE IMMEDIATE 或 exec() 执行有害数据,存储过程仍可能引入 SQL 注入。
+
+当无法将数据与命令分离时,可以使用以下技术降低威胁。
+
+* 使用服务端正向输入验证。这不是完整防御,因为许多应用需要特殊字符,例如文本区域或移动应用 API。
+* 对任何残留的动态查询,使用该解释器专用的转义语法转义特殊字符。
+**注意:** 表名、列名等 SQL 结构无法被转义,因此用户提供的结构名称是危险的。这在报表编写软件中很常见。
+
+**警告:** 这些技术涉及复杂字符串的解析和转义,容易出错,并且对底层系统的细微变化不够稳健。
+
+## 攻击场景示例
+
+**场景 #1:** 应用在构造以下易受攻击的 SQL 调用时使用了不可信数据:
+
+```
+String query = "SELECT * FROM accounts WHERE custID='" + request.getParameter("id") + "'";
+```
+
+攻击者在浏览器中把 `id` 参数值修改为:`' OR '1'='1`。例如:
+
+```
+http://example.com/app/accountView?id=' OR '1'='1
+```
+
+这会改变查询含义,返回 accounts 表中的所有记录。更危险的攻击还可能修改或删除数据,甚至调用存储过程。
+
+**场景 #2:** 应用盲目信任框架,仍可能生成易受攻击的查询。例如 Hibernate Query Language(HQL):
+
+```
+Query HQLQuery = session.createQuery("FROM accounts WHERE custID='" + request.getParameter("id") + "'");
+```
+
+攻击者提供:`' OR custID IS NOT NULL OR custID='`。这会绕过过滤器并返回所有账户。虽然 HQL 的危险函数少于原始 SQL,但当用户输入被拼接进查询时,仍会允许未经授权的数据访问。
+
+**场景 #3:** 应用把用户输入直接传给 OS 命令:
+
+```
+String cmd = "nslookup " + request.getParameter("domain");
+Runtime.getRuntime().exec(cmd);
+```
+
+攻击者提供 `example.com; cat /etc/passwd`,从而在服务器上执行任意命令。
+
+## 参考资料
+
+* [OWASP Proactive Controls: Secure Database Access](https://owasp.org/www-project-proactive-controls/v3/en/c3-secure-database)
+* [OWASP ASVS: V5 Input Validation and Encoding](https://owasp.org/www-project-application-security-verification-standard)
+* [OWASP Testing Guide: SQL Injection,](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05-Testing_for_SQL_Injection) [Command Injection](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/12-Testing_for_Command_Injection), and [ORM Injection](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05.7-Testing_for_ORM_Injection)
+* [OWASP Cheat Sheet: Injection Prevention](https://cheatsheetseries.owasp.org/cheatsheets/Injection_Prevention_Cheat_Sheet.html)
+* [OWASP Cheat Sheet: SQL Injection Prevention](https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html)
+* [OWASP Cheat Sheet: Injection Prevention in Java](https://cheatsheetseries.owasp.org/cheatsheets/Injection_Prevention_Cheat_Sheet_in_Java.html)
+* [OWASP Cheat Sheet: Query Parameterization](https://cheatsheetseries.owasp.org/cheatsheets/Query_Parameterization_Cheat_Sheet.html)
+* [OWASP Automated Threats to Web Applications - OAT-014](https://owasp.org/www-project-automated-threats-to-web-applications/)
+* [PortSwigger: Server-side template injection](https://portswigger.net/kb/issues/00101080_serversidetemplateinjection)
+* [Awesome Fuzzing: a list of fuzzing resources](https://github.com/secfigo/Awesome-Fuzzing)
+
+## 映射的 CWE 列表
+
+* [CWE-20 输入验证不当](https://cwe.mitre.org/data/definitions/20.html)
+* [CWE-74 下游组件所用输出中特殊元素中和不当(注入)](https://cwe.mitre.org/data/definitions/74.html)
+* [CWE-76 等价特殊元素中和不当](https://cwe.mitre.org/data/definitions/76.html)
+* [CWE-77 命令中特殊元素中和不当(命令注入)](https://cwe.mitre.org/data/definitions/77.html)
+* [CWE-78 操作系统命令中特殊元素中和不当(操作系统命令注入)](https://cwe.mitre.org/data/definitions/78.html)
+* [CWE-79 网页生成期间输入中和不当(跨站脚本)](https://cwe.mitre.org/data/definitions/79.html)
+* [CWE-80 网页中脚本相关 HTML 标签中和不当(基础跨站脚本)](https://cwe.mitre.org/data/definitions/80.html)
+* [CWE-83 网页属性中的脚本中和不当](https://cwe.mitre.org/data/definitions/83.html)
+* [CWE-86 网页标识符中的无效字符中和不当](https://cwe.mitre.org/data/definitions/86.html)
+* [CWE-88 命令中参数分隔符中和不当(参数注入)](https://cwe.mitre.org/data/definitions/88.html)
+* [CWE-89 SQL 命令中特殊元素中和不当(SQL 注入)](https://cwe.mitre.org/data/definitions/89.html)
+* [CWE-90 LDAP 查询中特殊元素中和不当(LDAP 注入)](https://cwe.mitre.org/data/definitions/90.html)
+* [CWE-91 XML 注入(又称盲 XPath 注入)](https://cwe.mitre.org/data/definitions/91.html)
+* [CWE-93 CRLF 序列中和不当(CRLF 注入)](https://cwe.mitre.org/data/definitions/93.html)
+* [CWE-94 代码生成控制不当(代码注入)](https://cwe.mitre.org/data/definitions/94.html)
+* [CWE-95 动态求值代码中指令中和不当(动态求值注入)](https://cwe.mitre.org/data/definitions/95.html)
+* [CWE-96 静态保存代码中指令中和不当(静态代码注入)](https://cwe.mitre.org/data/definitions/96.html)
+* [CWE-97 网页中服务端包含(SSI)中和不当](https://cwe.mitre.org/data/definitions/97.html)
+* [CWE-98 PHP 程序中 `include`/`require` 语句文件名控制不当(PHP 远程文件包含)](https://cwe.mitre.org/data/definitions/98.html)
+* [CWE-99 资源标识符控制不当(资源注入)](https://cwe.mitre.org/data/definitions/99.html)
+* [CWE-103 Struts:`validate()` 方法定义不完整](https://cwe.mitre.org/data/definitions/103.html)
+* [CWE-104 Struts:表单 Bean 未扩展验证类](https://cwe.mitre.org/data/definitions/104.html)
+* [CWE-112 缺少 XML 验证](https://cwe.mitre.org/data/definitions/112.html)
+* [CWE-113 HTTP 头中 CRLF 序列中和不当(HTTP 响应拆分)](https://cwe.mitre.org/data/definitions/113.html)
+* [CWE-114 进程控制](https://cwe.mitre.org/data/definitions/114.html)
+* [CWE-115 输出解释错误](https://cwe.mitre.org/data/definitions/115.html)
+* [CWE-116 输出编码或转义不当](https://cwe.mitre.org/data/definitions/116.html)
+* [CWE-129 数组索引验证不当](https://cwe.mitre.org/data/definitions/129.html)
+* [CWE-159 特殊元素无效使用处理不当](https://cwe.mitre.org/data/definitions/159.html)
+* [CWE-470 使用外部可控输入选择类或代码(不安全反射)](https://cwe.mitre.org/data/definitions/470.html)
+* [CWE-493 关键 `public` 变量缺少 `final` 修饰符](https://cwe.mitre.org/data/definitions/493.html)
+* [CWE-500 `public static` 字段未标记为 `final`](https://cwe.mitre.org/data/definitions/500.html)
+* [CWE-564 SQL 注入:Hibernate](https://cwe.mitre.org/data/definitions/564.html)
+* [CWE-610 对另一范围中资源的外部可控引用](https://cwe.mitre.org/data/definitions/610.html)
+* [CWE-643 XPath 表达式中数据中和不当(XPath 注入)](https://cwe.mitre.org/data/definitions/643.html)
+* [CWE-644 脚本语法的 HTTP 头中和不当](https://cwe.mitre.org/data/definitions/644.html)
+* [CWE-917 表达式语言语句中特殊元素中和不当(表达式语言注入)](https://cwe.mitre.org/data/definitions/917.html)
diff --git a/2025/docs/zh-Hant/A06_2025-Insecure_Design.md b/2025/docs/zh-Hant/A06_2025-Insecure_Design.md
new file mode 100644
index 000000000..be484a903
--- /dev/null
+++ b/2025/docs/zh-Hant/A06_2025-Insecure_Design.md
@@ -0,0 +1,145 @@
+# A06:2025 不安全设计 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+不安全设计排名从第 4 位下滑两位到第 6 位,被 **[A02:2025-安全配置错误](A02_2025-Security_Misconfiguration.md)** 和 **[A03:2025-软件供应链失效](A03_2025-Software_Supply_Chain_Failures.md)** 超过。该类别于 2021 年引入,我们已经看到行业在威胁建模方面有明显改进,也更加重视安全设计。该类别关注与设计和架构缺陷相关的风险,并呼吁更多使用威胁建模、安全设计模式和参考架构。这包括应用业务逻辑中的缺陷,例如没有定义应用内部不希望发生或意外发生的状态变化。作为社区,我们需要超越编码阶段的“左移”,推进到需求编写和应用设计等编码前活动,这些活动对 Secure by Design 原则至关重要(例如参见 **[建立现代 AppSec 计划:规划和设计阶段](0x03_2025-Establishing_a_Modern_Application_Security_Program.md)**)。值得关注的通用弱点枚举(CWE)包括 *CWE-256:凭据存储未受保护*、*CWE-269:权限管理不当*、*CWE-434:危险类型文件上传不受限制*、*CWE-501:信任边界违背* 和 *CWE-522:凭据保护不足*。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 39
+ |
+ 22.18%
+ |
+ 1.86%
+ |
+ 88.76%
+ |
+ 35.18%
+ |
+ 6.96
+ |
+ 4.05
+ |
+ 729,882
+ |
+ 7,647
+ |
+
+
+
+## 描述
+
+不安全设计是一个宽泛类别,代表多种弱点,可概括为“缺失或无效的控制设计”。不安全设计不是其他所有 Top Ten 风险类别的来源。需要注意,不安全设计和不安全实现是不同的。我们区分设计缺陷和实现缺陷是有原因的:它们根因不同,发生在开发流程的不同时间点,修复方式也不同。安全设计仍可能因实现缺陷产生可被利用的漏洞。不安全设计无法通过完美实现修复,因为防御特定攻击所需的安全控制从未被创建。导致不安全设计的因素之一,是开发中的软件或系统本身缺少业务风险画像,因此无法判断需要什么级别的安全设计。
+
+安全设计包含三个关键部分:
+
+* 收集需求和资源管理
+* 创建安全设计
+* 具备安全开发生命周期
+
+### 需求和资源管理
+
+与业务方收集并协商应用的业务需求,包括所有数据资产在机密性、完整性、可用性和真实性方面的保护需求,以及预期业务逻辑。考虑应用将暴露到什么程度,以及是否需要租户隔离(超出访问控制所需的隔离)。汇总技术需求,包括功能性和非功能性安全需求。规划并协商覆盖设计、构建、测试和运维的预算,其中包括安全活动。
+
+### 安全设计
+
+安全设计是一种文化和方法论,会持续评估威胁,并确保代码经过稳健设计和测试,以防止已知攻击方法。威胁建模应集成到需求细化会(或类似活动)中;关注数据流、访问控制或其他安全控制的变化。在故事开发过程中,确定正确流程和失败状态,并确保相关责任方和受影响方都理解并达成一致。分析预期流程和失败流程中的假设及条件,确保它们仍然准确且符合预期。确定如何验证这些假设,并强制执行正确行为所需的条件。确保结果记录在故事中。从错误中学习,并提供正向激励来促进改进。安全设计既不是附加项,也不是一个可以简单加到软件上的工具。
+
+### 安全开发生命周期
+
+安全软件需要安全开发生命周期、安全设计模式、铺好的道路方法、安全组件库、合适工具、威胁建模,以及用于改进流程的事件复盘。请在软件项目开始时、项目过程中以及持续软件维护期间联系安全专家。考虑使用 [OWASP Software Assurance Maturity Model (SAMM)](https://owaspsamm.org/) 来组织安全软件开发工作。
+
+开发人员的自我责任常被低估。应培养安全意识、责任感和主动缓解风险的文化。围绕安全的定期交流(例如威胁建模会)可以形成一种思维方式,让安全进入所有重要设计决策。
+
+## 如何预防
+
+* 与 AppSec 专业人员共同建立并使用安全开发生命周期,以帮助评估和设计与安全及隐私相关的控制。
+* 建立并使用安全设计模式库或铺好的道路组件库。
+* 对应用的关键部分使用威胁建模,例如认证、访问控制、业务逻辑和关键流程。
+* 将威胁建模作为教育工具,用来形成安全思维。
+* 将安全语言和控制集成到用户故事中。
+* 在应用的每一层(从前端到后端)集成合理性检查。
+* 编写单元测试和集成测试,验证所有关键流程能够抵御威胁模型。为应用每一层编写用例 *和* 滥用用例。
+* 根据暴露程度和保护需求,在系统层和网络层隔离各层。
+* 在所有层中通过设计稳健地隔离租户。
+
+## 攻击场景示例
+
+**场景 #1:** 凭据恢复流程可能包含“问题和答案”,但 NIST 800-63b、OWASP ASVS 和 OWASP Top 10 都禁止这种方式。问题和答案不能作为身份依据,因为不止一个人可能知道答案。此类功能应被移除,并替换为更安全的设计。
+
+**场景 #2:** 某连锁影院允许团体订票折扣,并规定超过 15 人才需要支付定金。攻击者可以对该流程进行威胁建模,测试是否能在应用业务逻辑中找到攻击向量,例如通过少量请求一次性预订 600 个座位和所有影院,造成巨大收入损失。
+
+**场景 #3:** 某零售连锁的电子商务网站没有防护黄牛机器人抢购高端显卡并转卖到拍卖网站。这会给显卡厂商和零售连锁所有者带来严重负面舆论,也会让无法以任何价格买到显卡的爱好者长期不满。周密的反机器人设计和领域逻辑规则,例如识别在开售后几秒内完成的购买,可能识别非真实购买并拒绝此类交易。
+
+## 参考资料
+
+* [OWASP Cheat Sheet: Secure Design Principles](https://cheatsheetseries.owasp.org/cheatsheets/Secure_Product_Design_Cheat_Sheet.html)
+* [OWASP SAMM: Design | Secure Architecture](https://owaspsamm.org/model/design/secure-architecture/)
+* [OWASP SAMM: Design | Threat Assessment](https://owaspsamm.org/model/design/threat-assessment/)
+* [NIST - Guidelines on Minimum Standards for Developer Verification of Software](https://www.nist.gov/publications/guidelines-minimum-standards-developer-verification-software)
+* [The Threat Modeling Manifesto](https://threatmodelingmanifesto.org/)
+* [Awesome Threat Modeling](https://github.com/hysnsec/awesome-threat-modelling)
+
+## 映射的 CWE 列表
+
+* [CWE-73 文件名或路径受外部控制](https://cwe.mitre.org/data/definitions/73.html)
+* [CWE-183 允许输入列表过于宽松](https://cwe.mitre.org/data/definitions/183.html)
+* [CWE-256 凭据存储未受保护](https://cwe.mitre.org/data/definitions/256.html)
+* [CWE-266 权限分配错误](https://cwe.mitre.org/data/definitions/266.html)
+* [CWE-269 权限管理不当](https://cwe.mitre.org/data/definitions/269.html)
+* [CWE-286 用户管理错误](https://cwe.mitre.org/data/definitions/286.html)
+* [CWE-311 缺少敏感数据加密](https://cwe.mitre.org/data/definitions/311.html)
+* [CWE-312 明文存储敏感信息](https://cwe.mitre.org/data/definitions/312.html)
+* [CWE-313 在文件或磁盘上明文存储](https://cwe.mitre.org/data/definitions/313.html)
+* [CWE-316 在内存中明文存储敏感信息](https://cwe.mitre.org/data/definitions/316.html)
+* [CWE-362 使用共享资源并发执行时同步不当(竞争条件)](https://cwe.mitre.org/data/definitions/362.html)
+* [CWE-382 J2EE 不良实践:使用 `System.exit()`](https://cwe.mitre.org/data/definitions/382.html)
+* [CWE-419 主通道未受保护](https://cwe.mitre.org/data/definitions/419.html)
+* [CWE-434 危险类型文件上传不受限制](https://cwe.mitre.org/data/definitions/434.html)
+* [CWE-436 解释冲突](https://cwe.mitre.org/data/definitions/436.html)
+* [CWE-444 HTTP 请求解释不一致(HTTP 请求走私)](https://cwe.mitre.org/data/definitions/444.html)
+* [CWE-451 用户界面对关键信息表述失真](https://cwe.mitre.org/data/definitions/451.html)
+* [CWE-454 可信变量或数据存储受外部初始化](https://cwe.mitre.org/data/definitions/454.html)
+* [CWE-472 假定不可变的网站参数受外部控制](https://cwe.mitre.org/data/definitions/472.html)
+* [CWE-501 信任边界违背](https://cwe.mitre.org/data/definitions/501.html)
+* [CWE-522 凭据保护不足](https://cwe.mitre.org/data/definitions/522.html)
+* [CWE-525 使用含敏感信息的浏览器缓存](https://cwe.mitre.org/data/definitions/525.html)
+* [CWE-539 使用包含敏感信息的持久 Cookie](https://cwe.mitre.org/data/definitions/539.html)
+* [CWE-598 使用带敏感查询字符串的 `GET` 请求方法](https://cwe.mitre.org/data/definitions/598.html)
+* [CWE-602 在客户端强制执行服务端安全](https://cwe.mitre.org/data/definitions/602.html)
+* [CWE-628 函数调用参数指定错误](https://cwe.mitre.org/data/definitions/628.html)
+* [CWE-642 关键状态数据受外部控制](https://cwe.mitre.org/data/definitions/642.html)
+* [CWE-646 依赖外部提供文件的文件名或扩展名](https://cwe.mitre.org/data/definitions/646.html)
+* [CWE-653 隔离或分隔不足](https://cwe.mitre.org/data/definitions/653.html)
+* [CWE-656 依赖隐藏实现安全](https://cwe.mitre.org/data/definitions/656.html)
+* [CWE-657 违反安全设计原则](https://cwe.mitre.org/data/definitions/657.html)
+* [CWE-676 使用潜在危险函数](https://cwe.mitre.org/data/definitions/676.html)
+* [CWE-693 保护机制失效](https://cwe.mitre.org/data/definitions/693.html)
+* [CWE-799 交互频率控制不当](https://cwe.mitre.org/data/definitions/799.html)
+* [CWE-807 安全决策依赖不可信输入](https://cwe.mitre.org/data/definitions/807.html)
+* [CWE-841 行为工作流强制执行不当](https://cwe.mitre.org/data/definitions/841.html)
+* [CWE-1021 渲染用户界面层或框架限制不当](https://cwe.mitre.org/data/definitions/1021.html)
+* [CWE-1022 使用带 `window.opener` 访问权限、指向不可信目标的网站链接](https://cwe.mitre.org/data/definitions/1022.html)
+* [CWE-1125 攻击面过大](https://cwe.mitre.org/data/definitions/1125.html)
diff --git a/2025/docs/zh-Hant/A07_2025-Authentication_Failures.md b/2025/docs/zh-Hant/A07_2025-Authentication_Failures.md
new file mode 100644
index 000000000..b5093e33c
--- /dev/null
+++ b/2025/docs/zh-Hant/A07_2025-Authentication_Failures.md
@@ -0,0 +1,157 @@
+# A07:2025 认证失效 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+认证失效保持第 7 位,名称略有变化,以更准确地反映本类别中的 36 个 CWE。尽管标准化框架带来了一些好处,本类别仍保持了 2021 年的第 7 位。值得关注的 CWE 包括 *CWE-259:使用硬编码密码*、*CWE-297:证书主机不匹配验证不当*、*CWE-287:认证不当*、*CWE-384:会话固定* 和 *CWE-798:使用硬编码凭据*。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 36
+ |
+ 15.80%
+ |
+ 2.92%
+ |
+ 100.00%
+ |
+ 37.14%
+ |
+ 7.69
+ |
+ 4.44
+ |
+ 1,120,673
+ |
+ 7,147
+ |
+
+
+
+## 描述
+
+当攻击者能够欺骗系统,使系统把无效或错误用户识别为合法用户时,就存在该漏洞。如果应用存在以下情况,可能存在认证弱点:
+
+* 允许凭据填充等自动化攻击,即攻击者拥有一批泄露的有效用户名和密码。近期此类攻击已扩展到包括混合密码攻击与凭据填充(也称为密码喷洒攻击),攻击者会使用泄露凭据的变体或递增形式来尝试访问,例如尝试 Password1!、Password2!、Password3! 等。
+
+* 允许暴力破解或其他自动化脚本攻击,且不能快速阻断。
+
+* 允许默认、弱或众所周知的密码,例如用户名为 "admin" 且密码也为 "admin",或使用 "Password1"。
+
+* 允许用户使用已知泄露凭据创建新账户。
+
+* 允许使用弱或无效的凭据恢复和忘记密码流程,例如“基于知识的答案”,这类方式无法做到安全。
+
+* 使用明文、加密或弱哈希的密码数据存储(参见 [A04:2025-加密机制失效](https://owasp.org/Top10/2025/A04_2025-Cryptographic_Failures/))。
+
+* 缺少多因素认证,或多因素认证无效。
+
+* 在多因素认证不可用时,允许使用弱或无效的回退机制。
+
+* 在 URL、隐藏字段或客户端可访问的其他不安全位置暴露会话标识符。
+
+* 成功登录后重复使用同一个会话标识符。
+
+* 在登出或一段时间不活动后,没有正确使用户会话或认证令牌(主要是单点登录(SSO)令牌)失效。
+
+* 没有正确声明所提供凭据的作用域和预期受众。
+
+## 如何预防
+
+* 在可行时,实现并强制使用多因素认证,以防止自动化凭据填充、暴力破解和被盗凭据复用攻击。
+
+* 在可行时,鼓励并支持使用密码管理器,帮助用户做出更好的选择。
+
+* 不要随产品交付或部署任何默认凭据,尤其是管理员用户的默认凭据。
+
+* 实施弱密码检查,例如将新密码或修改后的密码与最差的前 10,000 个密码列表比对。
+
+* 在创建新账户和修改密码时,对照已知泄露凭据列表进行验证(例如使用 [haveibeenpwned.com](https://haveibeenpwned.com))。
+
+* 让密码长度、复杂度和轮换策略符合 [National Institute of Standards and Technology (NIST) 800-63b 第 5.1.1 节](https://pages.nist.gov/800-63-3/sp800-63b.html#:~:text=5.1.1%20Memorized%20Secrets)中关于记忆密钥的指南,或其他现代、基于证据的密码策略。
+
+* 除非怀疑已发生泄露,不要强迫用户定期轮换密码。如果怀疑发生泄露,应立即强制重置密码。
+
+* 确保注册、凭据恢复和 API 路径通过对所有结果使用相同消息来防止账户枚举攻击(例如“用户名或密码无效。”)。
+
+* 限制失败登录尝试或逐步增加延迟,但注意不要造成拒绝服务。记录所有失败,并在检测到或怀疑凭据填充、暴力破解或其他攻击时告警管理员。
+
+* 使用服务端、安全、内置的会话管理器,在登录后生成新的高熵随机会话 ID。会话标识符不应出现在 URL 中,应安全地存储在安全 cookie 中,并在登出、空闲超时和绝对超时后失效。
+
+* 理想情况下,使用预制、可信的系统处理认证、身份和会话管理。尽可能通过采购和使用经过加固且充分测试的系统来转移此风险。
+
+* 验证所提供凭据的预期用途,例如对 JWT 验证 `aud`、`iss` 声明和作用域。
+
+## 攻击场景示例
+
+**场景 #1:** 凭据填充,即使用已知用户名和密码组合列表,已经是非常常见的攻击。近期发现攻击者会基于人类常见行为“递增”或调整密码。例如,把 `Winter2025` 改成 `Winter2026`,或把 `ILoveMyDog6` 改成 `ILoveMyDog7` 或 `ILoveMyDog5`。这种调整密码尝试的方式被称为混合凭据填充攻击或密码喷洒攻击,效果甚至可能超过传统版本。如果应用没有针对自动化威胁(暴力破解、脚本或机器人)或凭据填充实施防护,该应用就可能被用作密码预言机,用于判断凭据是否有效并获取未经授权的访问。
+
+**场景 #2:** 大多数成功的认证攻击都源于继续把密码作为唯一认证因素。曾经被视为最佳实践的密码轮换和复杂度要求,会鼓励用户复用密码并使用弱密码。根据 NIST 800-63,建议组织停止这些做法,并在所有重要系统上强制使用多因素认证。
+
+**场景 #3:** 应用会话超时实现不正确。用户使用公共计算机访问应用,但没有选择“登出”,只是关闭浏览器标签页就离开。另一个例子是,如果单点登录(SSO)会话无法通过单点登出(SLO)关闭,也会产生问题。也就是说,一次登录会让你进入邮件阅读器、文档系统和聊天系统等多个系统。但登出只发生在当前系统。如果攻击者在受害者以为自己已成功登出后使用同一个浏览器,而用户仍在某些应用中保持认证状态,攻击者就能访问受害者账户。同样问题也可能发生在办公室和企业环境中:敏感应用没有正确退出,而同事临时接触到了未锁定的电脑。
+
+## 参考资料
+
+* [OWASP Authentication Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html)
+
+* [OWASP Secure Coding Practices](https://owasp.org/www-project-secure-coding-practices-quick-reference-guide/stable-en/01-introduction/05-introduction)
+
+## 映射的 CWE 列表
+
+* [CWE-258 配置文件中存在空密码](https://cwe.mitre.org/data/definitions/258.html)
+* [CWE-259 使用硬编码密码](https://cwe.mitre.org/data/definitions/259.html)
+* [CWE-287 认证不当](https://cwe.mitre.org/data/definitions/287.html)
+* [CWE-288 使用替代路径或通道绕过认证](https://cwe.mitre.org/data/definitions/288.html)
+* [CWE-289 通过替代名称绕过认证](https://cwe.mitre.org/data/definitions/289.html)
+* [CWE-290 通过欺骗绕过认证](https://cwe.mitre.org/data/definitions/290.html)
+* [CWE-291 依赖 IP 地址进行认证](https://cwe.mitre.org/data/definitions/291.html)
+* [CWE-293 使用 `Referer` 字段进行认证](https://cwe.mitre.org/data/definitions/293.html)
+* [CWE-294 通过捕获重放绕过认证](https://cwe.mitre.org/data/definitions/294.html)
+* [CWE-295 证书验证不当](https://cwe.mitre.org/data/definitions/295.html)
+* [CWE-297 证书主机不匹配验证不当](https://cwe.mitre.org/data/definitions/297.html)
+* [CWE-298 证书主机不匹配验证不当](https://cwe.mitre.org/data/definitions/298.html)
+* [CWE-299 证书主机不匹配验证不当](https://cwe.mitre.org/data/definitions/299.html)
+* [CWE-300 通道可被非端点访问](https://cwe.mitre.org/data/definitions/300.html)
+* [CWE-302 通过假定不可变数据绕过认证](https://cwe.mitre.org/data/definitions/302.html)
+* [CWE-303 认证算法实现错误](https://cwe.mitre.org/data/definitions/303.html)
+* [CWE-304 认证中缺少关键步骤](https://cwe.mitre.org/data/definitions/304.html)
+* [CWE-305 通过主要弱点绕过认证](https://cwe.mitre.org/data/definitions/305.html)
+* [CWE-306 关键功能缺少认证](https://cwe.mitre.org/data/definitions/306.html)
+* [CWE-307 对过多认证尝试限制不当](https://cwe.mitre.org/data/definitions/307.html)
+* [CWE-308 使用单因素认证](https://cwe.mitre.org/data/definitions/308.html)
+* [CWE-309 使用密码系统作为主认证方式](https://cwe.mitre.org/data/definitions/309.html)
+* [CWE-346 来源验证错误](https://cwe.mitre.org/data/definitions/346.html)
+* [CWE-350 安全关键操作依赖反向 DNS 解析](https://cwe.mitre.org/data/definitions/350.html)
+* [CWE-384 会话固定](https://cwe.mitre.org/data/definitions/384.html)
+* [CWE-521 弱密码要求](https://cwe.mitre.org/data/definitions/521.html)
+* [CWE-613 会话过期不足](https://cwe.mitre.org/data/definitions/613.html)
+* [CWE-620 密码变更未验证](https://cwe.mitre.org/data/definitions/620.html)
+* [CWE-640 忘记密码恢复机制薄弱](https://cwe.mitre.org/data/definitions/640.html)
+* [CWE-798 使用硬编码凭据](https://cwe.mitre.org/data/definitions/798.html)
+* [CWE-940 通信通道来源验证不当](https://cwe.mitre.org/data/definitions/940.html)
+* [CWE-941 通信通道目标指定错误](https://cwe.mitre.org/data/definitions/941.html)
+* [CWE-1390 弱认证](https://cwe.mitre.org/data/definitions/1390.html)
+* [CWE-1391 使用弱凭据](https://cwe.mitre.org/data/definitions/1391.html)
+* [CWE-1392 使用默认凭据](https://cwe.mitre.org/data/definitions/1392.html)
+* [CWE-1393 使用默认密码](https://cwe.mitre.org/data/definitions/1393.html)
diff --git a/2025/docs/zh-Hant/A08_2025-Software_or_Data_Integrity_Failures.md b/2025/docs/zh-Hant/A08_2025-Software_or_Data_Integrity_Failures.md
new file mode 100644
index 000000000..32b12c189
--- /dev/null
+++ b/2025/docs/zh-Hant/A08_2025-Software_or_Data_Integrity_Failures.md
@@ -0,0 +1,100 @@
+# A08:2025 软件或数据完整性失效 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+软件或数据完整性失效继续位列第 8,名称从“Software *and* Data Integrity Failures”略作澄清性调整。该类别关注在比软件供应链失效更低一层的位置,未能维护信任边界并验证软件、代码和数据工件完整性的问题。该类别关注在没有验证完整性的情况下,对软件更新和关键数据作出假设。值得关注的通用弱点枚举(CWE)包括 *CWE-829:从不可信控制范围引入功能*、*CWE-915:对动态确定对象属性的修改控制不当* 和 *CWE-502:反序列化不可信数据*。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 14
+ |
+ 8.98%
+ |
+ 2.75%
+ |
+ 78.52%
+ |
+ 45.49%
+ |
+ 7.11
+ |
+ 4.79
+ |
+ 501,327
+ |
+ 3,331
+ |
+
+
+
+## 描述
+
+软件和数据完整性失效与未能防止无效或不可信代码或数据被当作可信和有效内容处理的代码及基础设施有关。一个例子是应用依赖来自不可信来源、仓库和内容分发网络(CDN)的插件、库或模块。缺少消费和提供软件完整性检查的不安全 CI/CD 流水线,可能引入未经授权访问、不安全或恶意代码、系统被攻陷等风险。另一个例子是 CI/CD 从不可信位置拉取代码或工件,或者在使用前没有通过签名检查或类似机制验证它们。最后,许多应用现在包含自动更新功能,会在缺少充分完整性验证的情况下下载更新,并应用到此前受信任的应用上。攻击者可能上传自己的更新,使其被分发并在所有安装实例上运行。还有一种例子是,对象或数据被编码或序列化为攻击者可见且可修改的结构,从而容易受到不安全反序列化攻击。
+
+## 如何预防
+
+* 使用数字签名或类似机制验证软件或数据来自预期来源,且没有被修改。
+* 确保 npm 或 Maven 等库和依赖只使用可信仓库。如果风险较高,考虑托管内部的、经过审核的已知良好仓库。
+* 确保代码和配置变更有审查流程,以降低恶意代码或配置被引入软件流水线的可能性。
+* 确保 CI/CD 流水线具备适当隔离、配置和访问控制,以保障流经构建和部署流程的代码完整性。
+* 确保不会从不可信客户端接收未签名或未加密的序列化数据,并在没有某种完整性检查或数字签名来检测篡改或重放的情况下继续使用。
+
+## 攻击场景示例
+
+**场景 #1 来自不可信来源的 Web 功能引入:** 某公司使用外部服务提供商提供支持功能。为了方便,它将 `myCompany.SupportProvider.com` DNS 映射到 `support.myCompany.com`。这意味着所有设置在 `myCompany.com` 域上的 cookie,包括认证 cookie,现在都会被发送给该支持提供商。任何能访问支持提供商基础设施的人,都可以窃取访问过 `support.myCompany.com` 的所有用户的 cookie,并执行会话劫持攻击。
+
+**场景 #2 未签名更新:** 许多家用路由器、机顶盒、设备固件等不会通过签名固件验证更新。未签名固件正成为攻击者越来越关注的目标,而且预计只会更糟。这是重大问题,因为许多时候除了在未来版本中修复并等待旧版本自然淘汰外,没有其他修复机制。
+
+**场景 #3 使用来自不可信来源的软件包:** 开发人员难以找到所需软件包的更新版本,于是没有从常规、可信的软件包管理器下载,而是从网上某个网站下载。该软件包未签名,因此无法确保完整性。软件包中包含恶意代码。
+
+**场景 #4 不安全反序列化:** 一个 React 应用调用一组 Spring Boot 微服务。作为函数式程序员,开发者试图确保代码不可变。他们想到的方案是序列化用户状态,并在每个请求中来回传递。攻击者注意到 `rO0` Java 对象签名(base64 编码),并使用 [Java Deserialization Scanner](https://github.com/federicodotta/Java-Deserialization-Scanner) 在应用服务器上获得远程代码执行。
+
+## 参考资料
+
+* [OWASP Cheat Sheet: Software Supply Chain Security](https://cheatsheetseries.owasp.org/cheatsheets/Software_Supply_Chain_Security_Cheat_Sheet.html)
+* [OWASP Cheat Sheet: Infrastructure as Code](https://cheatsheetseries.owasp.org/cheatsheets/Infrastructure_as_Code_Security_Cheat_Sheet.html)
+* [OWASP Cheat Sheet: Deserialization](https://wiki.owasp.org/index.php/Deserialization_Cheat_Sheet)
+* [SAFECode Software Integrity Controls](https://safecode.org/publication/SAFECode_Software_Integrity_Controls0610.pdf)
+* [A 'Worst Nightmare' Cyberattack: The Untold Story Of The SolarWinds Hack](https://www.npr.org/2021/04/16/985439655/a-worst-nightmare-cyberattack-the-untold-story-of-the-solarwinds-hack)
+* [CodeCov Bash Uploader Compromise](https://about.codecov.io/security-update)
+* [Securing DevOps by Julien Vehent](https://www.manning.com/books/securing-devops)
+* [Insecure Deserialization by Tenendo](https://tenendo.com/insecure-deserialization/)
+
+## 映射的 CWE 列表
+
+* [CWE-345 数据真实性验证不足](https://cwe.mitre.org/data/definitions/345.html)
+* [CWE-353 缺少完整性检查支持](https://cwe.mitre.org/data/definitions/353.html)
+* [CWE-426 不可信搜索路径](https://cwe.mitre.org/data/definitions/426.html)
+* [CWE-427 搜索路径元素不受控制](https://cwe.mitre.org/data/definitions/427.html)
+* [CWE-494 下载代码时未进行完整性检查](https://cwe.mitre.org/data/definitions/494.html)
+* [CWE-502 反序列化不可信数据](https://cwe.mitre.org/data/definitions/502.html)
+* [CWE-506 嵌入恶意代码](https://cwe.mitre.org/data/definitions/506.html)
+* [CWE-509 复制恶意代码(病毒或蠕虫)](https://cwe.mitre.org/data/definitions/509.html)
+* [CWE-565 依赖未经验证和完整性检查的 Cookie](https://cwe.mitre.org/data/definitions/565.html)
+* [CWE-784 安全决策中依赖未经验证和完整性检查的 Cookie](https://cwe.mitre.org/data/definitions/784.html)
+* [CWE-829 从不可信控制范围引入功能](https://cwe.mitre.org/data/definitions/829.html)
+* [CWE-830 从不可信来源引入网页功能](https://cwe.mitre.org/data/definitions/830.html)
+* [CWE-915 对动态确定对象属性的修改控制不当](https://cwe.mitre.org/data/definitions/915.html)
+* [CWE-926 安卓应用组件导出不当](https://cwe.mitre.org/data/definitions/926.html)
diff --git a/2025/docs/zh-Hant/A09_2025-Security_Logging_and_Alerting_Failures.md b/2025/docs/zh-Hant/A09_2025-Security_Logging_and_Alerting_Failures.md
new file mode 100644
index 000000000..36419d65c
--- /dev/null
+++ b/2025/docs/zh-Hant/A09_2025-Security_Logging_and_Alerting_Failures.md
@@ -0,0 +1,121 @@
+# A09:2025 安全日志记录和告警失效 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+安全日志记录和告警失效保持第 9 位。该类别名称略有变化,用于强调相关日志事件需要告警功能来触发行动。该类别在数据中始终会被低估,并且第三次由社区问卷参与者投票进入列表。该类别极难测试,在 CVE/CVSS 数据中的体现很少(只有 723 个 CVE);但它对可见性、事件告警和取证可能有很大影响。本类别包括与*正确处理写入日志文件时的输出编码(CWE-117)、向日志文件插入敏感数据(CWE-532)和日志记录不足(CWE-778)*相关的问题。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 5
+ |
+ 11.33%
+ |
+ 3.91%
+ |
+ 85.96%
+ |
+ 46.48%
+ |
+ 7.19
+ |
+ 2.65
+ |
+ 260,288
+ |
+ 723
+ |
+
+
+
+## 描述
+
+没有日志记录和监控,就无法检测攻击和安全事件;没有告警,也很难在安全事件中快速有效响应。当出现以下情况时,就会发生日志记录不足、持续监控不足、检测不足,以及无法通过告警发起主动响应的问题:
+
+* 可审计事件没有记录或记录不一致,例如登录、登录失败和高价值交易(例如只记录成功登录,不记录失败尝试)。
+* 警告和错误不生成日志消息,或生成的消息不足、不清晰。
+* 日志完整性没有得到妥善保护,容易被篡改。
+* 应用和 API 的日志没有被监控以发现可疑活动。
+* 日志只存储在本地,没有正确备份。
+* 没有建立适当的告警阈值和响应升级流程,或这些流程无效。告警没有在合理时间内被接收或审查。
+* 渗透测试和动态应用安全测试(DAST)工具(例如 Burp 或 ZAP)的扫描没有触发告警。
+* 应用无法实时或近实时检测、升级或告警正在发生的攻击。
+* 通过让日志记录和告警事件对用户或攻击者可见,容易导致敏感信息泄露(参见 [A01:2025-失效的访问控制](A01_2025-Broken_Access_Control.md)),或记录了不应记录的敏感信息(例如 PII 或 PHI)。
+* 如果日志数据没有正确编码,就容易受到针对日志或监控系统的注入或攻击。
+* 应用缺失或错误处理错误及其他异常条件,导致系统不知道发生了错误,因此无法记录问题。
+* 缺少足够的、用于触发告警的“用例”,或用例已经过时,无法识别特殊情况。
+* 过多误报让人无法区分重要告警和不重要告警,导致重要告警被过晚识别或完全没有被识别(SOC 团队实际过载)。
+* 因为该用例的剧本不完整、过时或缺失,检测到的告警无法被正确处理。
+
+## 如何预防
+
+开发人员应根据应用风险实现以下部分或全部控制:
+
+* 确保所有登录、访问控制和服务端输入验证失败都能被记录,并包含足够的用户上下文,以识别可疑或恶意账户;保留足够长时间,以便延迟取证分析。
+* 确保应用中包含安全控制的每一部分都记录日志,无论成功还是失败。
+* 确保日志以日志管理解决方案能够轻松消费的格式生成。
+* 确保正确编码日志数据,以防止对日志或监控系统的注入或攻击。
+* 确保所有交易都有带完整性控制的审计轨迹,以防止篡改或删除,例如只追加数据库表或类似机制。
+* 确保所有抛出错误的交易都回滚并重新开始。始终故障关闭(fail closed)。
+* 如果应用或其用户行为可疑,应发出告警。为开发人员创建这方面的指南,让他们能据此编码,或采购相关系统。
+* DevSecOps 和安全团队应建立有效的监控和告警用例,包括剧本,使安全运营中心(SOC)团队能够快速检测并响应可疑活动。
+* 在应用中加入“蜜标”作为攻击者陷阱,例如加入数据库、数据,或作为真实和/或技术用户身份。由于它们不会在正常业务中使用,任何访问都会生成可告警的日志数据,且几乎没有误报。
+* 行为分析和 AI 支持可以作为可选附加技术,用于降低告警误报率。
+* 建立或采用事件响应和恢复计划,例如 National Institute of Standards and Technology(NIST)800-61r2 或更新版本。教会软件开发人员应用攻击和事件的表现,使他们能够报告。
+
+商业和开源应用防护产品(例如 OWASP ModSecurity Core Rule Set)以及开源日志关联软件(例如 Elasticsearch、Logstash、Kibana(ELK)栈)提供自定义仪表板和告警功能,可能有助于处理这些问题。也有商业可观测性工具可以帮助你近实时响应或阻断攻击。
+
+## 攻击场景示例
+
+**场景 #1:** 某儿童健康计划提供商的网站运营方由于缺少监控和日志,无法检测到安全事件。外部方通知该健康计划提供商,攻击者已经访问并修改了超过 350 万名儿童的数千条敏感健康记录。事件后审查发现,网站开发人员没有处理重大漏洞。由于系统没有日志记录或监控,数据泄露可能自 2013 年以来一直在进行,时间超过七年。
+
+**场景 #2:** 某大型印度航空公司发生数据泄露,涉及数百万乘客超过十年的个人数据,包括护照和信用卡数据。数据泄露发生在第三方云托管提供商处,该提供商在一段时间后才通知航空公司。
+
+**场景 #3:** 某大型欧洲航空公司发生必须按 GDPR 报告的安全事件。据报道,该事件由攻击者利用支付应用安全漏洞造成,攻击者收集了超过 40 万条客户支付记录。该航空公司因此被隐私监管机构罚款 2000 万英镑。
+
+## 参考资料
+
+- [OWASP Proactive Controls: C9: Implement Logging and Monitoring](https://top10proactive.owasp.org/archive/2024/the-top-10/c9-security-logging-and-monitoring/)
+
+- [OWASP Application Security Verification Standard: V16 Security Logging and Error Handling](https://github.com/OWASP/ASVS/blob/v5.0.0/5.0/en/0x25-V16-Security-Logging-and-Error-Handling.md)
+
+- [OWASP Cheat Sheet: Application Logging Vocabulary](https://cheatsheetseries.owasp.org/cheatsheets/Application_Logging_Vocabulary_Cheat_Sheet.html)
+
+- [OWASP Cheat Sheet: Logging](https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html)
+
+- [Data Integrity: Recovering from Ransomware and Other Destructive Events](https://csrc.nist.gov/publications/detail/sp/1800-11/final)
+
+- [Data Integrity: Identifying and Protecting Assets Against Ransomware and Other Destructive Events](https://csrc.nist.gov/publications/detail/sp/1800-25/final)
+
+- [Data Integrity: Detecting and Responding to Ransomware and Other Destructive Events](https://csrc.nist.gov/publications/detail/sp/1800-26/final)
+
+- [Real world example of such failures in Snowflake Breach](https://www.huntress.com/threat-library/data-breach/snowflake-data-breach)
+
+## 映射的 CWE 列表
+
+* [CWE-117 日志输出转义不当](https://cwe.mitre.org/data/definitions/117.html)
+* [CWE-221 因遗漏造成信息丢失](https://cwe.mitre.org/data/definitions/221.html)
+* [CWE-223 遗漏安全相关信息](https://cwe.mitre.org/data/definitions/223.html)
+* [CWE-532 向日志文件插入敏感信息](https://cwe.mitre.org/data/definitions/532.html)
+* [CWE-778 日志记录不足](https://cwe.mitre.org/data/definitions/778.html)
diff --git a/2025/docs/zh-Hant/A10_2025-Mishandling_of_Exceptional_Conditions.md b/2025/docs/zh-Hant/A10_2025-Mishandling_of_Exceptional_Conditions.md
new file mode 100644
index 000000000..dd2425b5e
--- /dev/null
+++ b/2025/docs/zh-Hant/A10_2025-Mishandling_of_Exceptional_Conditions.md
@@ -0,0 +1,129 @@
+# A10:2025 异常条件处理不当 {: style="height:80px;width:80px" align="right"}
+
+## 背景
+
+异常条件处理不当是 2025 年新增类别。该类别包含 24 个 CWE,关注错误处理不当、逻辑错误、失效开放,以及系统可能遇到的异常条件所引发的其他相关场景。本类别中有一些 CWE 过去与代码质量差相关联。对我们来说,这种说法过于宽泛;我们认为,这个更具体的类别能提供更好的指导。
+
+本类别中值得关注的 CWE 包括:*CWE-209:生成包含敏感信息的错误消息*、*CWE-234:未处理缺失参数*、*CWE-274:权限不足处理不当*、*CWE-476:空指针解引用* 和 *CWE-636:未能安全失效(失效开放)*。
+
+## 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 24
+ |
+ 20.67%
+ |
+ 2.95%
+ |
+ 100.00%
+ |
+ 37.95%
+ |
+ 7.11
+ |
+ 3.81
+ |
+ 769,581
+ |
+ 3,416
+ |
+
+
+
+## 描述
+
+软件中异常条件处理不当,是指程序未能预防、检测和响应异常且不可预测的情况,从而导致崩溃、意外行为,有时还会造成漏洞。这可能涉及以下三类失败中的一种或多种:应用没有阻止异常情况发生,没有在异常情况发生时识别它,和/或在事后响应不佳或完全不响应。
+
+异常条件可能由缺失、薄弱或不完整的输入验证造成,也可能由没有在错误发生的函数处处理,而是在较晚、更高层级处理错误造成;还可能来自内存、权限或网络问题等意外环境状态、不一致的异常处理,或完全未处理的异常,使系统进入未知且不可预测的状态。任何时候,只要应用不确定下一条指令是什么,就已经对异常条件处理不当。难以发现的错误和异常可能长期威胁整个应用的安全。
+
+当我们对异常条件处理不当时,可能出现许多不同安全漏洞,例如逻辑缺陷、溢出、竞争条件、欺诈交易,或与内存、状态、资源、时序、认证和授权有关的问题。这些类型的漏洞可能负面影响系统或其数据的机密性、可用性和/或完整性。攻击者会操纵应用有缺陷的错误处理来利用此类漏洞。
+
+## 如何预防
+
+为了正确处理异常条件,我们必须提前为这类情况做计划(预期最坏情况)。我们必须在每个可能发生系统错误的位置直接“捕获”错误,然后处理它,也就是采取有意义的行动来解决问题,并确保系统从问题中恢复。作为处理的一部分,应包括抛出错误(以用户能理解的方式告知用户)、记录事件日志,并在我们认为有必要时发出告警。还应设置全局异常处理器,以应对可能遗漏的情况。理想情况下,我们还应具备监控和/或可观测性工具或功能,用于发现重复错误或表明正在发生攻击的模式,并能触发某种响应、防御或阻断。这可以帮助我们阻止并响应专门针对错误处理弱点的脚本和机器人。
+
+捕获并处理异常条件可以确保程序的底层基础设施不会被迫处理不可预测的情况。如果你正处于任何类型交易的中途,非常重要的一点是回滚交易的每个部分并重新开始(也称为故障关闭,failing closed)。试图从交易中途恢复,往往会造成无法恢复的错误。
+
+在可能的情况下,尽量加入速率限制、资源配额、节流和其他限制,从源头预防异常条件。信息技术中不应存在无限制的东西,因为这会导致应用韧性不足、拒绝服务、成功的暴力破解攻击以及异常高昂的云账单。
+
+请考虑是否应将超过一定频率的相同重复错误只输出为统计信息,显示发生次数和时间范围。该信息应追加到原始消息中,以免干扰自动化日志记录和监控,参见 [A09:2025 安全日志记录和告警失效](A09_2025-Security_Logging_and_Alerting_Failures.md)。
+
+除此之外,我们还希望加入严格输入验证(对必须接受的潜在危险字符进行清理或转义),以及*集中式*错误处理、日志记录、监控、告警和全局异常处理器。一个应用不应有多个处理异常条件的函数,应在一个地方以相同方式执行。我们还应为本节所有建议创建项目安全需求,在项目设计阶段执行威胁建模和/或安全设计审查活动,执行代码审查或静态分析,并对最终系统执行压力、性能和渗透测试。
+
+如果可能,整个组织应以同一种方式处理异常条件,因为这会让这项重要安全控制的代码审查和审计更容易。
+
+## 攻击场景示例
+
+**场景 #1:** 异常条件处理不当导致资源耗尽(拒绝服务)。如果应用在上传文件时捕获异常,但事后没有正确释放资源,每次新异常都会让资源保持锁定或不可用,直到所有资源耗尽。
+
+**场景 #2:** 错误处理不当或数据库错误把完整系统错误暴露给用户,导致敏感数据泄露。攻击者持续制造错误,以利用敏感系统信息构造更好的 SQL 注入攻击。用户错误消息中的敏感数据成为侦察信息。
+
+**场景 #3:** 攻击者通过网络中断打断多步骤交易,可能导致金融交易状态损坏。假设交易顺序为:扣减用户账户、增加目标账户余额、记录交易。如果系统在中途出错时没有正确回滚整个交易(故障关闭),攻击者可能耗尽用户账户,或可能利用竞争条件多次向目标账户转账。
+
+## 参考资料
+
+OWASP MASVS-RESILIENCE
+
+- [OWASP Cheat Sheet: Logging](https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html)
+
+- [OWASP Cheat Sheet: Error Handling](https://cheatsheetseries.owasp.org/cheatsheets/Error_Handling_Cheat_Sheet.html)
+
+- [OWASP Application Security Verification Standard (ASVS): V16.5 Error Handling](https://github.com/OWASP/ASVS/blob/master/5.0/en/0x25-V16-Security-Logging-and-Error-Handling.md#v165-error-handling)
+
+- [OWASP Testing Guide: 4.8.1 Testing for Error Handling](https://owasp.org/www-project-web-security-testing-guide/stable/4-Web_Application_Security_Testing/08-Testing_for_Error_Handling/01-Testing_For_Improper_Error_Handling)
+
+* [Best practices for exceptions (Microsoft, .Net)](https://learn.microsoft.com/en-us/dotnet/standard/exceptions/best-practices-for-exceptions)
+
+* [Clean Code and the Art of Exception Handling (Toptal)](https://www.toptal.com/developers/abap/clean-code-and-the-art-of-exception-handling)
+
+* [General error handling rules (Google for Developers)](https://developers.google.com/tech-writing/error-messages/error-handling)
+
+* [Example of real-world mishandling of an exceptional condition](https://www.firstreference.com/blog/human-error-and-internal-control-failures-cause-us62m-fine/)
+
+## 映射的 CWE 列表
+
+* [CWE-209 生成包含敏感信息的错误消息](https://cwe.mitre.org/data/definitions/209.html)
+* [CWE-215 将敏感信息插入调试代码](https://cwe.mitre.org/data/definitions/215.html)
+* [CWE-234 未处理缺失参数](https://cwe.mitre.org/data/definitions/234.html)
+* [CWE-235 额外参数处理不当](https://cwe.mitre.org/data/definitions/235.html)
+* [CWE-248 未捕获异常](https://cwe.mitre.org/data/definitions/248.html)
+* [CWE-252 未检查返回值](https://cwe.mitre.org/data/definitions/252.html)
+* [CWE-274 权限不足处理不当](https://cwe.mitre.org/data/definitions/274.html)
+* [CWE-280 权限或特权不足处理不当](https://cwe.mitre.org/data/definitions/280.html)
+* [CWE-369 除零](https://cwe.mitre.org/data/definitions/369.html)
+* [CWE-390 检测到错误条件但未采取行动](https://cwe.mitre.org/data/definitions/390.html)
+* [CWE-391 未检查错误条件](https://cwe.mitre.org/data/definitions/391.html)
+* [CWE-394 意外状态码或返回值](https://cwe.mitre.org/data/definitions/394.html)
+* [CWE-396 捕获通用异常的声明](https://cwe.mitre.org/data/definitions/396.html)
+* [CWE-397 抛出通用异常的声明](https://cwe.mitre.org/data/definitions/397.html)
+* [CWE-460 抛出异常后的清理不当](https://cwe.mitre.org/data/definitions/460.html)
+* [CWE-476 空指针解引用](https://cwe.mitre.org/data/definitions/476.html)
+* [CWE-478 多条件表达式缺少默认分支](https://cwe.mitre.org/data/definitions/478.html)
+* [CWE-484 `switch` 中遗漏 `break` 语句](https://cwe.mitre.org/data/definitions/484.html)
+* [CWE-550 服务端生成包含敏感信息的错误消息](https://cwe.mitre.org/data/definitions/550.html)
+* [CWE-636 未能安全失效(失效开放)](https://cwe.mitre.org/data/definitions/636.html)
+* [CWE-703 异常条件检查或处理不当](https://cwe.mitre.org/data/definitions/703.html)
+* [CWE-754 异常或异常条件检查不当](https://cwe.mitre.org/data/definitions/754.html)
+* [CWE-755 异常条件处理不当](https://cwe.mitre.org/data/definitions/755.html)
+* [CWE-756 缺少自定义错误页面](https://cwe.mitre.org/data/definitions/756.html)
diff --git a/2025/docs/zh-Hant/X01_2025-Next_Steps.md b/2025/docs/zh-Hant/X01_2025-Next_Steps.md
new file mode 100644
index 000000000..13877d55c
--- /dev/null
+++ b/2025/docs/zh-Hant/X01_2025-Next_Steps.md
@@ -0,0 +1,309 @@
+# 下一步
+
+按照设计,OWASP Top 10 天然只覆盖十个最重要的风险。每一版 OWASP Top 10 都会认真考虑一些“临门一脚”的风险是否纳入,但最终它们没有入选。其他风险更普遍、影响也更大。
+
+以下三个问题非常值得识别和修复,尤其适合正在建设成熟 AppSec 计划的组织、安全咨询公司,或希望扩展产品覆盖范围的工具厂商。
+
+## X01:2025 应用韧性不足 { #x012025-lack-of-application-resilience }
+
+### 背景
+
+这是对 2021 年“拒绝服务”的重命名。之所以改名,是因为原名称描述的是症状,而不是根因。该类别关注描述韧性相关弱点的 CWE。该类别得分与 A10:2025-异常条件处理不当非常接近。相关 CWE 包括:*CWE-400:资源消耗不受控制*、*CWE-409:高压缩数据处理不当(数据放大)*、*CWE-674:递归不受控制* 和 *CWE-835:循环退出条件不可达(无限循环)*。
+
+### 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 16
+ |
+ 20.05%
+ |
+ 4.55%
+ |
+ 86.01%
+ |
+ 41.47%
+ |
+ 7.92
+ |
+ 3.49
+ |
+ 865,066
+ |
+ 4,423
+ |
+
+
+
+### 描述
+
+该类别指应用在面对压力、故障和边界情况时存在的系统性弱点,导致应用无法从故障中恢复。当应用不能优雅地处理、承受或从意外条件、资源限制和其他不利事件中恢复时,最常见结果是可用性问题,也可能导致数据损坏、敏感数据披露、级联故障和/或安全控制绕过。
+
+此外,[X02:2025 内存管理失效](#x022025-memory-management-failures)也可能导致应用甚至整个系统失败。
+
+### 如何预防
+
+要预防这类漏洞,必须为系统的失败和恢复进行设计。
+
+* 增加限制、配额和故障转移功能,特别关注最消耗资源的操作。
+* 识别资源密集型页面并提前规划:减少攻击面,尤其不要把不需要的小工具和需要大量资源(例如 CPU、内存)的功能暴露给未知或不可信用户。
+* 使用允许列表和大小限制执行严格输入验证,并进行充分测试。
+* 限制响应大小,永远不要把原始响应直接发回客户端(应在服务端处理)。
+* 默认安全/关闭(绝不开放),默认拒绝,并在出现错误时回滚。
+* 避免在请求线程中使用阻塞同步调用(使用异步/非阻塞、设置超时、设置并发限制等)。
+* 仔细测试错误处理功能。
+* 实施韧性模式,例如断路器、舱壁、重试逻辑和优雅降级。
+* 执行性能和负载测试;如果风险承受能力允许,可加入混沌工程。
+* 在合理且可负担的范围内,为冗余进行实现和架构设计。
+* 实施监控、可观测性和告警。
+* 按 RFC 2267 过滤无效发送方地址。
+* 通过指纹、IP 或基于行为的动态方式阻断已知僵尸网络。
+* 工作量证明:在*攻击者*一侧发起资源消耗型操作,使其对普通用户影响不大,但会影响试图发送大量请求的机器人。如果系统总体负载上升,尤其是对不太可信或看起来像机器人的系统,应提高工作量证明难度。
+* 基于不活动时间和最终超时限制服务端会话时间。
+* 限制绑定到会话的信息存储。
+
+### 攻击场景示例
+
+**场景 #1:** 攻击者故意消耗应用资源以触发系统失败,造成拒绝服务。这可能是内存耗尽、填满磁盘空间、CPU 饱和,或打开无尽连接。
+
+**场景 #2:** 输入模糊测试导致构造出的响应破坏应用业务逻辑。
+
+**场景 #3:** 攻击者针对应用依赖下手,使 API 或其他外部服务不可用,而应用无法继续运行。
+
+### 参考资料
+
+* [OWASP Cheat Sheet: Denial of Service](https://cheatsheetseries.owasp.org/cheatsheets/Denial_of_Service_Cheat_Sheet.html)
+* [OWASP MASVS-RESILIENCE](https://mas.owasp.org/MASVS/11-MASVS-RESILIENCE/)
+* [ASP.NET Core Best Practices (Microsoft)](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/best-practices?view=aspnetcore-9.0)
+* [Resilience in Microservices: Bulkhead vs Circuit Breaker (Parser)](https://medium.com/@parserdigital/resilience-in-microservices-bulkhead-vs-circuit-breaker-54364c1f9d53)
+* [Bulkhead Pattern (Geeks for Geeks)](https://www.geeksforgeeks.org/system-design/bulkhead-pattern/)
+* [NIST Cybersecurity Framework (CSF)](https://www.nist.gov/cyberframework)
+* [Avoid Blocking Calls: Go Async in Java (Devlane)](https://www.devlane.com/blog/avoid-blocking-calls-go-async-in-java)
+
+### 映射的 CWE 列表
+
+* [CWE-73 文件名或路径受外部控制](https://cwe.mitre.org/data/definitions/73.html)
+* [CWE-183 允许输入列表过于宽松](https://cwe.mitre.org/data/definitions/183.html)
+* [CWE-256 明文存储密码](https://cwe.mitre.org/data/definitions/256.html)
+* [CWE-266 权限分配错误](https://cwe.mitre.org/data/definitions/266.html)
+* [CWE-269 权限管理不当](https://cwe.mitre.org/data/definitions/269.html)
+* [CWE-286 用户管理错误](https://cwe.mitre.org/data/definitions/286.html)
+* [CWE-311 缺少敏感数据加密](https://cwe.mitre.org/data/definitions/311.html)
+* [CWE-312 明文存储敏感信息](https://cwe.mitre.org/data/definitions/312.html)
+* [CWE-313 在文件或磁盘上明文存储](https://cwe.mitre.org/data/definitions/313.html)
+* [CWE-316 在内存中明文存储敏感信息](https://cwe.mitre.org/data/definitions/316.html)
+* [CWE-362 使用共享资源并发执行时同步不当(竞争条件)](https://cwe.mitre.org/data/definitions/362.html)
+* [CWE-382 J2EE 不良实践:使用 `System.exit()`](https://cwe.mitre.org/data/definitions/382.html)
+* [CWE-419 主通道未受保护](https://cwe.mitre.org/data/definitions/419.html)
+* [CWE-434 危险类型文件上传不受限制](https://cwe.mitre.org/data/definitions/434.html)
+* [CWE-436 解释冲突](https://cwe.mitre.org/data/definitions/436.html)
+* [CWE-444 HTTP 请求解释不一致(HTTP 请求/响应走私)](https://cwe.mitre.org/data/definitions/444.html)
+* [CWE-451 用户界面对关键信息表述失真](https://cwe.mitre.org/data/definitions/451.html)
+* [CWE-454 可信变量或数据存储受外部初始化](https://cwe.mitre.org/data/definitions/454.html)
+* [CWE-472 假定不可变的网站参数受外部控制](https://cwe.mitre.org/data/definitions/472.html)
+* [CWE-501 信任边界违背](https://cwe.mitre.org/data/definitions/501.html)
+* [CWE-522 凭据保护不足](https://cwe.mitre.org/data/definitions/522.html)
+* [CWE-525 使用含敏感信息的浏览器缓存](https://cwe.mitre.org/data/definitions/525.html)
+* [CWE-539 使用包含敏感信息的持久 Cookie](https://cwe.mitre.org/data/definitions/539.html)
+* [CWE-598 使用带敏感查询字符串的 `GET` 请求方法](https://cwe.mitre.org/data/definitions/598.html)
+* [CWE-602 在客户端强制执行服务端安全](https://cwe.mitre.org/data/definitions/602.html)
+* [CWE-628 函数调用参数指定错误](https://cwe.mitre.org/data/definitions/628.html)
+* [CWE-642 关键状态数据受外部控制](https://cwe.mitre.org/data/definitions/642.html)
+* [CWE-646 依赖外部提供文件的文件名或扩展名](https://cwe.mitre.org/data/definitions/646.html)
+* [CWE-653 隔离或分隔不当](https://cwe.mitre.org/data/definitions/653.html)
+* [CWE-656 依赖隐藏实现安全](https://cwe.mitre.org/data/definitions/656.html)
+* [CWE-657 违反安全设计原则](https://cwe.mitre.org/data/definitions/657.html)
+* [CWE-676 使用潜在危险函数](https://cwe.mitre.org/data/definitions/676.html)
+* [CWE-693 保护机制失效](https://cwe.mitre.org/data/definitions/693.html)
+* [CWE-799 交互频率控制不当](https://cwe.mitre.org/data/definitions/799.html)
+* [CWE-807 安全决策依赖不可信输入](https://cwe.mitre.org/data/definitions/807.html)
+* [CWE-841 行为工作流强制执行不当](https://cwe.mitre.org/data/definitions/841.html)
+* [CWE-1021 渲染用户界面层或框架限制不当](https://cwe.mitre.org/data/definitions/1021.html)
+* [CWE-1022 使用带 `window.opener` 访问权限、指向不可信目标的网站链接](https://cwe.mitre.org/data/definitions/1022.html)
+* [CWE-1125 攻击面过大](https://cwe.mitre.org/data/definitions/1125.html)
+
+## X02:2025 内存管理失效 { #x022025-memory-management-failures }
+
+### 背景
+
+Java、C#、JavaScript/TypeScript(node.js)、Go 和“安全”Rust 等语言是内存安全的。内存管理问题往往发生在 C 和 C++ 等非内存安全语言中。尽管该类别相关 CVE 数量排名第三,但在社区问卷和数据中的得分都较低。我们认为这是因为 Web 应用相对于传统桌面应用占主导地位。内存管理漏洞经常拥有最高的 CVSS 分数。
+
+### 评分表
+
+
+
+ | 映射的 CWE 数量
+ |
+ 最大发生率
+ |
+ 平均发生率
+ |
+ 最大覆盖率
+ |
+ 平均覆盖率
+ |
+ 平均加权可利用性
+ |
+ 平均加权影响
+ |
+ 发生总数
+ |
+ CVE 总数
+ |
+
+
+ | 24
+ |
+ 2.96%
+ |
+ 1.13%
+ |
+ 55.62%
+ |
+ 28.45%
+ |
+ 6.75
+ |
+ 4.82
+ |
+ 220,414
+ |
+ 30,978
+ |
+
+
+
+### 描述
+
+当应用必须自行管理内存时,很容易出错。内存安全语言的使用越来越多,但全球生产环境中仍有许多遗留系统,新的底层系统也可能需要使用非内存安全语言,还有一些 Web 应用会与大型机、IoT 设备、固件和其他可能必须自行管理内存的系统交互。代表性 CWE 包括 *CWE-120:复制缓冲区时未检查输入大小(经典缓冲区溢出)* 和 *CWE-121:基于栈的缓冲区溢出*。
+
+内存管理失效可能发生在以下情况:
+
+* 没有为变量分配足够内存。
+* 没有验证输入,导致堆、栈或缓冲区溢出。
+* 存储的数据值大于变量类型可容纳范围。
+* 试图使用未分配的内存或地址空间。
+* 产生差一错误(从 1 开始计数而不是从 0 开始)。
+* 试图访问已经释放的对象。
+* 使用未初始化变量。
+* 内存泄漏,或在错误中耗尽所有可用内存,直到应用失败。
+
+内存管理失效可能导致应用失败甚至整个系统失败,另见 [X01:2025 应用韧性不足](#x012025-lack-of-application-resilience)。
+
+### 如何预防
+
+预防内存管理失效的最佳方式是使用内存安全语言,例如 Rust、Java、Go、C#、Python、Swift、Kotlin、JavaScript 等。创建新应用时,应认真说服组织切换到内存安全语言,这值得学习曲线。如果进行完整重构,在可能且可行时,应推动用内存安全语言重写。
+
+如果无法使用内存安全语言,请执行以下措施:
+
+* 启用以下服务器功能,使内存管理错误更难被利用:地址空间布局随机化(ASLR)、数据执行保护(DEP)和结构化异常处理覆盖保护(SEHOP)。
+* 监控应用是否存在内存泄漏。
+* 非常谨慎地验证进入系统的所有输入,并拒绝所有不符合预期的输入。
+* 研究所用语言,列出不安全和较安全函数,并与整个团队共享。如果可能,将该列表加入安全编码指南或标准。例如在 C 中,优先使用 strncpy() 而不是 strcpy(),使用 strncat() 而不是 strcat()。
+* 如果语言或框架提供内存安全库,请使用它们。例如 Safestringlib 或 SafeStr。
+* 尽可能使用托管缓冲区和字符串,而不是原始数组和指针。
+* 接受专注于内存问题和/或所选语言的安全编码培训。告知培训师你关注内存管理失效。
+* 执行代码审查和/或静态分析。
+* 使用有助于内存管理的编译器工具,例如 StackShield、StackGuard 和 Libsafe。
+* 对系统每个输入执行模糊测试。
+* 如果进行渗透测试,告知测试人员你关注内存管理失效,并希望他们在测试时特别关注这一点。
+* 修复所有编译器错误*和*警告。不要因为程序能编译就忽略警告。
+* 确保底层基础设施定期打补丁、扫描和加固。
+* 专门监控底层基础设施中潜在的内存漏洞和其他失效。
+* 考虑使用 [canaries](https://en.wikipedia.org/wiki/Buffer_overflow_protection#Canaries) 保护地址栈免受溢出攻击。
+
+### 攻击场景示例
+
+**场景 #1:** 缓冲区溢出是最著名的内存漏洞。攻击者向某个字段提交超过其可接受长度的信息,使其溢出为底层变量创建的缓冲区。攻击成功时,溢出的字符会覆盖栈指针,使攻击者能够把恶意指令插入程序。
+
+**场景 #2:** 释放后使用(UAF)足够常见,已经是浏览器漏洞赏金中的半常见提交。设想一个 Web 浏览器处理操纵 DOM 元素的 JavaScript。攻击者构造 JavaScript 载荷,创建一个对象(例如 DOM 元素)并获取其引用。通过精心操纵,他们触发浏览器释放该对象内存,同时保留指向它的悬空指针。在浏览器意识到内存已释放之前,攻击者分配一个占用*同一*内存空间的新对象。当浏览器尝试使用原始指针时,它现在指向攻击者控制的数据。如果该指针指向虚函数表,攻击者就可以把代码执行重定向到自己的载荷。
+
+**场景 #3:** 某网络服务接受用户输入,但没有正确验证或清理,然后直接传给日志函数。用户输入以 syslog(user_input) 而不是 syslog("%s", user_input) 的方式传给日志函数,后者没有指定格式。攻击者发送包含格式说明符的恶意载荷,例如使用 %x 读取栈内存(敏感数据泄露),或使用 %n 写入内存地址。通过串联多个格式说明符,他们可以绘制栈布局、定位重要地址,然后覆盖它们。这就是格式字符串漏洞(不受控字符串格式)。
+
+注意:现代浏览器使用多层防御来抵御此类攻击,包括[浏览器沙箱](https://www.geeksforgeeks.org/ethical-hacking/what-is-browser-sandboxing/#types-of-browser-sandboxing)、ASLR、DEP/NX、RELRO 和 PIE。针对浏览器的内存管理失效攻击并不容易实施。
+
+### 参考资料
+
+* [OWASP community pages: Memory leak,](https://owasp.org/www-community/vulnerabilities/Memory_leak) [Doubly freeing memory,](https://owasp.org/www-community/vulnerabilities/Doubly_freeing_memory) [& Buffer Overflow](https://owasp.org/www-community/vulnerabilities/Buffer_Overflow)
+* [Awesome Fuzzing: a list of fuzzing resources](https://github.com/secfigo/Awesome-Fuzzing)
+* [Project Zero Blog](https://googleprojectzero.blogspot.com)
+* [Microsoft MSRC Blog](https://www.microsoft.com/en-us/msrc/blog)
+
+### 映射的 CWE 列表
+
+* [CWE-14 编译器移除清除缓冲区的代码](https://cwe.mitre.org/data/definitions/14.html)
+* [CWE-119 内存缓冲区边界内操作限制不当](https://cwe.mitre.org/data/definitions/119.html)
+* [CWE-120 复制缓冲区时未检查输入大小(经典缓冲区溢出)](https://cwe.mitre.org/data/definitions/120.html)
+* [CWE-121 基于栈的缓冲区溢出](https://cwe.mitre.org/data/definitions/121.html)
+* [CWE-122 基于堆的缓冲区溢出](https://cwe.mitre.org/data/definitions/122.html)
+* [CWE-124 缓冲区下写(缓冲区下溢)](https://cwe.mitre.org/data/definitions/124.html)
+* [CWE-125 越界读取](https://cwe.mitre.org/data/definitions/125.html)
+* [CWE-126 缓冲区过读](https://cwe.mitre.org/data/definitions/126.html)
+* [CWE-190 整数溢出或回绕](https://cwe.mitre.org/data/definitions/190.html)
+* [CWE-191 整数下溢(回绕)](https://cwe.mitre.org/data/definitions/191.html)
+* [CWE-196 无符号到有符号转换错误](https://cwe.mitre.org/data/definitions/196.html)
+* [CWE-367 检查时与使用时(TOCTOU)竞争条件](https://cwe.mitre.org/data/definitions/367.html)
+* [CWE-415 重复释放](https://cwe.mitre.org/data/definitions/415.html)
+* [CWE-416 释放后使用](https://cwe.mitre.org/data/definitions/416.html)
+* [CWE-457 使用未初始化变量](https://cwe.mitre.org/data/definitions/457.html)
+* [CWE-459 清理不完整](https://cwe.mitre.org/data/definitions/459.html)
+* [CWE-467 对指针类型使用 `sizeof()`](https://cwe.mitre.org/data/definitions/467.html)
+* [CWE-787 越界写入](https://cwe.mitre.org/data/definitions/787.html)
+* [CWE-788 访问缓冲区末尾之后的内存位置](https://cwe.mitre.org/data/definitions/788.html)
+* [CWE-824 访问未初始化指针](https://cwe.mitre.org/data/definitions/824.html)
+
+## X03:2025 不当信任 AI 生成代码(“氛围编程”)
+
+### 背景
+
+当前全世界都在讨论并使用 AI,软件开发人员也不例外。虽然目前还没有与 AI 生成代码相关的 CVE 或 CWE,但已有充分记录表明,AI 生成代码往往比人类编写的代码包含更多漏洞。
+
+### 描述
+
+我们看到软件开发实践正在变化,不仅包括在 AI 协助下编写代码,还包括几乎完全没有人工监督就编写并提交的代码(通常称为氛围编程)。就像过去不加思考地从博客或网站复制代码片段从来不是好主意一样,在这种情况下问题会被放大。好的、安全的代码片段过去和现在都很少见,并且由于系统约束,AI 在统计上可能忽略它们。
+
+### 如何预防
+
+我们敦促所有编写代码的人在使用 AI 时考虑以下事项:
+
+* 你应能够阅读并完全理解自己提交的所有代码,即使这些代码由 AI 编写或从在线论坛复制。你要对自己提交的所有代码负责。
+* 应彻底审查所有 AI 辅助代码中的漏洞,理想情况下既要自己查看,也要使用为此目的设计的安全工具(例如静态分析)。考虑使用 [OWASP Cheat Sheet Series: Secure Code Review](https://cheatsheetseries.owasp.org/cheatsheets/Secure_Code_Review_Cheat_Sheet.html) 中描述的经典代码审查技术。
+* 理想情况下,自己编写代码,让 AI 提出改进建议,检查 AI 的代码,并让 AI 修正,直到你对结果满意。
+* 考虑使用 Retrieval Augmented Generation(RAG)服务器,放入你自己收集并审查过的安全代码示例和文档,例如组织的安全编码指南、标准或策略,并让 RAG 服务器执行任何策略或标准。
+* 考虑购买为所选 AI 实施隐私和安全护栏的工具。
+* 考虑购买私有 AI,理想情况下签订合同协议(包括隐私协议),明确 AI 不会使用组织的数据、查询、代码或任何其他敏感信息进行训练。
+* 考虑在 IDE 和 AI 之间实现 Model Context Protocol(MCP)服务器,并配置它来强制使用组织所选的安全工具。
+* 将策略和流程纳入 SDLC,告知开发人员(以及所有员工)在组织内应如何使用和不应如何使用 AI。
+* 创建一份优秀且有效的提示词列表,考虑 IT 安全最佳实践。理想情况下,它们也应考虑内部安全编码指南。开发人员可以把这些提示词作为其程序的起点。
+* AI 很可能成为系统开发生命周期每个阶段的一部分,既包括如何有效使用,也包括如何安全使用。请明智使用。
+* 实际上,**不**建议在复杂功能、业务关键程序或长期使用的程序中使用氛围编程。
+* 实施技术检查和保护措施,防止使用影子 AI。
+* 对开发人员进行组织策略、安全 AI 使用方式以及软件开发中 AI 最佳实践的培训。
+
+### 参考资料
+
+* [OWASP Cheat Sheet: Secure Code Review](https://cheatsheetseries.owasp.org/cheatsheets/Secure_Code_Review_Cheat_Sheet.html)
+
+### 映射的 CWE 列表
+
+-无-
diff --git a/2025/docs/zh-Hant/index.md b/2025/docs/zh-Hant/index.md
new file mode 100644
index 000000000..687fc1b2a
--- /dev/null
+++ b/2025/docs/zh-Hant/index.md
@@ -0,0 +1,42 @@
+# OWASP Top 10:2025
+
+欢迎阅读 OWASP Top 10:2025 发布版。
+
+OWASP Top 10 是面向开发人员和 Web 应用安全从业者的标准安全意识文档。它代表了业界对 Web 应用最关键安全风险的广泛共识。
+
+## 关于本次发布
+
+这是 OWASP Top 10 的 **2025** 版本。本版本根据最新数据和安全趋势进行了更新。
+
+## 主项目页面
+
+[主项目页面](https://github.com/OWASP/www-project-top-ten) 包含旧版本信息以及本项目的元数据。
+
+## 开始阅读
+
+建议从[引言](0x00_2025-Introduction.md)开始,了解 2025 版本的新变化。
+
+## 导航
+
+- [引言](0x00_2025-Introduction.md)
+- [关于 OWASP](0x01_2025-About_OWASP.md)
+- [什么是应用安全风险?](0x02_2025-What_are_Application_Security_Risks.md)
+- [建立现代应用安全计划](0x03_2025-Establishing_a_Modern_Application_Security_Program.md)
+
+### Top 10:2025 列表
+
+1. [A01:2025 - 失效的访问控制](A01_2025-Broken_Access_Control.md)
+2. [A02:2025 - 安全配置错误](A02_2025-Security_Misconfiguration.md)
+3. [A03:2025 - 软件供应链失效](A03_2025-Software_Supply_Chain_Failures.md)
+4. [A04:2025 - 加密机制失效](A04_2025-Cryptographic_Failures.md)
+5. [A05:2025 - 注入](A05_2025-Injection.md)
+6. [A06:2025 - 不安全设计](A06_2025-Insecure_Design.md)
+7. [A07:2025 - 认证失效](A07_2025-Authentication_Failures.md)
+8. [A08:2025 - 软件或数据完整性失效](A08_2025-Software_or_Data_Integrity_Failures.md)
+9. [A09:2025 - 安全日志和告警失效](A09_2025-Security_Logging_and_Alerting_Failures.md)
+10. [A10:2025 - 异常条件处理不当](A10_2025-Mishandling_of_Exceptional_Conditions.md)
+
+---
+
+**注意:** 翻译会在可用时逐步加入。
+
diff --git a/2025/mkdocs.yml b/2025/mkdocs.yml
index 35bee0cc0..6317e0fcd 100644
--- a/2025/mkdocs.yml
+++ b/2025/mkdocs.yml
@@ -48,6 +48,27 @@ plugins:
default: true
name: en - English
build: true
+ - locale: zh-Hant
+ name: zh-Hant - 简体中文
+ build: true
+ nav_translations:
+ Home: 主页
+ Introduction: 引言
+ About OWASP: 关于 OWASP
+ What are Application Security Risks?: 什么是应用安全风险?
+ Establishing a Modern Application Security Program: 建立现代应用安全计划
+ Top 10:2025 List: Top 10:2025 列表
+ A01 Broken Access Control: A01 失效的访问控制
+ A02 Security Misconfiguration: A02 安全配置错误
+ A03 Software Supply Chain Failures: A03 软件供应链失效
+ A04 Cryptographic Failures: A04 加密机制失效
+ A05 Injection: A05 注入
+ A06 Insecure Design: A06 不安全设计
+ A07 Authentication Failures: A07 认证失效
+ A08 Software or Data Integrity Failures: A08 软件或数据完整性失效
+ A09 Security Logging and Alerting Failures: A09 安全日志记录和告警失效
+ A10 Mishandling of Exceptional Conditions: A10 异常条件处理不当
+ Next Steps: 下一步
nav_translations:
SAMPLE:
@@ -79,6 +100,9 @@ extra:
- name: en - English
link: ./en/
lang: en
+ - name: zh-Hant - 简体中文
+ link: ./zh-Hant/
+ lang: zh-Hant
# - name: de - Deutsch
# link: ./de/
# lang: de