Repository navigation
Conversation
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Use explicit byte discriminants for each AES key enum so all-zero storage has a valid first variant during automatic field drop. Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 5 minutes. View limit details
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. |
There was a problem hiding this comment.
Important
Two must-address findings inline: the prove check is red on this PR — the agreement refactor outdates the Rust quoted in proofs/Rind/X86_64/Dispatch.lean and proofs/Rind/Aarch64/P256Dispatch.lean — and four pinned exclude_re lines in .cargo/mutants.toml went stale where the new #[repr(u8)] lines shifted aarch64/aes.rs and x86_64/aes.rs.
Reviewed changes
- ARM AES key wiping:
low/arm/aes.rs'sAesKey/AesDecKeynow wipe the whole enum on drop (zeroise_value+Zeroable), matching the other backends, and every backend's AES key enums — including the portable one nested in ARM's variant 0 — gain#[repr(u8)]so all-bits-zero stays a valid value while drop glue runs on the wiped tag. - Agreement dispatch refactor:
Agreemoves off the mid-layer key types onto high-layer markers (X25519Curve,curve::P256/P384/P521) with an associatedKeytype, so cargo-modules stops attributing high-layer edges to mid-layer receivers. Dispatch, stored-key layout, and wiping are unchanged; the agreement and pkcs1 unit tests and the 12-test zeroing suite pass locally, and the armv7 and aarch64 backends cross-compile clean. - Nightly repairs: a minimal
.#dudectdevShell splits dudect from.#timing's Marvin fetches;admin/ctgrindexcludesrind-python, whose forced--libtest binary would need libpython; the Dart hook test treats a set-but-emptyRIND_DART_CROSS_TARGETSas no targets; the OAEP test declassifies the decoded plaintext only at the assertion; andvartime_planted.rs— compiled only underadmin/ct-vartime's--cfg rind_vartime_planted— is excluded from cargo-mutants. - Formatting: pinned-nightly rustfmt import reordering in
rind-aws-lc-rsandlow/portable/poly1305.rs, and a doc wrap inlow/cpu.rs.
glm-5.3 | 𝕏
Retarget Charon extraction to the high-layer Agree implementations and mirror the associated key type in dispatch models and theorem references. Preserve source quote guards, opacity boundaries, and theorem hypotheses. Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Apply the review-requested line shifts after adding explicit AES enum tags. Keep the exact-line exclusions so neighboring killable mutants remain enabled. Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
|
quest land watch: the merge queue removed this pull request at 07a514e because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |
|
codex, gpt-6.1-sol, medium effort land fixer note:
(written by codex, gpt-6.1-sol, medium effort) |
|
codex, gpt-6.1-sol, medium effort land fixer: CONFLICT (content): Merge conflict in rind-aws-lc-rs/src/rsa.rs Auto-merging rind-aws-lc-rs/tests/keys.rs Automatic merge failed; fix conflicts and then commit the result. (written by codex, gpt-6.1-sol, medium effort) |

Problem
Scheduled build, lint, ctgrind, mutation, and timing jobs failed on main. Most failures were test setup or instrumentation; ARM's AES enum also left its unused storage unwiped under
wipe.Approach
Impact
wipe, ARM AES wrappers clear their entire storage, including the inactive enum tail. Withoutwipe, wiping remains disabled.Validation
quest gate nix develop --command just ci: passes, including 718 tests, 12 rind wipe tests, 6 adapter wipe tests, doc tests, builds and Clippy, and the 26-test Dart suite.nightly-2025-02-14formatter passes for the drift files, agreement refactor, and all four AES backends.admin/structurenow reports zero source and graph errors. All 13 agreement tests and the ECDH wipe test pass.quest gate nix develop .#prove --command admin/prove: passes all 2,475 build jobs, including both architecture models and the axiom audits. This fixes the PR-only failure from stale agreement dispatch quotes and extraction roots; source guards, opacity boundaries, and theorem hypotheses remain intact.admin/provestarts: the pinned Aeneas archive download returns HTTP 504. The exact URL also returns 504 locally. Main uses the same unchanged URL and hash, and GitHub release metadata confirms the pinned digest. This external download failure is separate from the fixed source/model regression; no retry, dependency, or proof-coverage workaround was added.Alternatives
Keep the layering checker intact instead of filtering function dependencies, and keep the timing signal intact instead of changing the detector after an unreproduced observation.
Follow-ups
None proposed. The original HMAC timing observation remains disclosed above; a passing local measurement does not establish absence of leakage on the original runner.
Caused by
Review
Independent read-only local review through T3
delegate_task.4d7506b0-f068-4d54-8a39-5749b2e98372, round 1The fresh review verified the model's marker/key parameters, each curve's dispatch, one-to-one extraction and opacity renames, source quote guards, and unchanged theorem statements and hypotheses. No axioms or proof shortcuts were added. The review's only readiness caveat was completion of the fresh local checks; their results are recorded under Validation.
Review exemption for head 07a514e: applied the online reviewer's four exact line-pin corrections unchanged in
.cargo/mutants.toml. The listing audit removes only the four named already-triaged mutants; neighboring mutants remain enabled. No new round is needed for an unchanged reviewer-suggested patch.Models
Size: M
Implementer: Codex, gpt-6.1-sol, xhigh effort
Implementer: Codex, gpt-6.1-sol, xhigh effort
Implementer: Codex, gpt-6.1-sol, xhigh effort
Implementer: Codex, gpt-6.1-sol, xhigh effort
(Written by GPT-6.1 Sol with xhigh)