Analyse a Browser Extension's Permissions and Risk

Upload a Chrome, Edge or Firefox extension package and get a permission-by-permission risk breakdown: Host access, content scripts, remote code loading, external endpoints and the manifest settings that matter.

To get an extension's file: Use a CRX downloader for the store URL, or copy it from your browser profile's Extensions folder. Auditing extensions

What this tool checks

9 checks across 1 areas. Each links to its reference page with the test, the risk and the fix.

Full reference

Extension permissions and behaviour

9 checks

The ones that most often decide the grade:

What a browser extension risk analysis examines

The analyzer connects manifest permissions with the code and network access packaged inside a Chrome, Edge or Firefox extension.

Browser extensions can read and modify pages with privileges ordinary websites do not have. A permission is not automatically malicious, but its scope should match the extension's purpose. A colour picker should not normally need access to every website, browsing history and downloads.

Scan.now unpacks the CRX, XPI or ZIP within strict archive limits, reads the manifest, maps permissions to plain-language capabilities and reviews content scripts, host patterns, externally reachable resources and references to remote code or network endpoints. The package is analysed statically and is never installed or executed.

Open the packageValidate and unpack the extension inside bounded archive limits.
Map capabilitiesRead the manifest, permissions, host access and content-script scope.
Review code cluesInventory remote endpoints, risky APIs and remotely supplied behaviour.

Browser extension risk areas

Risk comes from the combination of permission breadth, where code runs and what that code can communicate with.

AreaWhat is inspectedWhy reviewers care
PermissionsNamed browser capabilities such as tabs, history, downloads, cookies and webRequest.Powerful APIs can expose browsing data or modify traffic.
Host accessExact sites, wildcard domains and all-URLs patterns.Broad access lets content scripts read or change many pages.
Content scriptsMatch patterns, run timing, frames and JavaScript injected into pages.Shows where extension code enters the page context.
Remote behaviourExternal script references, dynamic code patterns and remotely hosted resources.Behaviour changed outside the reviewed package can bypass normal release review.
Network endpointsPublic hosts and URLs referenced in manifest and supported source files.Reveals analytics, update, API and data-transfer destinations for manual review.

How to interpret extension risk

The analyzer reports capability and evidence, not an accusation about the developer's intent.

Narrow and explainable

Requested permissions and host access appear proportionate to the extension's visible purpose.

High-impact capability

Broad page access combined with sensitive APIs, dynamic code or unexplained endpoints deserves close review before installation.

Powerful but expected

Password managers, blockers and developer tools often need broad access. Trust, maintenance and code provenance still matter.

Review an extension before installing it

  • Compare each permission with a feature you intentionally need.
  • Prefer actively maintained extensions from a verifiable publisher with a clear privacy policy.
  • Restrict site access to on-click or selected domains when the browser supports it.
  • Reanalyse major updates because permissions and remote endpoints can change between versions.

What this result does not prove

  • Static analysis does not run the extension, observe encrypted traffic or prove what a remote server does with data.
  • Minified, generated or obfuscated code can make intent difficult to determine from package evidence alone.
  • A low-risk manifest does not prove that the publisher, update channel or future version is trustworthy.

Guides for this tool

Background reading written to go with these results.

Frequently asked questions

How do I get the extension file?

Download it from the store with a CRX/XPI downloader tool, or export it from your browser's extensions folder. Firefox add-ons are .xpi files; Chrome and Edge use .crx.

Is 'access to all sites' always bad?

No. An ad blocker or password manager genuinely needs it. The question is whether the extension's purpose justifies it and whether the code does anything beyond that purpose.

What is remote code?

Code the extension downloads at runtime instead of shipping in the package. It lets an author change behaviour after review, which is why Manifest V3 forbids it.