Highlights
Excessive Privilege: 1 prior fix. Scrutinize any change in this area.
src/content-script/index.mjs: most-fixed (1 issue). Treat as high-risk during review.
1 high-severity fix in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Reflected XSS: Rendering raw API responses from ChatGPT using innerHTML allows attackers to inject malicious scripts into the DOM of search engine pages where the content script executes. This was resolved by switching to textContent.
Excessive Privilege: Declaring broad match patterns like 'https://*/*' in the extension manifest grants the content script permission to execute on all HTTPS websites, drastically increasing the attack surface if a vulnerability is exploited in the script.