{"id":13478769,"url":"https://github.com/Tuhinshubhra/ExtAnalysis","last_synced_at":"2025-03-27T08:31:05.236Z","repository":{"id":47480506,"uuid":"185171098","full_name":"Tuhinshubhra/ExtAnalysis","owner":"Tuhinshubhra","description":"Browser Extension Analysis Framework - Scan, Analyze Chrome, firefox and Brave extensions for vulnerabilities and intels","archived":false,"fork":false,"pushed_at":"2025-02-20T19:24:11.000Z","size":10553,"stargazers_count":665,"open_issues_count":10,"forks_count":116,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-03-23T23:30:28.521Z","etag":null,"topics":["browser","browser-extension","browser-extension-analysis","chrome","chrome-extension","chrome-extensions","extanalysis","extension-analysis","firefox","firefox-addon","firefox-extension"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Tuhinshubhra.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-06T10:01:47.000Z","updated_at":"2025-03-20T22:28:26.000Z","dependencies_parsed_at":"2023-02-10T01:16:30.078Z","dependency_job_id":"3ee2df2b-f16c-42e9-9856-faea3b7a10ff","html_url":"https://github.com/Tuhinshubhra/ExtAnalysis","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tuhinshubhra%2FExtAnalysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tuhinshubhra%2FExtAnalysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tuhinshubhra%2FExtAnalysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Tuhinshubhra%2FExtAnalysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Tuhinshubhra","download_url":"https://codeload.github.com/Tuhinshubhra/ExtAnalysis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245809720,"owners_count":20676039,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","browser-extension","browser-extension-analysis","chrome","chrome-extension","chrome-extensions","extanalysis","extension-analysis","firefox","firefox-addon","firefox-extension"],"created_at":"2024-07-31T16:02:02.578Z","updated_at":"2025-03-27T08:31:00.222Z","avatar_url":"https://github.com/Tuhinshubhra.png","language":"Python","funding_links":[],"categories":["Python","Python (1887)"],"sub_categories":[],"readme":"\r\n\r\n\r\n\u003cp align='center'\u003e\r\n  \u003cimg src=\"https://i.imgur.com/iOyxLPf.png\" alt=\"Logo\"\u003e \u003cbr\u003e\r\n  \u003ca href=\"https://github.com/Tuhinshubhra/ExtAnalysis/releases/tag/v.1.0.5\"\u003e\u003cimg src=\"https://img.shields.io/badge/Version-1.0.5-brightgreen.svg?style=style=flat-square\" alt=\"version\"\u003e\u003c/a\u003e\r\n  \u003cimg src=\"https://img.shields.io/badge/OS-Windows%2C%20Linux-blue.svg\"\u003e\r\n  \u003ca href=\"https://github.com/Tuhinshubhra/ExtAnalysis/\"\u003e\u003cimg src=\"https://img.shields.io/badge/python-3-orange.svg?style=style=flat-square\" alt=\"Python Version\"\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://github.com/Tuhinshubhra/ExtAnalysis/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/Tuhinshubhra/ExtAnalysis.svg\" alt=\"GitHub stars\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://github.com/Tuhinshubhra/ExtAnalysis/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/Tuhinshubhra/ExtAnalysis.svg\" alt=\"GitHub license\" /\u003e\u003c/a\u003e\r\n  \u003ca href=\"https://twitter.com/r3dhax0r\"\u003e\u003cimg src=\"https://img.shields.io/twitter/url/https/github.com/Tuhinshubhra/ExtAnalysis.svg?style=social\" alt=\"Twitter\" /\u003e\u003c/a\u003e\r\n\u003c/p\u003e\r\n\u003chr\u003e\r\n\u003cp align='center'\u003e\r\n\t\u003ca href=\"#features-of-extanalysis-\"\u003eFeatures\u003c/a\u003e • \u003ca href=\"#how-do-i-install-it\"\u003eInstallation\u003c/a\u003e • \u003ca href=\"#how-do-i-use-it\"\u003eUse\u003c/a\u003e • \u003ca href=\"#python-modules-used\"\u003eModules Used\u003c/a\u003e • \u003ca href=\"#screenshots\"\u003eScreenshots\u003c/a\u003e • \u003ca href=\"#license-and-credits\"\u003eLicense\u003c/a\u003e\r\n\u003c/p\u003e\r\n\u003chr\u003e\r\n\r\n\r\n### With ExtAnalysis you can :\r\n\r\n - Download \u0026 Analyze Extensions From:\r\n\t - [Chrome Web Store](https://chrome.google.com)\r\n\t - [Firefox Addons](https://addons.mozilla.org)\t \r\n- Analyze Installed Extensions of:\r\n\t- Google Chrome\r\n\t- Mozilla Firefox\r\n\t- Opera Browser (Coming Soon)\t\r\n- Upload and Scan Extensions. Supported formats:\r\n\t- .crx\r\n\t- .xpi\r\n\t- .zip\r\n\t\r\n## Features of ExtAnalysis :\r\n\r\n- View Basic Informations:\r\n\t- Name, Author, Description and Version\r\n- Manifest Viewer\r\n- In depth permission information\r\n- Extract Intels from files which include:\r\n\t- URLs and domains\r\n\t- IPv6 and IPv4 addresses\r\n\t- Bitcoin addresses\r\n\t- Email addresses\r\n\t- File comments\r\n\t- Base64 encoded strings\r\n- View and Edit files. Supported file types:\r\n\t- html\r\n\t- json\r\n\t- JavaScript\r\n\t- css\r\n- VirusTotal Scans For:\r\n\t- URLs\r\n\t- Domains\r\n\t- Files \r\n- RetireJS Vulnerability scan for JavaScript files\r\n- Network graph of all files and URLs\r\n- Reconnaissance tools for extracted URLs:\r\n\t- Whois Scan\r\n\t- HTTP headers viewer\r\n\t- URL Source viewer\r\n\t- GEO-IP location\r\n- Some Fun Stuffs that include:\r\n\t- Dark Mode \r\n\t- Inbuilt chiptune player (*Jam on to some classic chiptune while ExtAnalysis does the work*)\r\n\r\n## How do I install it?\r\nInstalling ExtAnalysis is simple! It runs on python3, so make sure `python3` and `python3-pip` are installed and follow these steps:\r\n\r\n```\r\ngit clone https://github.com/Tuhinshubhra/ExtAnalysis\r\n```\r\n```\r\ncd ExtAnalysis\r\n```\r\n```\r\npip3 install -r requirements.txt\r\n```\r\n\r\nFor proper analysis don't forget to add your virustotal api.\r\n\r\n\r\n## How do I use it?\r\nOnce the installation is done you can jump straight ahead and run ExtAnalysis by running the command:\r\n **$** `python3 extanalysis.py`\r\nIt should automatically launch ExtAnalysis in a new browser window.\r\n\r\nFor other options check out the help menu **$** `python3 extanalysis.py --help`\r\n\r\n```\r\nusage: extanalysis.py [-h HOST] [-p PORT] [-v] [-u] [-q] [--help]\r\n\r\noptional arguments:\r\n  -h HOST, --host HOST  Host to run ExtAnalysis on. Default host is 127.0.0.1\r\n  -p PORT, --port PORT  Port to run ExtAnalysis on. Default port is 13337\r\n  -v, --version         Shows version and quits\r\n  -u, --update          Checks for update\r\n  -q, --quiet           Quiet mode shows only errors on cli!\r\n  --help                Shows this help menu and exits\r\n```\r\n\r\n## Installing Docker Engine\r\n\r\nUse the following [link](https://docs.docker.com/engine/install/)\r\n\r\n## Docker Build\r\n\r\n ```\r\n docker build -t extanalysis .\r\n ```\r\n\r\n## Docker Usage\r\n\r\n ```\r\n docker run --rm -it -p 13337:13337 extanalysis -h 0.0.0.0\r\n ```\r\n\r\n### Using Docker Compose\r\n\r\n ```bash\r\n docker compose build\r\n \r\n docker compose up\r\n\r\n ## Or just:\r\n docker compose up --build\r\n \r\n ## To run only for one-time use\r\n docker-compose run --rm --build -it -p 13337:13337 extanalysis -h 0.0.0.0\r\n\r\n ## To run in the background\r\n docker compose up -d\r\n ```\r\n\r\n## Python Modules Used:\r\n\r\n - `flask` for the webserver\r\n - `python-whois` for Whois lookup\r\n - `maxminddb` for parsing the Geo-IP database\r\n - `requests` for http headers and source code viewer\r\n\r\n## Screenshots\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg alt=\"Main Menu\" src=\"https://i.imgur.com/FcGarWG.png\" /\u003e\r\n   \u003c!-- img alt=\"Results\" src=\"https://i.imgur.com/7Dlkz3O.png\" /\u003e --\u003e\r\n  \u003cimg alt=\"Results\" src=\"https://i.imgur.com/vIOSDLe.png\" /\u003e\r\n \u003c/p\u003e\r\n\r\n## Contribution\r\nYou can contribute to the development of ExtAnalysis by improving some code or even reporting by bugs. \r\n\r\nFor any other queries feel free to contact me via twitter: [@r3dhax0r](https://twitter.com/r3dhax0r)\r\n\r\nBelow is a list of people who contributed to the development of ExtAnalysis (*only pull requests!*)\r\n#### Contributors\r\nWebBreacher\r\n\r\n##  License and Credits\r\nExtAnalysis is licensed under [GNU General Public License v3.0](https://github.com/Tuhinshubhra/ExtAnalysis/blob/master/LICENSE). \r\nAttribution to all the third-party libraries used can be found in the [CREDITS](https://github.com/Tuhinshubhra/ExtAnalysis/blob/master/CREDITS) file.\r\n\r\n\r\n\u003cbr\u003e\r\n\u003ch4 align=\"center\"\u003eCopyright (C) 2019 - 2022 Tuhinshubhra\u003c/h4\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTuhinshubhra%2FExtAnalysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTuhinshubhra%2FExtAnalysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTuhinshubhra%2FExtAnalysis/lists"}