ThreatExchange is a set of RESTful APIs on the Facebook Platform for querying, publishing, and sharing security threat information. It's a lightweight way for exchanging details on malware, phishing pages, and other threats with either specific members of the community or the ThreatExchange community at large.
For full details on ThreatExchange and best practices are available in the ThreatExchange docs.
The api-reference-examples
folder contains example implementations in various languages for using the API. These implementations are at various stages of completeness and may not all implement every endpoint available on the ThreatExchange API. For full details on the ThreatExchange API and UI, data formats, and best practices are available in the ThreatExchange docs.
A python Library/CLI tool available on pypi under threatexchange
which allows basic integration with ThreatExchange and matching on ThreatExchange signals.
ThreatExchange supports a variety of hashing algorithms for photos and videos. Two widely used algorithms are PDQ for photos and TMK for videos. The top-level folders pdq
and tmk
includes documentation and implementation examples of these algorithms.
This is a deployable project for bootstrapping content moderation, containing many sub parts. The initial capabilities support shared banks of image hashes kept in sync via ThreatExchange. Uses docker images (including proof-of-concept HMA-lite), as well as terraform configuration for setting up on AWS.
For tag-driven workloads, supporting either bulk download or incremental updates, our currently recommended best practice is a Java reference design.
You can also explore the dataset using the hosted ThreatExchange UI
To request access to ThreatExchange, please submit an application via https://developers.facebook.com/products/threat-exchange/.
We welcome contributions! See CONTRIBUTING for details on how to get started, and our Code of Conduct.
Please see ./LICENSE
.