fix(security): restack validation-evidence JSON integrity on latest main - #302
Closed
seonghobae wants to merge 1 commit into
Closed
fix(security): restack validation-evidence JSON integrity on latest main#302seonghobae wants to merge 1 commit into
seonghobae wants to merge 1 commit into
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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 #294 on the current protected-main lineage after #292 advanced
main. The predecessor exact head had fresh successful application CI, reviewer CI, and central Security Scan against its then-live base, but that evidence cannot be promoted across the protected-base movement. This successor carries only the tested security-validation JSON-integrity hardening and focused regression.Exact construction identity
mainimmediately before construction and PR creation:7a62f6ddfc2b435ceab84a954714b97a9534161c;a8f0b6c78a8f067070bceee64362bd5e65ed4f63;ci31793091235,reviewer-ci31793091204, and centralSecurity Scan31793091183: terminal success on the predecessor lineage only;4c47ea7ed199e8d3397f6f5fdebd30d7cf0c09d2;main, 1 ahead / 0 behind, merge base exactly7a62f6ddfc2b435ceab84a954714b97a9534161c;scripts/security-validation-evidence.mjs(+4/-0) and newtest/security-validation-evidence-duplicate-json.test.ts(+49/-0).Both successor blobs are byte-identical to the reviewed #294 blobs; all unrelated bytes come from current protected
main.Security behavior
The security-validation evidence reader already fatal-decodes UTF-8. This change additionally runs Noema's bounded decoded-key scanner before
JSON.parse, so contradictory literal/escape-equivalent member names cannot collapse through JavaScript last-key-wins behavior beforeevaluateSecurityEvidence()makes a security-readiness decision.The focused regression supplies both
ownerand escape-equivalentow\u006eerand requires fail-closedduplicate_keysevidence. Checklist evaluation, malformed-JSON classification, evidence evaluation, and audit-output semantics remain unchanged.Evidence boundary
No predecessor CI, coverage, scanner, review, model, release, deployment, or acquisition evidence transfers. Keep this successor Draft until this unchanged exact head has fresh terminal-success application
ci,reviewer-ci, protected-base-eligible centralSecurity Scan, all other applicable checks/statuses, exact 100% owned production statement/branch/function/line coverage with realistic tests, and zero valid unresolved findings. Pending, queued, skipped, absent, neutral, failed, cancelled, stale, predecessor, status-only, model-only, or rate-limited evidence is non-passing.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, statuses, 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 validates supplied evidence; it does not create security-validation evidence, publish a release, deploy production, manufacture operational/acquisition proof, weaken gates, create a self-modifying repair workflow, invent secrets/reviewers, or choose an outbound license.
Supersedes #294 only after fresh exact-head verification and protected integration.