Repository navigation
Remove Team Token PR2.2: Host-ref authority and validation - #795
josue-tech-94 merged 5 commits into
Conversation
There was a problem hiding this comment.
CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
2311cc2 to
7a7cf85
Compare
PR Review — Remove Team Token PR2.2: Host-ref authority and validation (#674 / Specs 61-64)Review verdictYES with conditions — no production blocker found; one confirmed test-quality defect weakens the W1 evidence. Reviewed the complete diff at base Assessed against the Task 106 stack reviewer context as the top layer of the linear stack (334 → 594 → 797 → 795): the W1/Spec 64/65 composition this layer implements is coherent and matches the ordering the context asks reviewers to confirm. The activation-gate model is irrelevant to the one finding below (test quality, not gated behavior). PR-introduced issue count
FindingRP795-001 — Medium —
|
7a7cf85 to
28181d2
Compare
28181d2 to
0fbfc9a
Compare
Stable-ID: R27-M1 Class-check: /rpc/hosts/:hostRef public class -> 21 registrations -> one shared W1 validator covers all 21; Desktop and internal Control API routes remain outside Spec 61. Repro-test: mounted invalid_host assertions fail on 18/20 legacy-capable registrations at 730a6eb; both artifact registrations were already-400 positive controls.
Separate the existing local v2 route binding from remote checkpoint execution for the 21 Spec 61 Host-ref routes so shared W1 validation runs between them. Non-Host v2 callers retain the original checkpoint path. Class-check: requireScope calls in the 21 Host-ref registrations -> 21 sites -> all defer only the remote checkpoint until after shared W1; non-Host callers remain unchanged. Repro-test: rpc-proxy/src/__tests__/host-ref-validation.test.ts rejects a producer-signed target with a whitespace Host ref before checkpoint I/O; RED at 490b0e3.
Class-check: w1PayloadRoutes in host-ref-validation.test.ts → 4 route classes (approval approve/deny, model write, session rename). Valid bodies exercise W1; valid-host controls cover all four. Malformed-body precedence remains separate under Spec 61. Repro-test: rpc-proxy/src/__tests__/host-ref-validation.test.ts:197 (fails at 6173730 when W1 is bypassed; each assertion expects exact 400 but receives the downstream result).
0fbfc9a to
f52c984
Compare
Summary
PR2.2 implements the #674 / Specs 61–64 Host-ref authority and validation correction. Current head
0fbfc9a3aa00ea878f4c2698cb8f61a692ebcb27is based on PR2.1 / PR #797 atc869d9f1a70752ff29cb3958790cd26e7e218a09. R2-M1 / RP795-001 is closed by a test-only correction that makes the W1 matrix reach W1. Exact-head CI36486341459, Real PostgreSQL job109144043026, CodeQL36486341442/ Analyze109144041940, and required GHAS109149600035passed. Round 3 returned No objection; GitHub still requires human approval. This PR is open and not landed, and #674 remains open.Stack and lineage
fix/host-rpc-admission-spec65, atc869d9f1a70752ff29cb3958790cd26e7e218a09.fix/pr2-674-host-ref-validation, at0fbfc9a3aa00ea878f4c2698cb8f61a692ebcb27.949f389e1d9bd9036fb9ab1964e0414a5bce26b2.490b0e3f6dd5781570560fdc2d8c1e899ee1f1fa.ac2312d94e8e6fc11fd1bee259dbecb033473ad6.122e124e64458b34a6dfaa9b5d0522091af070bb; final head0fbfc9a3aa00ea878f4c2698cb8f61a692ebcb27has exactly that tree, including R2-M1.bae2c298ba0bf524c8de706a5d83c2a48c613247.d8b71f6b03a1edf82b95c4f0593fba0cbde8d942is historical; the latest-dev reconstruction supersedes it. The current 14-file layer matches its explicit oracle exactly.dev.Scope and contract
The change covers the exact 21 public
/rpc/hosts/:hostRef...route registrations.hostRefsremains the ceiling, intersected with current live Control API Host authorization.host.wake(message_retry)behavior remain compatible.Recovered linear exact-head security and compatibility status
0fbfc9a3aa00ea878f4c2698cb8f61a692ebcb27onfix/pr2-674-host-ref-validation, based on PR2.1 / Remove Team Token PR2.1: Host-route admission security prerequisite #797 atc869d9f1a70752ff29cb3958790cd26e7e218a09. The required title remains“Remove Team Token PR2.2: Host-ref authority and validation.” GitHub marks
this PR REVIEW_REQUIRED.
122e124e64458b34a6dfaa9b5d0522091af070bb; the published head's treematches exactly. The 14-file PR2.2 layer has 936 additions and 47 deletions.
The parent chain is linear through PR1 Remove Team Token PR1: User session, live authorization, and aggregate all-team access #334 at
3a9d2d1dc75d79800e5847df5c19dd97e9c68961, PR2 Remove Team Token PR2: Runtime actions use validated access paths #594 at2d6f34b4021a994afd38033192fcde6885ea0204, and PR2.1 Remove Team Token PR2.1: Host-route admission security prerequisite #797 atc869d9f1a70752ff29cb3958790cd26e7e218a09, rooted on dev21050a2abc459e6c3a8441c024187eb3e3987f04. The stack contains zeromerge commits.
and three producer-backed v2 cases prove W1 rejection before admission,
checkpoint, resolver, or effect; valid-Host controls prove preflight passes.
The W1-bypass mutation made all seven assertions RED. Malformed-body
precedence remains tested separately.
36486341459succeeded across the matrix, including RealPostgreSQL job
109144043026. CodeQL workflow36486341442/ Analyze109144041940passed; required GHAS check109149600035passed withzero annotations. The exact-head alert query returned no current alert
instance. Historical alert objects 1522–1539 were not dismissed.
No objection at current head
0fbfc9a3aa00ea878f4c2698cb8f61a692ebcb27; GitHub stillrequires human approval. No GitHub review or approval was published by this task. rpc-proxy: host JWT hostRefs and wildcard hostRef checks are inconsistent across host routes #674 remains
open pending landing; control-api: rate-limit POST /admin/auth/login and POST /admin/auth/setup #800 is deferred; external-rest-api: forward control-api 5xx status and Retry-After instead of answering 500 #801 remains open pending landing; PR3 has not started.
smoke/soak evidence are NOT VERIFIED here and remain deployment-only gates.
Historical exact-head security status (superseded by current status above)
For the historical PR2.2 head
bae2c298ba0bf524c8de706a5d83c2a48c613247:36094982663completed successfully; the relevant Control API, RPC Proxy, Desktop, External REST, shared-contracts, shell/hygiene, and remaining matrix jobs passed.107945232677in run36094982663succeeded.36095276777, Analyze job107946140858, succeeded forfix/pr2-674-host-ref-validationatbae2c298ba0bf524c8de706a5d83c2a48c613247, category/language:javascript-typescript. Analysis1837357434is forrefs/heads/fix/pr2-674-host-ref-validationat the same SHA. Required CodeQL check107949765866succeeded with zero annotations and “No new alerts in code changed by this pull request.” No current changed-code High/Critical alert was reported; no alerts were dismissed.107448846288atac2312d94e8e6fc11fd1bee259dbecb033473ad6reported 30 High changed-codejs/missing-rate-limitingannotations. Those instances were classified as base-equivalent R0 behavior and motivated the separate Spec 65 prerequisite. No alerts were dismissed in that earlier security-stop pass. That prior-head result is historical context only and does not establish the current head's security status.Historical validation before linearization (superseded by current status above)
Local PR2.2 synchronization validation at
bae2c298ba0bf524c8de706a5d83c2a48c613247:git diff --check, and repository style rules passed. Style rules reported zero errors and one unrelated existing Desktop UI warning.CONTROL_API_REAL_PG_ADMIN_URLis unset. Exact-head CI Real PostgreSQL passed and satisfies the required acceptance gate.36094982663, Real PostgreSQL job107945232677, CodeQL run/job36095276777/107946140858, and required CodeQL check107949765866were successful at that historical head. Round 1 formal review returned No objection there; no GitHub review/approval was published.Round 1 No objection was recorded on the prior reviewed head, before the current parent reconstruction and R2-M1 closure. No new formal review decision has been published for the current head. The corrected PR remains open for human review; #674 remains open until the accepted correction lands in
dev. PR3 has not started.