-
Notifications
You must be signed in to change notification settings - Fork 7
fix(attestation): resync 3 missing v1.3.1 hardware rows for Chutes #881
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
henrypark133
wants to merge
1
commit into
main
Choose a base branch
from
fix/chutes-resync-v131-hardware-rows-20260711
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -240,6 +240,14 @@ impl ChutesInstanceVerifier for ChutesBackendVerifier { | |
| /// previous snapshot, so every instance failed closed. | ||
| /// - `8xh200 [10.1.0-flat] v1.3.1` — **GLM-5.1-TEE**, observed live the same way | ||
| /// (2026-07-06). | ||
| /// - `8xb200 [10.2.1, XEON6, SNC3] v1.3.1` — **GLM-5.2-TEE**, observed live on | ||
| /// prod fallback attempts (2026-07-11): full register set matches the | ||
| /// published final v1.3.1 identity byte-for-byte; missing from the previous | ||
| /// snapshot, so the instance failed closed (probe alert | ||
| /// `probe_failed`/`blackbox-attestation`). Resynced from | ||
| /// `GET /servers/tee/measurements` along with two other rows the previous | ||
| /// snapshot had missed for the same v1.3.1 family: `8xRTX_PRO_6000 [10.2.1, | ||
| /// NUMA2]` and `8xRTX_PRO_6000 [10.2.1, FLAT]`. | ||
| /// | ||
| /// ⚠️ Chutes re-measures and re-publishes hardware rows *within* a release as | ||
| /// they roll out platform updates — the bracketed suffixes (`[10.2.1]`, | ||
|
|
@@ -336,6 +344,12 @@ pub fn vetted_golden_measurements() -> ChutesMeasurementPolicy { | |
| ("8xb200 [10.2.1, XEON6]", "65fd972e40ac4d8a933d10ebfc31f07336cf1e45a3864523427b454df5d3b9dd0043f10e975da39677b62d45860c13e3"), | ||
| ("8xb200 [10.1.0, XEON6, SNC3]", "2b22fa53ace208d4f046ae90b7ad28d71a7f4ef0573897d40f6c82b4036217e3170c856f91e54bc19c20c9958c5d1e36"), | ||
| ("8xb300", "91adf9667ba4c65bec5345a8c9b98010708d903847bf838c4526c3ebbc35561719e2127e48a3f6f77f651d71d2cbc8d4"), | ||
| // Resynced 2026-07-11 (probe_failed/blackbox-attestation incident): | ||
| // three more v1.3.1 rows Chutes had published that the previous | ||
| // snapshot missed. Same family MRTD/RTMR1/RTMR2/RTMR3 as above. | ||
| ("8xb200 [10.2.1, XEON6, SNC3]", "ccef43242ef633a542405dbfe55d04d823a50586b0a07510d058ea88ad8d1f8281f227f00c664435d92b23431c4d1c3c"), | ||
| ("8xRTX_PRO_6000 [10.2.1, NUMA2]", "5fc09d108ef74d5505b876690de5ab5da02af463ba84bb33299efd1c02144b5d7a6ba579b3ff31ef9118350468e9faf2"), | ||
| ("8xRTX_PRO_6000 [10.2.1, FLAT]", "e9f0b31ce30e4917767d22ad26ad0a8f4edc095b8d9f4bbb36c9cc24fe274aa2dfe16ce3c961dac2d8cef3e6ae2e901d"), | ||
| ], | ||
| }, | ||
| ]; | ||
|
|
@@ -477,8 +491,8 @@ mod tests { | |
| fn covers_the_full_v130_hardware_family() { | ||
| // All six published v1.3.0 hardware platforms are accepted — by name, | ||
| // so swapping a row for a different config (count unchanged) still fails. | ||
| // Total = 6 (v1.3.0) + 3 (v1.3.1-rc1 Blackwell) + 11 (v1.3.1 final). | ||
| assert_eq!(vetted_golden_measurements().len(), 20); | ||
| // Total = 6 (v1.3.0) + 3 (v1.3.1-rc1 Blackwell) + 14 (v1.3.1 final). | ||
| assert_eq!(vetted_golden_measurements().len(), 23); | ||
| accepts(RTMR0_H200, "8xh200"); | ||
| accepts(RTMR0_H200_R2, "8xh200-r2"); | ||
| accepts(RTMR0_RTX_PRO_6000, "8xRTX_PRO_6000"); | ||
|
|
@@ -506,6 +520,12 @@ mod tests { | |
| // verified, nonce-bound prod quotes logged by the fail-closed reject path). | ||
| const FINAL_RTMR0_B200_1021: &str = "35038cbb04f872ac6d2784b05c912c438007583e58960dc66fb02d1b04462dd5994f94536da37b5877ccd3dd27d8d54d"; | ||
| const FINAL_RTMR0_H200_1010_FLAT: &str = "ed373dfcc4e3b9cc57282773784c88445699f95705ec0995959c4aa95f9dec454c76da891fa56f820f547b02db8c1f2f"; | ||
| // Live-observed row from the 2026-07-11 incident (probe_failed/ | ||
| // blackbox-attestation), plus two sibling rows resynced from the same | ||
| // published v1.3.1 family at the same time. | ||
| const FINAL_RTMR0_B200_1021_XEON6_SNC3: &str = "ccef43242ef633a542405dbfe55d04d823a50586b0a07510d058ea88ad8d1f8281f227f00c664435d92b23431c4d1c3c"; | ||
| const FINAL_RTMR0_RTX_PRO_6000_1021_NUMA2: &str = "5fc09d108ef74d5505b876690de5ab5da02af463ba84bb33299efd1c02144b5d7a6ba579b3ff31ef9118350468e9faf2"; | ||
| const FINAL_RTMR0_RTX_PRO_6000_1021_FLAT: &str = "e9f0b31ce30e4917767d22ad26ad0a8f4edc095b8d9f4bbb36c9cc24fe274aa2dfe16ce3c961dac2d8cef3e6ae2e901d"; | ||
|
|
||
| fn accepts_family( | ||
| rtmr0: &str, | ||
|
|
@@ -608,6 +628,44 @@ mod tests { | |
| ); | ||
| } | ||
|
|
||
| #[test] | ||
| fn accepts_the_2026_07_11_resynced_rows() { | ||
| // Regression guard for the 2026-07-11 incident: GLM-5.2-TEE scheduled | ||
| // on `8xb200 [10.2.1, XEON6, SNC3]` was rejected with "observed | ||
| // measurements match no accepted Chutes config" (probe_failed on | ||
| // blackbox-attestation) because the previous snapshot never published | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Nit: “the previous snapshot never published this row” reverses ownership: Chutes publishes the row; our pinned snapshot missed it. Please use “the previous snapshot never pinned this published row” (or “never included this published row”) so the next resync is not misled. |
||
| // this row. Resynced from `GET /servers/tee/measurements` alongside two | ||
| // sibling rows the same snapshot pull revealed were also missing for | ||
| // the identical v1.3.1 family. All three must verify. | ||
| accepts_family( | ||
| FINAL_RTMR0_B200_1021_XEON6_SNC3, | ||
| MRTD_V131, | ||
| FINAL_RTMR1, | ||
| FINAL_RTMR2, | ||
| FINAL_RTMR3, | ||
| "8xb200 [10.2.1, XEON6, SNC3]", | ||
| "1.3.1", | ||
| ); | ||
| accepts_family( | ||
| FINAL_RTMR0_RTX_PRO_6000_1021_NUMA2, | ||
| MRTD_V131, | ||
| FINAL_RTMR1, | ||
| FINAL_RTMR2, | ||
| FINAL_RTMR3, | ||
| "8xRTX_PRO_6000 [10.2.1, NUMA2]", | ||
| "1.3.1", | ||
| ); | ||
| accepts_family( | ||
| FINAL_RTMR0_RTX_PRO_6000_1021_FLAT, | ||
| MRTD_V131, | ||
| FINAL_RTMR1, | ||
| FINAL_RTMR2, | ||
| FINAL_RTMR3, | ||
| "8xRTX_PRO_6000 [10.2.1, FLAT]", | ||
| "1.3.1", | ||
| ); | ||
| } | ||
|
|
||
| #[test] | ||
| fn rejects_stale_rc1_hardware_carried_onto_final_software() { | ||
| // The previous snapshot carried the -rc1 Blackwell RTMR0s into the | ||
|
|
||
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
High — the resync still omits a published v1.3.1 row. I refreshed the public Chutes measurement endpoint at review time (2026-07-16). Its final-v1.3.1 family now also contains
8xb200 [10.2.1, XEON6, 272CPU]with RTMR09673907ceb0c9ca79337437bb91695e7a3d19e82df1e41de1b0d2db8081fccb5d82f26d479a5016553cb20964d5948b9, under the same MRTD/RTMR1/RTMR2/RTMR3 already trusted here. This value is absent from the policy, andChutesMeasurementPolicy::verifyrequires an exact RTMR0 match, so a genuine instance scheduled on that configuration will still fail withNoMatchand disable the fallback path in exactly the way this PR intends to fix. Please add this row, cover it in the regression test, and update the count assertion.