Skip to main content

A tool to audit browser extensions using mitmproxy

Project description

Project Overview

This is a package for reporting and analysing data sent to the servers of chrome extensions using the MITM Proxy.


Prerequisites

  • A compatible operating system (Windows, macOS, Linux)
  • Google Chrome browser installed
  • Access to a terminal/command prompt

Installation

  1. Download Mitmproxy

  2. Install Mitmproxy Certificate

    • Start Mitmproxy or Mitmweb by running the mitmweb command in the terminal.
    • Create a new Chrome profile:
      • Open Chrome.
      • At the top-right, click on the Profile icon (a circle with your account picture) and select Add.
      • In the pop-up window, choose Continue without an account.
      • Enter a name.
      • Click Done.
      • For more detailed instructions, refer to the official Chrome help page.
      • Open Chrome and navigate to chrome://version/.
      • Take note of the Executable Path and Profile Path. These paths may be useful for setting up the proxy.
  3. Configure Chrome with Mitmproxy MacOS

    • Run the following command to start Chrome with the Mitmproxy proxy:

      open -a "Google Chrome" --args --proxy-server="http://localhost:8080"
      
    • If this doesn’t work, try:

      /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --proxy-server="http://localhost:8080"
      

    Windows

    • Open the terminal and navigate to the Chrome executable. For Windows 11, the typical path is:
      C:\Program Files\Google\Chrome\Application\chrome.exe
      
    • Run the following command to start Chrome with the Mitmproxy proxy server:
      .\chrome.exe --proxy-server="localhost:8080" --user-data-dir="C:\Users\<YourUsername>\AppData\Local\Google\Chrome\User Data\Profile<ProfileNumber>"
      
      Replace <YourUsername> and <ProfileNumber> with appropriate values.
  4. Download and Install the Certificate

    • Visit mitm.it in the Chrome instance configured above.
    • Download the Mitmproxy certificate.
    • Install the certificate by:
      • Navigating to Chrome's settings: Settings → Privacy and Security → Security.
      • Selecting Manage Certificates and importing the downloaded certificate into the Trusted Root Certification Authorities.
    • Follow the prompts to complete the installation.
  5. Verify Certificate Installation

    • Open Chrome and navigate to:
      Settings → Privacy and Security → Security → Manage Certificates.
      
    • Under Trusted Root Certification Authorities, confirm the Mitmproxy certificate is listed.
  6. Install the extension_audit package

    • pip install the package
    pip install extension_audit
    

Usage

  • run the program by specifying the extension name to be used
    extension_audit <extention_name>
    
    For example:
    extension_audit maxai
    

License

This project is licensed under the AGPL-3.0 License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

extension_audit-1.0.0.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

extension_audit-1.0.0-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file extension_audit-1.0.0.tar.gz.

File metadata

  • Download URL: extension_audit-1.0.0.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for extension_audit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 7f3a3b730f0540a70eb0ad8274c37dd9e79bd4f31384d61eb235f4dfd3b80e15
MD5 cc8b1c6ff043ef9b3a5fd7a098db2a6b
BLAKE2b-256 eff92eb55c0814c065378cd8a3638bb5a32e4e08f745e258c7d6f7e5e2867f72

See more details on using hashes here.

File details

Details for the file extension_audit-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for extension_audit-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 50ecc7c2d48c52e8742b445de9c958dede861cb0a3186270b5df5fd3ad499afc
MD5 6dc32c8cd15a78d3b8240a622e25fbbc
BLAKE2b-256 6ec40d15a25f426bef56ee6b4c34f9c694be5d063267dbebba6810f26b0be6d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page