Skip to content

Hardening follow-ups (1.4.1) - #8

Merged
thymeed merged 2 commits into
masterfrom
cursor/hardening-follow-ups-82d0
Oct 16, 2026
Merged

thymeed merged 2 commits into
masterfrom
cursor/hardening-follow-ups-82d0

Conversation

@thymeed

@thymeed thymeed commented Oct 16, 2026

Copy link
Copy Markdown
Owner

Security and correctness hardening only; no new features, dependency changes, or refactors.

  1. CSP + Electron navigation — Strict Content-Security-Policy on bridge HTML (script-src 'self', style-src 'self' 'unsafe-inline'). Electron denies window.open and blocks navigation outside the loopback bridge URL.
  2. Atomic event-log writes — Prune and clear write via temp file + rename; test proves the original log survives a failed replace.
  3. formatStatusHtml — Escapes wrapper class names with SafeHtml.
  4. CSV TOTAL label — Notes that explorer/researcher rows are excluded (tokens counted in Haiku); numbers unchanged.
  5. Port 3847 identity — /api/status includes bridgeId; Electron verifies it before loading when reusing an existing listener.

Version 1.4.1 (patch): package.json, lockfile root, README badge, and CHANGELOG.md updated together.

Verified locally: npm run ci and release version drift check (all four version surfaces agree).

Open in Web Open in Cursor 

thymeed and others added 2 commits October 16, 2026 18:52
- Add strict CSP on dashboard HTML from the bridge.
- Deny window.open and restrict navigation to loopback in Electron.
- Verify bridgeId on /api/status before loading a reused port.
- Atomically replace event log on prune/clear; test failed-write preservation.
- Escape status wrapper class names in formatStatusHtml.
- Clarify CSV TOTAL excludes explorer/researcher rows.

Co-authored-by: Thymeed <thymeed@users.noreply.github.com>
Co-authored-by: Thymeed <thymeed@users.noreply.github.com>
thymeed

This comment was marked as resolved.

@thymeed
thymeed merged commit be8f1c7 into master Oct 16, 2026
3 checks passed
@thymeed
thymeed deleted the cursor/hardening-follow-ups-82d0 branch October 16, 2026 19:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant