XSS in Obsidian Plugins: Safer Patterns and Tradeoffs

Obsidian plugin development feels deceptively safe. You are not building a public website. You are writing code for a note-taking app, usually for power users, often for yourself first. That mindset is exactly why XSS bugs slip in. The UI still renders HTML. The app still runs JavaScript. The plugin still touches untrusted content from notes, frontmatter, sync sources, APIs, and other plugins. And because Obsidian sits on Electron, a bad XSS bug can feel worse than the browser kind. Sometimes it is “just” UI injection. Sometimes it is account token theft from a plugin settings panel. Sometimes it becomes local file access or remote code execution territory if the plugin mixes unsafe rendering with privileged APIs. ...

August 24, 2026 · 8 min · headertest.com

XSS in VS Code Extensions: Risks, Tradeoffs, and Fixes

VS Code extension authors often assume XSS is “just a web app problem.” That’s a mistake. If your extension uses a webview, custom editor, notebook renderer, or any HTML UI at all, you’re building a mini browser surface inside an editor that developers trust deeply. That trust changes the impact. A sloppy XSS bug in a marketing site is bad. A sloppy XSS bug in a VS Code extension can expose workspace data, abuse extension APIs indirectly, phish secrets, or trick users into running commands. ...

July 23, 2026 · 8 min · headertest.com

XSS in Electron Apps: Risks, Tradeoffs, and Defenses

Electron gives web developers a fast path to desktop apps. That speed comes with a nasty tradeoff: an XSS bug in Electron can become a local code execution bug if you wire things carelessly. That’s the core difference from browser-only XSS. In a normal website, XSS usually means session theft, UI redressing, or data exfiltration. In Electron, XSS can cross the line into filesystem access, shell execution, credential theft, and full app compromise. ...

May 4, 2026 · 7 min · headertest.com