Documentation
¶
Overview ¶
Package browser models the impact of a malicious Chromium browser extension (CursedChrome-style browser proxy, infostealer, sideloaded MV3 extension). It answers two questions a responder cares about:
- Which installed extension has the reach to do it? (capability): the manifest permission union — cookies + broad host access + request interception / script injection / proxy — plus whether it was sideloaded (unsigned, not content-verified).
- What would it reach? (blast radius): the live SaaS/IdP sessions present in the browser's cookie store.
It never decrypts cookie VALUES (Chromium wraps them with an OS keychain / App- Bound key — infeasible offline), so the session inventory is metadata only: which domains have a live auth session, grouped by blast radius. That is the honest signal — an extension bypasses the keychain in-browser; geiger's job is to say what is reachable, not to steal it.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Options ¶
type Options struct {
Live bool // permit the network Web Store liveness check on store extensions
Intrusive bool // read the Cookies DB metadata (the sensitive session inventory)
All bool // list every extension, incl. narrow/benign ones (inventory)
Proxy string // route the --live Web Store check through this proxy (http/https/socks5)
Home string // override home dir (tests); defaults to os.UserHomeDir
GOOS string // override runtime.GOOS (tests)
}
Options configures a scan. Home and GOOS are injectable for tests.
Click to show internal directories.
Click to hide internal directories.