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.1.0.tar.gz (10.2 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.1.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: extension_audit-1.1.0.tar.gz
  • Upload date:
  • Size: 10.2 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.1.0.tar.gz
Algorithm Hash digest
SHA256 6db061e12d0670d7cd58e5064c0127ece51ca1276a49077e195ada98ada2f474
MD5 5501481450ecf0c78933b793e1d17e7d
BLAKE2b-256 bd1247ae2b1555ce8f3378ee5e89f145cfcd2d7172ebeb868a944b560aba27d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for extension_audit-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f979c4ac69499cca4a15b298f0f65ac0ea7196599fb3dc60dfd6be061035fe9f
MD5 8344a40cb245332c25798c36dec84d6a
BLAKE2b-256 313cbf1835bf9e6a5cff756980984fadd47f50d305f46cb2a800387659c47a76

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