v0.9.3 — Security pass
Addresses every actionable finding from the v0.9.2 security + privacy review. All 723 tests pass; tsc + biome clean.
Findings closed
- H1
javascript:URLs in<a href>— newsafeHrefhelper at all 9 emission sites. - H2 Trusted-HTML XSS via prompt injection — wizard build-time allowlist on spotlight + tip code fields.
- M1 Regex-DoS — wizard stress-tests every product regex pre-flight.
- M2 Markdown link scheme in
mdToHtml— covered by H1. - M3 Build-time SSRF —
fetch-feeds.tsrejects loopback / link-local / RFC1918. - L1
escHtmlbacktick — added; digestmdToHtmlrestores before parsing. - L2 Digest filename slug —
digest-save.mdrejects..,/,\\, null bytes.
Dependencies
vitest2.1.4 → 4.1.8. Clears all 5npm auditadvisories (4 moderate + 1 critical). All dev-tooling vulns — never shipped in the .plugin.
Deferred to v0.10
- Tokenised structure for spotlight
code(deeper H2). safe-regex2static analysis (deeper M1).- README paragraph on
localStoragestorage (informational I1).
See PR #13 for the full diff.