Browser Extension Update Watchdog That Flags Risky Changes Before They Reach Company Laptops
Build a service that tracks every browser extension used across a company, downloads each new version when it is published, and diffs it against the last one: new permissions, new remote hosts, new obfuscated code, a change of owner. Risky updates are flagged before staff browsers install them. It targets the attack in which a trusted extension is hijacked and pushed to its existing users.
Intermediate
A small team, or one strong student willing to learn something new.1 to 2 semesters · 2 students
7 to ship
4 optional extrasSuggested stack
What you should ship
- An inventory of extensions in use, collected from Chrome Enterprise reports or a small agent
- A poller that detects new versions and downloads and unpacks each CRX file
- A diff engine for the manifest (permissions, host access, content scripts) and the code
- Detectors for new remote endpoints, eval-like code, heavy obfuscation and remote code loading
- A risk score per update with human-readable reasons, and alerts by email or Slack
- A policy export that blocks or pins flagged extensions through Chrome Enterprise
- A replay study on historic compromised extension versions alongside normal updates
If you have time left
- Firefox and Edge add-on support
- Detection of ownership transfers from store listing changes
- A sandboxed dynamic run that records network calls from the new version
- A public feed of risky updates for popular extensions
The problem: the extension you trusted yesterday changed overnight
Browser extensions sit inside every page staff open, including email, banking and admin panels. Many can read and change everything on those pages. Companies usually check an extension once, when someone first asks for it, and then let it update automatically forever.
That trust is exactly what attackers target. On 24 December 2024, attackers phished an employee of a security company, Cyberhaven, and used their Chrome Web Store access to publish a malicious version of the company's extension. It was pushed automatically to users on 25 December and stole session cookies and tokens, and investigators linked the same campaign to a dozen or more other extensions that month. Others have been sold to new owners who then pushed adware or data collection. The update channel is the attack.
What already exists and the gap
- Chrome Enterprise lets administrators allow, block and pin extensions and see which are installed, but it does not analyse what a new version does.
- Extension risk scoring services rate extensions by permissions and reputation, mostly at a point in time.
- Endpoint security tools detect some malicious behaviour after it runs.
The gap is version-by-version change monitoring: download every new release of the extensions a company actually uses, diff it against the previous one, and raise an alarm on the specific risky change before the update spreads. Small companies, schools and agencies can run it without a security team.
Inspiration
"Hulk: Eliciting Malicious Behavior in Browser Extensions" by Alexandros Kapravelos and colleagues (USENIX Security 2014) showed how to detect malicious extensions by running them in an instrumented browser with pages built to trigger their behaviour. The Cyberhaven compromise and its write-ups by several security firms show why the same scrutiny must be applied to every update, not just the first install.
What you build
- IT administrators see every extension in use, its owner, permissions and update history.
- On each new version, the watchdog explains what changed ("now reads all sites; now sends data to a new domain registered last week") and gives a risk level.
- For high-risk updates, the admin can pin the old version or block the extension with one click, exported as Chrome Enterprise policy.
The technically interesting part
- Getting every version. Poll the store for version changes of tracked extensions, download the CRX, verify and unpack it, and keep every version so diffs are possible later.
- Diffing minified code. Extension code is often bundled and minified, so line diffs are useless. Parse into syntax trees and compare at the level of functions, string constants and network calls.
- Signals that matter. New permissions or host access, new remote domains (and how old the domain is), dynamic code loading, encoded strings and code that reads cookies or form fields are strong signals. A normal update that only changes UI text should score near zero.
- Keeping noise down. Large extensions update often. Learn each extension's normal pattern of change and weight unusual changes more heavily.
- Ownership changes. A change of developer name, contact email or privacy policy URL in the store listing often comes before a bad update. Track listing metadata alongside the code and raise the risk of the next update after a transfer.
- Explaining the score. Administrators will not block a popular tool on a number alone. Every alert lists the exact changes behind it, with links to the relevant code in both versions.
How to evaluate it
- Known bad updates: where malicious versions are preserved in public research archives, replay them through the watchdog alongside the versions before them, and check they are flagged.
- Synthetic attacks: inject typical malicious changes into real extension updates and measure detection.
- False alarms: run on a month of updates for the 200 most installed extensions and judge flagged ones by hand.
- Speed: time from a new version appearing in the store to an alert.
Suggested plan
- Weeks 1 to 3: extension structure and manifests; download and unpack CRX files for 20 extensions.
- Weeks 4 to 7: version tracking, storage and manifest diffs.
- Weeks 8 to 11: code diffs, detectors and risk scoring.
- Weeks 12 to 15: dashboard, policy export, evaluation and report.
Path to a product
Browser extension risk is on the radar of every security team after the 2024 incidents, and small organisations have no tooling. A hosted watchdog with a free tier for a handful of extensions, or a shared feed of risky updates sold to security vendors, are both credible.
Scope warning
Only analyse extension packages, which are public; do not install suspicious versions on real machines. Start with Chrome; other browsers are stretch goals. Keep the dynamic analysis optional.
Learn what you need on Sefism
- Cybersecurity roadmap: supply chain attacks and endpoint security.
- Frontend development roadmap: JavaScript and browser APIs that extensions use.
- OWASP Cheat Sheet Series: browser security topics such as content security policy.
- Cybersecurity cheat sheet: the core concepts in one place.
- Web Security Academy: what malicious page access can do in practice.
Get help with this idea
The hard part is a diff that understands minified code and a risk score people trust. Tauseef can help you choose the signals, plan the replay study and design the admin dashboard. If you are new here, create a free account first.
Ideas and guidance, not finished projects
These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.
Not sure this one fits you?
I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.