CRXcavator alternativeOffline since 2024

CRXcavator is dead. The attacks moved past the manifest.

It started flaking out in late 2023 and was gone by 2024, with no shutdown notice we've ever been able to find. If your wiki, your procurement doc or your onboarding checklist still points at crxcavator.io, it's pointing at nothing.

We run the same static checks it ran, then keep going: we unpack the exact build your fleet is running and install it in an instrumented browser to see where it sends things.

Free to scan an extension, no account needed. The extension we deploy to a fleet collects extension IDs, versions and permissions only, no browsing data or page content.

Free lookup

Check one now.

Paste an extension ID or name. No account, no card, same as you did with crxcavator.io.

What happened

What CRXcavator actually was

Duo Labs, February 2019 to 2024.

It launched out of Duo Labs in February 2019: a pile of embarrassingly parallel Lambda functions that walked the whole Chrome Web Store, pulled each CRX, unpacked it and ran a battery of static checks. Free, no account, beta its entire life. The backend was never open sourced, which is why nothing cleanly replaced it. When the AWS account was switched off, the code went with it.

The three components everybody actually looked at were permissions, CSP and RetireJS, added together. Permissions had per-API weights, CSP graded each directive from tightly restricted down to not defined at all, and RetireJS flagged known-vulnerable libraries. The team behind it knew exactly what was wrong with this: the score measured risk surface, not malicious intent, so a password manager with legitimately broad permissions outranked a tightly scoped credential stealer.

The score
permissions + CSP + RetireJS
no normalisation, no weighting, no ceiling

It caught real things

In February 2020 the researcher Jamila Kaya used CRXcavator to pull on a cluster of suspicious extensions. Working with Jacob Rickerd and Google's threat analysis team, that became 500+ malicious extensions affecting around 1.7 million users. Google pulled the lot.

The Gatherer is what made it stick

The companion extension fed fleet inventory back into the dashboard, and the public API spawned a small ecosystem of open-source clients and Splunk SOAR connectors before the lights went out. That's the bit people actually miss.

The gap

Four things a permission score was never going to catch.

A permission score reads the manifest. None of these four touch it.

Supply chain compromise

Cyberhaven, December 2024: 35+ extensions, around 2.6 million users. The malicious release declared exactly the same permissions as the legitimate one, because the attackers got publish rights through a malicious OAuth app rather than by changing the manifest. There's no permission change to diff, so the scanner returns the same number it did last week.

Obfuscated exfiltration

Stylish came back with a verified publisher badge, a featured listing, and full browsing-history exfiltration under four layers of base64, a columnar transposition cipher and AES-256-CBC. RetireJS doesn't see that. Nothing static really does.

Manifest looks fine, code is rotten

The MultiPassword CVSS 8.3 I disclosed had a totally clean manifest. A content script trusted a postMessage from the page, so any site sharing a country-code eTLD could pull plaintext passwords and TOTP codes out of the vault. No permission check catches that, because no permission was wrong.

Same permissions, different product

Password managers need scripting. Stylish does need every hostname. WhatRuns does need to read the page. The permissions are honest in all three, and the same set powers a perfectly nice ad blocker or a credential stealer, depending on what the JavaScript decides to do that morning.

The replacement

Don’t trust the manifest, read the code.

We take the exact bundle running on your fleet apart, then install it in an instrumented browser and watch what it actually does.

Staticwhat's in the file

We analyse the exact version your fleet is running, not whatever the store ships today, and we unpack it before judging anything.

  • Packed and obfuscated bundles normalised first
  • Declared permissions diffed against the APIs the code actually calls
  • Page content and cookies traced through to network sinks
Dynamicwhat it does when you run it

A loader that fetches its payload at runtime looks like nothing on disk. So we install it in an instrumented browser and let an agent drive it the way a person would: webmail, admin console, banking.

  • Every DOM read, cookie access and outbound request recorded
  • Message passing followed across content scripts, workers and iframes
  • Region, delay and domain varied to shake out conditional payloads

Then a human checks it

An LLM pipeline reasons over the deobfuscated source and the runtime traces. The things I most want to catch are the ones no published signature has seen yet: odd egress destinations, content-script-to-page leaks, payloads assembled at runtime. Then a researcher checks anything serious before it lands in a customer dashboard, because LLMs hallucinate and a wrong "this extension is stealing passwords" is much worse than a slow one. That bit costs a fortune and we keep doing it anyway.

  • Nothing critical or high ships on model output alone
  • Every verdict links to the evidence that produced it
  • Disclosed to the vendor first, published after

Proof

Receipts from the last six months

Methodology arguments are cheap, so here's what it's actually caught. A permission-based scanner gave most of these a clean or near-clean score.

WhatRuns
Scraping AI chat contents and browsing URLs.
StayFocusd
Exfiltrating your complete browsing history.
Coupert
3M users. Exfiltrating search results.

Undisclosed findings put us on Belgium's Centre for Cybersecurity Wall of Fame in March 2026. Further disclosures are with vendors now, under coordinated timelines. Read more.

Migration

If you're still linking to crxcavator.io

Six things to swap in. Any score still pasted in your wiki is two years stale.

  1. 1

    Scan one extension

    Paste an ID or name into the box above. No account, no card.

    Scan an extension
  2. 2

    Replace the Gatherer

    Google Workspace read-only, our extension by MDM, or SentinelOne.

    See the integrations
  3. 3

    Import your blocklist

    Workspace also pulls your existing Chrome blocklist across. No re-keying.

    Google Workspace setup
  4. 4

    Decide what happens on a bad verdict

    One click force-removes it on every enrolled device at the next fetch.

    How enforcement works
  5. 5

    Wire it into what you run

    REST API, webhooks on change, indicators pushed to your threat intel store.

    API docs
  6. 6

    Update the wiki

    Swap the crxcavator.io links in your runbooks. Those scores are stale.

FAQ

What people ask us about it.

No. It started failing in late 2023 and was effectively gone by 2024. We've never found a shutdown announcement from Duo or Cisco. Any score you can still find quoted online is at least two years stale, and crxcavator.io no longer answers lookups.

Find out what your fleet is actually running.

Scan a single extension free, or connect your fleet and get the whole inventory with evidence attached. 14-day trial, no card required.

CRXcavator was a Duo Security / Cisco project. Named here for identification only; this page is written by Am I Being Pwned.