Tarnish is a static-analysis tool to aid researchers in security reviews of Chrome extensions. It automates much of the regular grunt work and helps you quickly identify potential security vulnerabilities.
This tool accompanies the research blog post which can be found here. If you don’t want to go through the trouble of setting this up you can just use the tool by clicking here.
Unpolished Notice & Notes
It should be noted that this is an un-polished release. This is the same source as the deployment located at https://thehackerblog.com/tarnish/. In the future I may clean this up and make it much easier to run but I don’t have time right now.
To set this up you’ll need to understand how to:
docker-composeThe set up is a little complex due to a few design goals:
Some quick notes to help someone attempting to set this up:
tarnish makes use of Python Celery for analysis of extensions.t2.medium instance to operate.tarnish frontend is just a set of static files which is upload to a static web host configured S3 bucket.See the docker-compose.yaml.example for the environment variable configs. Ideally you’d run ./start.sh and navigate to the static frontend to get things running. You can use S3 for the static site or just a simple static webserver like python -m SimpleHTTPServer (you’ll have to modify the JavaScript files to ensure origin matches, etc.
Also Read – SQLMap : Automatic SQL Injection & Database Takeover Tool
Pulls any Chrome extension from a provided Chrome webstore link.
manifest.json viewer: simply displays a JSON-prettified version of the extension’s manifest.web_accessible_resources and automatic generation of Chrome extension fingerprinting JavaScript.web_accessible_resources directive set. These are potentially vulnerable to clickjacking depending on the purpose of the pages.web_accessible_resource status.The ss command in Linux lists open sockets and active network connections. It replaced the deprecated netstat command and…
The ftp command in Linux connects to a remote FTP server and transfers files. FTP transmits everything…
The lsmod command in Linux lists all currently loaded kernel modules. It reads /proc/modules — a virtual file maintained…
The rename command in Linux renames multiple files at once using Perl regular expressions. Unlike mv, which handles…
The pgrep command in Linux finds the PIDs of running processes based on a name or other…
The unlink command in Linux removes a single file by deleting its directory entry. It is a…