A Chrome extension that scans your installed browser extensions and flags potential security risks.
- Permission analysis — Detects dangerous and sensitive permissions (
webRequestBlocking,debugger,cookies,clipboardRead, etc.) and broad host access patterns (<all_urls>,*://*/*). - Install type checks — Flags sideloaded and developer-mode extensions that weren't installed from the Chrome Web Store.
- Malicious ID blocklist — Cross-references each extension against a bundled list of known malicious extension IDs. Matches are tagged with a
BLOCKLISTEDbadge and the specific reason. - Risk scoring — Each extension receives a composite score and is categorized as Safe, Warning, or Danger.
- Auto-updating blocklist — A GitHub Actions workflow publishes
malicious_ids.jsonto GitHub Pages on every push tomain, so the extension can fetch the latest blocklist at scan time with a local fallback.
guardext/
├── manifest.json
├── background/
│ └── background.js # Service worker: risk analysis & blocklist loading
├── popup/
│ ├── popup.html # Popup UI
│ ├── popup.js # Scan trigger, results rendering
│ └── popup.css # Dark-themed styles
├── data/
│ └── malicious_ids.json # Known malicious extension ID blocklist
└── icons
- DL from the link below
or
- Clone the repository:
git clone <repo-url>
- Open Chrome and navigate to
chrome://extensions. - Enable Developer mode (top-right toggle).
- Click Load unpacked and select the
guardext/directory.
- Click the GuardExt icon in the toolbar.
- Click Scan Extensions.
- Review the results — each extension is listed with its risk level and reasons.
The file data/malicious_ids.json contains entries in this format:
[
{
"id": "extension-id-here",
"name": "Extension Name",
"reason": "Brief description of malicious behavior"
}
]To add an entry, append an object to the array and push to main. The GitHub Actions workflow will deploy the updated list to GitHub Pages automatically.
The workflow at .github/workflows/deploy-blocklist.yml deploys malicious_ids.json to GitHub Pages on pushes to main. To enable it:
- Go to your repo's Settings > Pages.
- Set Source to GitHub Actions.
- Set
REMOTE_BLOCKLIST_URLinbackground/background.jsto your Pages URL:https://<username>.github.io/<repo>/malicious_ids.json
The extension fetches the remote list first and falls back to the local copy if the fetch fails.
| Permission | Purpose |
|---|---|
management |
Read metadata of all installed extensions |