🚧 This tool is in early development. Please file any issues you experience trying to use this tool in the action repo rather than making an issue here, as issues here are used exclusively for requests.
FBTM is a tool for security researchers to analyze Meta's binary transparency archives of JavaScript sources that are published on Facebook, Instagram, WhatsApp, and Messenger. This repository contains searches of most of the files used in the web clients of Facebook, Instagram, Messenger, WhatsApp, and Workplace. It also allows anyone to quickly request a search and compare it to the last version in the repository through GitHub Actions.
Currently, it searches for:
XController
routes, which can yield around 1,600 routesjsRouteBuilder
routes, which can yield around another 1,600 routesIf you have an idea of something you would like to be searched in future diffs, you can go to the action repo and file an issue/PR there to let your search be used in new revs.
It also takes each search result and compares it to the previous search, showing new and removed results.
Being able to do this in the cloud can help save storage, especially when one product's files alone can result in directories containing over 65,000 individual files per rev (version).
⚠️ Important note: This repository is provided EXCLUSIVELY for research purposes. Most of the content in this repository is fetched from Meta Platforms, Inc. and is only authorized to be used for security research purposes under the Meta Bug Bounty Program safe harbor. Using it for other purposes is not recommended, and I do not claim responsibility for anything you do with this tool.
diff/
- Contains differences between revs formatted as [old]-[new]
separated by productsearches/
- Contains the result of every search performed.current-rev
- The last rev processed by the botNote that there are still some references to current/
, which contained most of the JS source for
the current revision. However, this has been deprecated because it was causing many issues with
runners pulling the resource. However, all of these files are obtainable by downloading the
source directly from the Binary Transparency archive yourself!
/approve
. To get the latest rev, open Facebook and use the following in your
JS console: require('SiteData').client_revision
https://www.facebook.com/btarchive/{rev}/{product}
. Note that valid products
include facebook
, instagram
, messenger
, and whatsapp
. This will download a large zip file containing
every file accessible via web/desktop./approve
? Be a semi-active user and submit a few valid rev requests, and then
submit a request to become an approved user.Have another question? Make a post in the Discussions (not issues) tab!