Collect both packages

Keep the version you already reviewed and obtain the update. If the extension is installed, use the browser's extension page to find the version number, then download the matching CRX or unpacked package. For Firefox, download the XPI. Store both files together so the comparison is reproducible.

A version diff is only meaningful when the two packages are the actual builds you are comparing. Mixing a store build with a developer ZIP can create false differences in minification, build flags or bundled dependencies.

  • Record the version number and release date for both packages
  • Prefer the same distribution channel for both builds
  • Keep the original files until the review is complete

Related pages:unpack a CRX without installingFirefox XPI analyzer

Diff the manifest first

The manifest is the fastest place to spot a capability change. Compare permissions, optional_permissions, host_permissions and content_scripts.matches. A new all_urls pattern or a new cookies permission is more consequential than a renamed action popup.

Also check externally_connectable, web_accessible_resources and the content security policy. These fields control who can talk to the extension and what resources pages can reach.

Manifest fields to compare
FieldWhat a change can mean
permissionsNew browser API access
host_permissionsBroader website access
content_scripts.matchesCode injected into more pages
externally_connectableNew web page communication
web_accessible_resourcesMore resources exposed to pages

Related pages:what does all_urls meancontent script matches

Review code and domain changes

After the manifest, compare code findings and external domains. New remote script references, credential access, clipboard reads or raw IP endpoints deserve a closer look. A new analytics domain may be expected; an unexplained endpoint on a login page is harder to justify.

Static analysis can flag bundled library code that the publisher did not write. Read the surrounding file and line before treating a finding as evidence of intent.

Related pages:how to audit an extensioncheck extension domains