Chrome extension permissions explained: the full risk dictionary

Chrome extension permissions explained: the full risk dictionary

Chrome extension permissions explained: the full risk dictionary

Chrome extension permissions explained: the full risk dictionary

What every Chrome, Edge and Firefox extension permission grants, and how risky it is. A reference to keep open while you review a manifest or a request.

François-Henri Champagne

A browser extension permission is a capability the extension asks the browser for: reading the pages you visit, seeing your tabs, touching your cookies, rerouting your traffic. Every permission is declared in the extension's manifest.json, and the browser turns the riskiest ones into a short install warning, such as "Read and change all your data on all websites". Most people click through it. This dictionary gives you the real version: what each permission grants, and how we rate it.

The scale is the one Ostral's scanner uses, Critical, High, Medium, or Low. Each permission is graded on what it enables if the extension turns, not on the average case, and it is only truly justified if the extension's job needs it. Updated in October 2026 with the permissions specific to Firefox and the questions we hear most.


The three kinds of permissions

An extension can reach your data in three ways, and a review has to read all three:

Kind

Where it is declared

What it decides

API permissions

permissions

Which browser capabilities the extension can use: tabs, cookies, proxy, downloads, screen capture

Host permissions

host_permissions, and the matches of content_scripts

Which websites the extension can read and change. A content script that runs on every site reaches as far as a host permission does

Optional permissions

optional_permissions, optional_host_permissions

Capabilities the extension can request later, while it runs, long after the install warning was read

Chrome and Edge share the same permission names, since both run on Chromium. Firefox uses most of them too, plus a few of its own, listed further down.


Host permissions

Read these first. Host permissions decide which sites the extension can reach, which is the blast radius for everything else. Any broad host access is Critical on its own.

Permission

What it grants

Risk

<all_urls>

Reads and modifies data on every website the user visits, the widest reach there is

Critical

*://*/*

Reads and modifies data on every website the user visits

Critical

http://*/*, https://*/*

Every http site and every https site (http being the plaintext half)

Critical

https://*.example.com/*

One named domain and its subdomains, the scoped and expected case

Low

activeTab

Temporary access to the current tab, only when the user clicks the extension

Medium


Critical permissions

These hand an extension deep control: your traffic, your screen, your files, your credentials. Treat any of them as a stop-and-review, whatever the tool claims to be.

Permission

What it grants

Risk

debugger

Full control over browser protocols, for deep monitoring and modification of activity

Critical

proxy

Routes traffic through a third-party server, potentially exposing all browsing

Critical

webRequest

Intercepts and modifies data between the browser and websites before it loads

Critical

webRequestBlocking

Blocks resources from loading or alters content delivered by websites

Critical

pageCapture

Saves complete copies of visited pages, text and images, to a file

Critical

desktopCapture

Records the entire screen, specific apps, or browser tabs

Critical

nativeMessaging

Talks directly to apps on the operating system, bypassing the browser sandbox

Critical

userScripts

Runs custom scripts on webpages, altering their content or behavior

Critical

fileSystem

Reads and writes files on the local drive

Critical

webAuthenticationProxy

Intercepts and modifies authentication requests, potentially compromising credentials

Critical


High-risk permissions

Each of these exposes sensitive data or lets the extension act as the user. High on its own, and often part of a takeover once paired with broad host access.

Permission

What it grants

Risk

cookies

Reads and modifies cookies, which hold sessions and login state

High

identity

Accesses OAuth2 tokens to act on behalf of the user

High

identity.email

Accesses the email address of the signed-in browser account

High

history

Reads, modifies, and deletes the record of visited sites

High

tabs

Reads the titles and URLs of every open tab

High

webNavigation

Monitors navigation between pages in real time

High

downloads

Starts downloads from the internet to local storage

High

clipboardRead

Reads whatever is on the clipboard

High

clipboardWrite

Replaces what is on the clipboard

High

management

Manages, disables, or uninstalls other extensions

High

privacy

Changes browser privacy and security settings

High

contentSettings

Changes per-site access to cookies, JavaScript, and plugins

High

geolocation

Detects the user's precise location

High

tabCapture

Captures the audio and video of the current tab

High

audioCapture

Captures audio from the microphone

High

videoCapture

Captures video from the camera

High

declarativeNetRequest

Blocks or rewrites network requests by rule

High

declarativeNetRequestWithHostAccess

Modifies data sent to or from permitted sites

High

browsingData

Clears history, cookies, and cached files

High

webRequestAuthProvider

Handles HTTP auth prompts, potentially seeing entered credentials

High

bookmarks

Reads, creates, and deletes bookmarks

High

vpnProvider

Implements a VPN client, with full visibility and control of traffic

High

certificateProvider, platformKeys

Expose client certificates for authentication

High

Medium-risk permissions

Meaningful reach, worth a second look when the stated purpose does not obviously call for it.

Permission

What it grants

Risk

activeTab

Temporary access to the current tab, only on user click

Medium

scripting

Injects and runs code on pages to change content or behavior

Medium

storage, unlimitedStorage

Stores extension data locally, with or without a size limit

Medium

sessions

Reads open sessions and tabs, possibly from other devices

Medium

topSites

Reads the list of most-visited sites

Medium

tabGroups

Organizes and modifies tab groups

Medium

background

Runs in the background even with no tabs open

Medium

offscreen

Runs tasks in hidden documents the user never sees

Medium

notifications

Shows pop-up alerts

Medium

contextMenus

Adds items to the right-click menu

Medium

dns

Resolves hostnames, which can reveal browsing habits

Medium

ttsEngine

Implements a text-to-speech engine, seeing the text sent to it

Medium

gcm

Sends and receives push messages via Google Cloud Messaging

Medium

system.storage, fileSystemProvider

Detects external drives, or exposes a file system to the file manager

Medium


Low-risk utilities

Common and low-signal on their own. They add context to the powerful permissions above rather than posing a standalone risk.

Permission

What it grants

Risk

alarms, idle, commands, power

Timers, idle detection, keyboard shortcuts, keep-awake

Low

favicon, fontSettings, search, sidePanel, windows, tts, audio, readingList

Display, fonts, search, side panel, windows, speech, reading list

Low

printing, printerProvider, printingMetrics, documentScan

Printing and document scanning

Low

system.cpu, system.memory, system.display

Basic device hardware and display metadata

Low

declarativeContent, downloads.open, downloads.ui, processes, wallpaper

Other low-signal utilities

Low


Permissions specific to Firefox

Firefox add-ons can request a few permissions that Chrome and Edge do not have. Two of them sit at the top of the scale.

Permission

What it grants

Risk

webRequestFilterResponse

Reads and rewrites the content of web responses before the page receives them

Critical

pkcs11

Installs security modules that hold certificates and keys, which can change what the browser trusts

Critical

browserSettings

Changes global browser settings, such as the home page, the new tab page and link behavior

High

contextualIdentities

Creates and manages container tabs, which keep browsing data apart

Medium

menus

Adds options to the browser's menus, including the right-click menu (the Firefox name for contextMenus)

Medium

tabHide

Hides and shows browser tabs

Medium

find

Searches the text of open pages and highlights the matches

Medium

captivePortal, theme, menus.overrideContext

Detects public Wi-Fi login pages, changes the browser's look, replaces the right-click menu on its own pages

Low


The combinations that bite

No single permission is malicious by itself. The danger is a combination that exceeds the stated function. A few to recognize on sight:

  • <all_urls> plus cookies: session hijacking across every site.

  • proxy in anything that is not explicitly a VPN or proxy tool: a way to reroute all traffic.

  • tabCapture or pageCapture in a tool that is not a recorder: silent capture of meetings, screens, and page content.

  • scripting or debugger plus broad host access: arbitrary code on every page the user opens.

  • nativeMessaging plus broad host access: a bridge from a web page to the operating system.

Work top to bottom. Check the host permissions for blast radius, then scan for anything in the Critical or High tables. Then ask the one question that matters: does the stated function need this? For the full method, see Part 3 of the series.


Frequently asked questions

What does "Read and change all your data on all websites" mean?

It is the warning for broad host access, such as <all_urls> or *://*/*. The extension can read every page the user opens, including what they type, and change it: rewrite links, inject scripts, send page content elsewhere. A useful tool and a data-theft payload ask for it in the same words, which is why it rates Critical on its own.

Are optional permissions safer than required ones?

They are less visible, not safer. An optional permission is requested while the extension runs, so it never appears in the install warning that people read once. Review them with the same tables as the required ones.

Can an extension gain permissions in an update?

Yes. When an update asks for permissions that trigger a new warning, Chrome disables the extension until the user accepts them, and many users accept. An extension can also keep the same permissions and change what it does with them, through new code or a configuration it fetches from its server. That is why a permission review is only true for the version you checked.

Which permissions are the most dangerous together?

Broad host access combined with cookies, scripting, debugger or nativeMessaging, and proxy in anything that is not a VPN. The list above explains each pairing.

Do Edge and Firefox use the same permissions as Chrome?

Edge uses exactly the same names, since it runs on Chromium. Firefox shares most of them and adds its own, listed in the Firefox table above.

Find the malwares in your browsers, and block them instantly

Most of the fleets we scan are already running a malicious extension. Ostral installs in one click, maps every extension across your company with its risk, and lets you block anything dangerous everywhere in seconds.