fix(security): restack inherited outbound body guard on latest main - #299
Closed
seonghobae wants to merge 3 commits into
Closed
fix(security): restack inherited outbound body guard on latest main#299seonghobae wants to merge 3 commits into
seonghobae wants to merge 3 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Create a clean successor for #297 on the current protected-main lineage after #292 advanced
mainand caused #297 application CI to fail closed at the live-base drift guard. This successor preserves only the credential-egress inherited-request-body correction and its focused regressions. It does not rewrite, force-push, or mutate the predecessor branch.Exact construction identity
mainimmediately before construction and PR creation:7a62f6ddfc2b435ceab84a954714b97a9534161c;02f348572987ce83aaf5a1cf9d408e316fd7571f;31794644424failed only atverify live pull-request base before lockfile control; checkout, exact-head verification, and package-manager verification had already succeeded, while later install/release verification was skipped;6a8ddf172b4bbf0b7d620a4b9269ee9fe24f792e;main, 3 ahead / 0 behind, merge base exactly7a62f6ddfc2b435ceab84a954714b97a9534161c;src/outbound-fetch-policy.ts, newtest/outbound-request-body-inheritance.test.ts, andtest/outbound-request-compartment.test.ts.The protected-main movement between #297's base and this successor consists of the #292 patch-quarantine slice and does not overlap these three paths. The successor source and focused test blobs are byte-identical to the reviewed #297 GREEN blobs; all unrelated bytes come from current protected
main.Security defect and GREEN behavior
A body-bearing source
Requestcan be supplied withRequestInit.body: nullor explicitundefined. Those overrides are not sufficient evidence that the inherited source body disappears for the effective Fetch request. The credential-egress policy therefore treats only a non-null/non-undefinedRequestInit.bodyas an explicit body and otherwise falls back to the sourceRequest.body.Focused regressions require both
nulland explicitundefinedoverrides on a body-bearing OIDC metadata request to fail withblocked-request-policybefore any raw network call. The stale compartment expectation thatbody: nullcleared an inherited body is corrected. No outbound destination or method allowlist is broadened.Evidence boundary
No CI, coverage, scanner, review, model, release, deployment, or predecessor evidence transfers. Keep this successor Draft until this unchanged exact head has fresh terminal-success application
ci,reviewer-ci, protected-base-eligible centralSecurity Scan, exact 100% owned production statement/branch/function/line coverage with realistic tests, and zero valid unresolved findings.Immediately before Ready or merge, independently re-resolve protected
main, exact head/ref/ancestry, workflow checkout SHAs, live rulesets, the exact central.githubSecurity Scan revision/triggers/base filters/thresholds, formal reviews, unresolved threads, and active-writer state. Current observable live Noema policy enforces the central Security Scan workflow and does not currently impose an independent formal-approval rule; no synthetic approval requirement is introduced.This change does not weaken gates, create a repair/self-modifying workflow, invent authority/evidence, publish or deploy, or select an outbound license.
Supersedes #297 only after fresh exact-head verification and protected integration.