Jump to content

第三方资源方针

From Meta, a Wikimedia project coordination wiki
This page is a translated version of the page Third-party resources policy and the translation is 100% complete.

目的

维基媒体用户可以使用用户脚本小工具样式表来增强维基媒体网站的功能。其中一些工具与位于维基媒体服务器之外的计算机资源(第三方资源)进行交互并共享用户数据。这有时会导致账户泄露和隐私问题。不过,维基媒体基金会的使用条款禁止侵犯他人隐私、[1][2] 并进一步强调,第三方资源未经基金会认可或监督。[3] 为了向维基媒体用户提供更好的隐私保护,以下政策对基金会的使用条款进行了补充,涵盖了以下方面:

  • 与加载第三方资源的用户脚本和小工具有关的风险
  • 脚本开发人员和小工具制作人员的最佳实践
  • 执行最佳做法的行政和技术措施
  • 可能需要豁免的特殊情况

定义

与本政策相关的定义如下:

  • 第三方资源: 第三方资源是指位于维基媒体制作网站之外的计算机资源。[4] 它们可能包括但不限于:可执行脚本、样式表、图像和字体文件、JSON/JSONP 数据。
  • 用户:维基媒体网站的访问者和编辑者
  • 个人信息:工具收集的任何可用于识别你个人身份的信息。有关更详细的定义,请参阅维基媒体基金会的主隐私政策。.

范围

当前的第三方资源政策适用于与位于维基媒体生产网站之外的计算机资源进行交互的用户脚本和用户小工具。这可能包括外观用户脚本、编辑或反破坏小工具等,只要这些小工具和用户脚本使用了第三方资源。

风险

信息安全

当一个小工具或用户脚本加载第三方资源时,该资源就会介入维基媒体网站和用户数据之间。虽然并非所有第三方资源都是恶意的,但有些资源的所有者可能会将其用于各种邪恶目的。例如,加载第三方资源可以作为跨站脚本(XSS)攻击的部分手段,在这种情况下,被加载的资源可以收集登录信息、冒充用户账户并进行大规模破坏。这对管理员等拥有高级权限的用户的危害尤为严重。基金会的安全团队已经看到了这类攻击的真实案例。此外,由于维基媒体基金会无法控制这些外部平台,因此它们收集的个人信息可能会无意中泄露、自愿交给政府当局或与用户或基金会无法控制的第三方共享。

用户隐私和安全

加载第三方资源的小工具或用户脚本不仅仅是连接到该资源。连接到第三方资源的小工具或用户脚本还可能共享用户信息,包括他们使用的设备、浏览器信息和位置。对于某些维基媒体项目默认启用的小工具来说,这一点尤其令人担忧,因为数据共享可能会被忽视。此外,如果第三方资源具有跟踪功能,任何加载该资源的小工具或脚本都可能导致用户的行为在违背其意愿或未经其同意的情况下被仔细检查,并被重新用于货币化、监控或其他不良目的。对于一些易受攻击的用户来说,这往往意味着现实生活中的后果,包括骚扰、身份盗窃、监禁和人身伤害。

必要的预防措施

不加载外部资源

小工具和用户脚本不得加载第三方资源。此类工具的开发人员应检查其代码,确保不包含任何与第三方资源的远程网络连接(如 HTTP、WebSocket)。

搜索替代脚本

如果适用,小工具和用户脚本开发者必须重新使用维基媒体服务器上已有的资源。默认情况下,MediaWiki 自带了许多脚本或模块。在考虑任何第三方资源之前,开发者必须先了解是否有任何 MediaWiki 模块或社区用户脚本可以实现相同的目的。在重新使用或改进社区内现有脚本的同时,遵循一般指南关于小工具开发的痛点(如错误处理和代码维护)也是一种良好的做法。

例外

用户给予的选择性豁免

默认情况下,不允许小工具和用户脚本加载非生产资源。不过,用户可以授权某些小工具和用户脚本加载第三方资源。在这种情况下,用户在使用这些特定的小工具和用户脚本之前,必须选择 “加入”,即在知情的情况下表示同意。虽然预计用户必须通过类似于OAuth 授权的流程来表示同意,但本政策特意没有详细说明这种选择机制的实际实施。相反,这里引用了选择加入豁免原则,以支持一旦到位后的实际实施。[5]

额外的透明度要求

虽然第三方资源必须征得用户同意,但在嵌入小工具和用户脚本之前,还必须满足一些透明度条件。要获得豁免,外部资源必须:

  • 公开源代码,并在第三方资源政策/公告栏中予以引用,同时提供关于所处理个人信息的最新说明,以及提出问题的联系点。这将有助于确保公众对资源的监督和一定程度的可审计性。
  • 如果第三方资源托管在维基媒体云服务代码上,其代码应符合WMCS使用条款。此外,其代码必须是可检查的--WMCS 资源开发者必须确保托管在 WMCS 上的代码是人类可读的,但包含凭证的配置文件除外。这将确保可以执行自动代码扫描和其他审计机制,以提高安全性和隐私性。

强制执行

如果使用第三方资源导致违反本政策,有两套措施可以帮助保护最终用户的隐私:手动删除和自动禁用。

手动移除

手动删除涉及维基媒体用户的直接干预。

如果你拥有足够的权限,并发现一个小工具或用户脚本违反了这一政策,你可以继续空白页面,并在其对话页面上留言通知其作者。如果你不确定是否应该删除小工具或用户脚本,请向管理员或管理员报告,或发送电子邮件至基金会安全团队(security-team[at]wikimedia.org)。

通过 CSP 自动禁用

自动禁用是指在软件或服务器层面禁用,无需人工直接干预。在现行政策中,自动禁用采用内容安全策略(CSP)的形式。CSP 是 MediaWiki 软件中的一个安全层,可以阻止第三方资源的加载。目前,该功能并不阻止任何第三方资源,但只在某些维基媒体项目的报告模式下启用。[6]不过,目前正在进行讨论,以便在未来某个时候将 CSP 设置为在所有维基媒体项目中强制执行。一旦生效,CSP 也将执行该政策,并禁止用户脚本和小工具在生产中加载第三方资源,除非这些资源属于该政策的豁免范围。


  1. 基金会使用条款第4条 https://foundation.wikimedia.org/wiki/Terms_of_Use/en#4._Refraining_from_Certain_Activities
  2. 维基媒体基金会的隐私政策不包括第三方如何处理他们收到的信息。 请参阅隐私政策中的本隐私政策涵盖与不涵盖的内容部分。
  3. 基金会使用条款第9条 https://foundation.wikimedia.org/wiki/Terms_of_Use/en#9._Third-party_Websites_and_Resources
  4. “制作”一词传统上用于指核心项目、技术网站、基金会网站和一些维基媒体社区网站。见維基媒體專案完整列表
  5. 值得注意的是,过去曾提出过基于 CSP 的选择性豁免,https://phabricator.wikimedia.org/T208188
  6. 对于group0 wiki、outreachwiki 和小型 wiki,MediaWiki 的 CSP 在仅报告模式下是启用的。除了 CentralNotice 横幅预览 以外,它不会阻止任何地方的外部资源。