threats · network · extensions

Extension access to the network: redirects, filters, and outbound calls

Every page you load is a stream of network requests—HTML, scripts, APIs, images. Extensions can sit above that traffic: calling servers on their own, rewriting requests, or redirecting you to a different host. This article explains those powers in plain language, ties them to documented campaigns with cited figures, and lists practical mitigations.

Network access in one minute

A normal website can only talk to the network in limited ways defined by the browser (same-origin policy, CORS, etc.). An extension background worker is more trusted: with host permissions it can use fetch() to reach many URLs you never see. Separately, declarativeNetRequest (DNR) lets an extension register rules that block, allow, upgrade, or redirect browser requests and alter headers—without injecting JavaScript into every page.

That split matters: outbound calls steal or beacon data; request rules change where your traffic goes or what headers attach—useful for ad blockers and corporate filters, but also for silent hijacks when abused.

Reported scale (with sources)

These numbers come from specific incident reporting. They show how network-capable extensions—remote updates, rule-based request changes, background fetches—scale to millions of browsers when abuse rides on trust and auto-update.

  • 4.3M

    Users reported affected by a long-running malicious-extension operation (ShadyPanda)

    Coverage of Koi’s research described extensions that fetched remote JavaScript on a schedule, executed it with full extension API access, and could inject content into HTTPS pages—a network-driven control plane, not just local spying. Earlier phases reportedly included affiliate injection on commerce navigations. See The Register.

  • 2,300+

    Users across extensions using network APIs for theft and control

    Socket documented extensions that combined fetch to exfiltrate data to attacker APIs with declarativeNetRequest.updateDynamicRules to append cookies to outbound requests—altering traffic at the browser extension layer. Combined reach: over 2,300 users. See Socket.

What “network permission” usually covers

Install prompts rarely say “network” in one word; you typically see a bundle. In practice, watch for:

  • Host / site access — paired with fetch, WebSockets, or XMLHttpRequest from the extension service worker to read responses, beacon keystrokes, or sync stolen data.
  • declarativeNetRequest — static or dynamic rules to block ads or trackers, redirect navigations, strip or add headers (including cookies or auth tokens on requests).
  • Proxy / VPN-style routing — sends browser traffic through a chosen endpoint (often a separate permission story; overlaps with “network path” risk).
  • WebRequest (legacy MV2) — older extensions could observe and modify requests in more flexible ways; Manifest V3 pushes many use cases toward DNR, but installed legacy extensions may still exist in some environments.

Official references: declarativeNetRequest, extension network requests.

Risk outcomes (plain language)

  • Silent redirects and look-alike flows

    DNR can send you to a phishing clone or append tracking parameters before you reach the real checkout—often without page JavaScript running first.

  • Header and cookie manipulation on the wire

    Rules can add stolen session material to requests or strip security headers, weakening protections the site assumed were intact.

  • Command-and-control over HTTPS

    Background fetches can pull fresh instructions or payloads periodically; reporting tied to ShadyPanda described scheduled checks and execution of downloaded script.

  • Blocking visibility or updates

    Rules could block domains used by security tools, blocklists, or update endpoints—extreme cases, but possible when an extension owns the filter list.

Real-world patterns (documented)

  • Dynamic rules + exfiltration. Enterprise-targeting extensions used declarativeNetRequest alongside fetch-based command APIs—see Socket’s analysis.
  • Remote fetch and injection at scale. Reporting on ShadyPanda described periodic retrieval of script and injection into secure pages—see The Register.
  • Pair with session theft. Network APIs rarely act alone; combine this guide with extension cookies and tabs / URL telemetry.

What actually helps

  • Treat DNR + broad host access as high sensitivity. Ad blockers need rules; random “speed” extensions do not.
  • Inspect update history for extensions with network powers—malicious pivots often ship as a new version.
  • Enterprise: allowlist extensions, mirror CRX for review, and monitor for new declarativeNetRequest permission grants.
  • Split profiles so shopping and banking do not share an extension graph with high-risk experimentation.
  • Prefer reputable blockers with public filter policies; avoid opaque rule sets from unknown publishers.

See also extension permissions and how to analyze an extension.

Sources for figures and APIs

These topics often show up together in real extensions and abuse reporting—reading them as a set makes it easier to judge combined risk.

Browse all extension power guides

Spot risky extensions earlier

eSafe helps surface extension risk and reduce tracking noise—use it with tight allowlists and skepticism toward extensions that mix broad network powers with vague features.