Skip to content

tasks(security): pre-PR gates — threat-actor / no-irreversible-bundle / source-layer-first#31

Open
havardljohansen wants to merge 1 commit into
frontkom:mainfrom
havardljohansen:chore/security-task-tighten
Open

tasks(security): pre-PR gates — threat-actor / no-irreversible-bundle / source-layer-first#31
havardljohansen wants to merge 1 commit into
frontkom:mainfrom
havardljohansen:chore/security-task-tighten

Conversation

@havardljohansen

Copy link
Copy Markdown
Contributor

Tightens tasks/find-security-issues.md with three pre-PR gates after frontkom/merkur-frontend#334 (2026-06-15) closed as misfit.

Gates

  1. Threat-actor named, checked against trust model. Trusted-editor Frontkom sites have javascript: URI in CMS hrefs below their threat floor — skip.
  2. No irreversible-ish bundling. HSTS preload, CSP enforce, COEP/COOP never share a PR with anything reversible.
  3. Source-layer-first. Sanity Rule.uri, Drupal validators, ACF constraints, Shopify metafield validation — if the source can enforce, the runtime patch is a bandage.

Anti-example: #334

  • Fused "compromised CMS document" + "malicious CMS editor" — different adversaries
  • Bundled HSTS preload (months-to-revert) with sanitizeHref() defense-in-depth (1-commit-revert)
  • Patched 8 frontend files when 1 Sanity schema validator was the source fix

Version bump

2026-06-10b2026-06-15a per AGENTS.md (tasks/ counts as framework-level).

Refs

🤖 Generated with Claude Code

… / source-layer-first

Closes havardljohansen/dev-cockpit#71.

Tightens find-security-issues with three gates that must hold before any
security PR opens. Anti-example for all three: frontkom/merkur-frontend#334
(2026-06-15) bundled a sanitizeHref() defense-in-depth pass with HSTS preload
without naming the threat-actor; the editor-trust case eliminated the threat
for the project, HSTS doesn't bundle with anything reversible, and Sanity
schema URL validators were the one-line source-layer fix.

Version bump 2026-06-10b → 2026-06-15a per AGENTS.md (tasks/ counts as
framework-level change).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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