本地化威胁模型

外包或众包翻译任务给第三方引入额外的安全和隐私风险。不同于和内部开发团队,译者可能和组织的信任关系有限,可能从多个司法管辖区进行操作。本模型识别并分类与外部翻译贡献者相关的威胁。

关键假设

  • 译者可能是合同工、志愿者或审核等级各异的中介代理机构。

  • 译者需要 Weblate 访问权限。

  • 翻译字符串可能包含未发布的功能、法律条款或安全信息等敏感内容。

  • 组织对译者的本地环境控制有限。

威胁类别(STRIDE)

1. 伪造

  • S1. 伪装成真实贡献者的虚假译者账户。

    • 风险:未经授权的账户访问 或注入恶意字符串。

    • 缓解:

2. 篡改

  • T1. 内嵌有害载荷的恶意译文。

    • 风险:插入 JavaScript、HTML,或者格式字符串攻击(假如翻译未被正确转义)。

    • 缓解:

      • 在 Weblate 中运用严格的输入验证。强制 不安全的 HTML 等质量检查可能会有帮助。见 质量检查强制检查

      • 在 CI 中使用自动化的翻译文件安全扫描。

      • 限制翻译文件中危险标记的使用。根据所使用的本地化框架,这可能是隐式的、可选的,或者需要第三方库。

  • T2. 插入误导性译文。

    • 风险:用户被程序行为误导(如,同意对话框误译)。

    • 缓解:

3. 否认

  • R1. 恶意或低质量译文的争论。

    • 风险:译者拒绝所注入问题的责任。

    • 缓解:

      • Weblate 中的所有更改都有记录。

      • 使用 Weblate 版本控制记录不可更改的历史。

4. 信息披露

  • I1. 泄露未发布产品的细节。

    • 风险:译者获得未发布功能或机密术语的提早访问权。

    • 缓解:

      • 分隔项目限制对敏感字符串的访问。

      • 对外部机构采用非披露协议。

      • 延后高度机密字符串的翻译至公开发布为止。

  • I2. 暴露字符串内个人数据。

    • 风险:译者可能访问或滥用内嵌的用户数据。

    • 缓解:

      • 避免在源字符串中暴露真实的用户数据。

      • 敏感字段使用占位符。

5. 拒绝服务

  • D1. 批量提交垃圾译文。

    • 风险:审核队列不堪重负;打断发布时间线。

    • 缓解:

      • 选择恰当的工作流来匹配你团队的能力。定制工作流程 允许根据语言调整这个。

      • 配置自动化译文质量检查;见 质量检查

6. 权限提升

  • E1. 译者获得未经授权的项目级别权限或管理权限。

    • 风险:权限提升导致篡改或数据暴露。

    • 缓解:

      • 应用最小权限原则。

      • 定期审核访问权和群组成员身份。

资产库存

  • 源字符串:可能包含未发布的产品功能或法律文本。

  • 已翻译字符串:输出直接呈现给终端用户。

  • 用户数据占位符:字符串提到的姓名、电子邮箱或 ID。

  • 访问凭证:译者、机构或机器人的账户。

信任边界

  • 组织 ↔ 译者:必须强制身份认证和基于角色的访问。

  • 翻译平台 ↔ 源控制:同步要求安全的令牌/key。

  • 译者 ↔ 翻译平台:集成进构建前必须净化所有输入。

  • 平台 ↔ 最终用户:必须验证译文防止代码注入。

缓解概要

结论

相较内部贡献者,第三方译者引入了独有风险。借助技术、组织和合约控制,组织可以缓解这些风险并安全集成外部翻译服务,同时保持产品完整性和合规性。