该仓库最初是为了支持 Meta 的 ThreatExchange API 而编写的代码,但随着时间的推移,已扩展到包含许多用于支持信号交换和内容审核的项目。以下是各个子项目的列表。
PDQ 是一种照片哈希算法,可以将照片转换为 256 位签名,从而用于匹配其他照片。
TMK+PDQF(简称 TMK)是一种视频哈希算法,可以将视频转换为 256KB 签名,从而用于匹配其他视频。
Video PDQ(简称 vPDQ)是一种简单的视频哈希算法,它根据两段视频所共有的相似帧数量来判断它们是否匹配。它也可以轻松应用于其他图像算法,而不仅仅是 PDQ。
HMA 是一个可在 AWS 上直接部署的内容审核项目,包含许多子模块。它允许你维护已知内容列表以供扫描,你可以自行管理这些列表,也可以连接到其他哈希交换计划来共享和接收列表。更多信息请参阅维基。
该项目的第二个版本名为“Open Media Match”,目前正在建设中,它采用基于 Docker 的与云无关的部署方式。
一个可在 pypi 上以 threatexchange 名称获取的 Python 库/命令行工具,提供内容扫描和信号交换的实现。它提供了 Python 参考实现,用于从 Meta 的 ThreatExchange API 下载哈希、使用 PDQ 扫描图像等。它还可以轻松扩展以兼容其他哈希交换方案和其他技术,其中并非全部都由本仓库的维护者编写。
api-reference-examples 文件夹中包含使用各种语言编写 API 的示例实现。这些实现处于不同的完善阶段,可能并非都实现了 ThreatExchange API 提供的每个端点。有关 ThreatExchange API 和 UI、数据格式以及最佳实践的完整详细信息,请参阅 ThreatExchange 文档。
ThreatExchange 是 Facebook 平台上的一组 RESTful API,用于查询、发布和共享安全威胁信息。这是一种轻量级的方式,可以与社区特定成员或整个 ThreatExchange 社区交换有关恶意软件、钓鱼页面及其他威胁的详细信息。
有关 ThreatExchange 和最佳实践的完整详细信息,请参阅 ThreatExchange 文档。
对于标签驱动的工作负载(支持批量下载或增量更新),我们目前推荐的最佳实践是 Java 参考设计。
你也可以使用托管的 ThreatExchange UI 浏览数据集。
如需申请 ThreatExchange 的访问权限,请通过 https://developers.facebook.com/products/threat-exchange/ 提交申请。
我们欢迎贡献!请参阅 CONTRIBUTING 了解如何开始,以及我们的行为准则。
本仓库中的所有项目均采用 BSD 许可证 - 请参阅 ./LICENSE。不过,有些为演示目的而包含的文件存在例外情况,其替代许可证已在文件顶部注明。
截至 2021 年 12 月 9 日,以下是完整的例外列表: