singularity-forge/packages
Mikael Hugo 701ec8fb88 port(pi-mono): escape session metadata + image data in HTML export (refs 7617c1ad9, 57787b655)
Pi-mono Tier 0 #1 (security) — sf-driven port.

Two upstream security fixes (pi-mono PR #3819, #3883) that escape
user-controlled session content before embedding in HTML exports.
Crafted session content (image mime types, image data, model IDs,
tool names, entry IDs) could otherwise inject markup at the export
boundary.

What sf changed in
packages/pi-coding-agent/src/core/export-html/template.js:

- Image tags: escape `mimeType` and `data` attributes for both
  tool-result and user-message image renders (PR #3819).
- Session metadata: escape `msg.toolName`, `msg.role`, `entry.modelId`,
  `entry.thinkingLevel`, `entry.type`, `entry.id`, and
  `globalStats.models` (PR #3883).
- DOM id construction: renamed `entryId` → `entryDomId` and escape
  `entry.id` to prevent attribute-breakout from a crafted id.

The existing `escapeHtml()` helper was used at every site; no new
helper introduced. Type-check passes.

Co-Authored-By: sf v2.75.1 (session 150fe2c1)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-29 14:20:23 +02:00
..
daemon release: v2.75.0 2026-04-17 17:26:59 +00:00
mcp-server feat(providers): add xiaomi direct API (token-plan-{ams,sgp,cn}) — additive 2026-04-29 13:54:43 +02:00
native sf snapshot: uncommitted changes after 248m inactivity 2026-04-28 21:10:17 +02:00
pi-agent-core Cherry-pick 4 critical recovery fixes from pi-mono upstream 2026-04-18 14:28:15 +02:00
pi-ai port(pi-mono): normalize Bedrock model names for inference profiles (refs ed4bc7308) 2026-04-29 14:14:17 +02:00
pi-coding-agent port(pi-mono): escape session metadata + image data in HTML export (refs 7617c1ad9, 57787b655) 2026-04-29 14:20:23 +02:00
pi-tui release: v2.75.0 2026-04-17 17:26:59 +00:00
rpc-client release: v2.75.0 2026-04-17 17:26:59 +00:00