Description
ExtensionShield evaluates extensions at a single point in time. The database (src/extension_shield/api/database.py) stores scan results and the manifest parser extracts version information, but there is no mechanism to compare risk scores or permission sets between successive scans of the same extension.
This leaves a blind spot for supply chain compromise via extension updates:
- Developer publishes a safe extension, accumulates a large user base
- A subsequent update introduces dangerous permissions and data exfiltration code
- Users receive the update automatically and are compromised
Problem
- No version-to-version comparison of risk scores or permissions
- An extension can go from "Safe" (score 85) to "Unsafe" (score 35) after an update with no historical context shown
- Cannot detect newly added dangerous permissions between versions
Expected Behavior
- Re-scanning an extension should compare results with the most recent previous scan
- Significant score drops or newly added dangerous permissions should trigger alerts
- Users should be able to see a risk timeline showing score progression across versions
Description
ExtensionShield evaluates extensions at a single point in time. The database (
src/extension_shield/api/database.py) stores scan results and the manifest parser extracts version information, but there is no mechanism to compare risk scores or permission sets between successive scans of the same extension.This leaves a blind spot for supply chain compromise via extension updates:
Problem
Expected Behavior