Skip to content

Audit: hold each layer to its own rule - #1147

Merged
nedtwigg merged 1 commit into
mainfrom
audit-each-layer
Oct 16, 2026
Merged

nedtwigg merged 1 commit into
mainfrom
audit-each-layer

Conversation

@nedtwigg

Copy link
Copy Markdown
Member

The last canary run missed three seeded vulnerabilities. In each case the auditor passed the code, or played the finding down, because something else would also catch it.

  • _preamble.md → "Evidence for a PASS": a new item, Hold this layer to its own rule. The code a rule names is judged as if it were the last defense. That a build check, a lint, or an upstream gate would also catch the case never passes that code.
  • _preamble.md → "Severity": a gate that admits what it exists to refuse is a missing defense, never hardening. "Only the user sets it" is a claim to trace through every writer before rating a finding below WARNING. The auditor did find the planted UNC path gap, but rated it INFO on those grounds.
  • security-remote.md → "Trust boundary" Leaky-bucket mechanism for soft-TODOs #2: adds a clause saying the minted ACL record authorizes nothing until its durable save succeeds, and nothing after a save that failed. The current code already does this: the new ACL becomes live only after #saveAcl resolves. The pairing-acl-live-before-save canary seed now names this rule instead of a class.

The canary and audit tests pass, as do spec-lint and md-unwrap.

🤖 Generated with Claude Code

Run 38979349532's canary missed three seeds, each passed or played down
because something else would catch it:

- A relay-mode fallback that answers Hosted was passed because a build
  check fails any bundle that lost the define. The preamble now judges the
  code a rule names as the last defense; another layer never passes it.
- A browser binaryPath gate that admitted UNC shares was found but rated
  INFO, as only the user sets it. A gate admitting what it exists to
  refuse is a missing defense, and "only the user" is a claim to trace.
- An approved pairing live before its ACL save succeeded went unnoticed
  under the class seed. security-remote.md "Trust boundary" #2 now
  states it, and the seed names that rule.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Deploying mouseterm with  Cloudflare Pages  Cloudflare Pages

Latest commit: 83d63ea
Status: ✅  Deploy successful!
Preview URL: https://74c0fdae.mouseterm.pages.dev
Branch Preview URL: https://audit-each-layer.mouseterm.pages.dev

View logs

@nedtwigg
nedtwigg merged commit 21c540c into main Oct 16, 2026
13 checks passed
@nedtwigg
nedtwigg deleted the audit-each-layer branch October 16, 2026 23:33

This branch is waiting to be deployed

1 waiting deployment
hosted-preview — 83d63eae Waiting Oct 16, 2026 by nedtwigg via cleanup #1410
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.

2 participants