We choose the Drive Route
NOTE Other ways to extract extensions, other than tenable, is present in other ways to extract extension
To implement a allowlist policy for chrome extensions, it was necessary to get the chrome extensions used by the employees and go about evaluating the risk associated with the chrome extension. Hence, a combination of the extensions pulled from tenable and passing those extensions to Crxcavator (a Duo product that scans extensions) provided the starting step for analysis of the extensions.
To run the script, you would need to fill in the details in config.ini
As we used the Drive Option as Output:
- A service account in GSuite needs to be created
- A GCP Project with service account having the following roles:
- Add the GSuite Service Account to the Team Drive so that it can create a Google Sheet for output
- Activate the Drive API in the Google API Console
- Activate the Sheet API in the Google API Console More info abt setting up GSuite Auth in https://developers.google.com/identity/protocols/oauth2/service-account
NOTE GCP Service Account doesn't need domain wide delegation access
- The current script uses tags from Tenable and uses Source tag. If you haven't setup tags before in Tenable, see https://docs.tenable.com/tenableio/vulnerabilitymanagement/Content/Settings/Tags.htm Once a new tag is setup, you would to wait from a few hours depending on the number of assets.
- You will also need to setup a scan that has Windows plugin
96533
& Mac plugin133180
enabled and scans once at least every 7 days.
Create an account in https://crxcavator.io/ to generate a key you will need in config.ini
pip install -r requirements.lock
The script will generate multiple sheets in GDrive under the mentioned team drive.
- Risky_Chrome_Extensions_datetimestamp
- Paid_Chrome_Extensions_datetimestamp
- Chrome_Extensions_Removed_from_Store_datetimestamp
- Version_Unavailable_in_Crxcavator_datetimestamp
- Unscanned_in_Crxcavator_datetimestamp
NOTE The script was unable to fetch any results on the extensions mentioned in Unscanned_in_Crxcavator_datetimestamp.
Usage: main.py [OPTIONS]
Options:
-d, --duration INTEGER Duration in days, that you want to
pull the extensions from tenable
--help Show this message and exit.
- To get all extensions since the last 7 days of tenable on workstations, use
python -B main.py -d 7
NOTE Assuming the workstations are scanned once in 7 days
Score is calculated by taking the total of each section mentioned in https://crxcavator.io/docs#/risk_breakdown ignoring External metadata & WebStore. RetireJS is calculated in the total score even though its not mentioned in the column.
Some of the ways to remove extension can be via GPO, powershell script, bash script, removing registry keys associated with chrome extensions etc.
Malicious Chrome Extension Scanner is owned and maintained by MAINTAINERS
See CONTRIBUTING.md
Malicious Chrome Extension Scanner is licensed under MIT License See LICENSE.md for details.
See RELEASING.md
See SECURITY.md