Harden vintage x86 reward validation against self-reported arch spoofing#8022
Harden vintage x86 reward validation against self-reported arch spoofing#8022dtopenclaw wants to merge 7 commits into
Conversation
|
Welcome to RustChain! Thanks for your first pull request. Before we review, please make sure:
Bounty tiers: Micro (1-10 RTC) | Standard (20-50) | Major (75-100) | Critical (100-150) A maintainer will review your PR soon. Thanks for contributing! |
|
Thanks for taking this on — it's a genuine, substantial attempt and the structure is right (reward-only layer, anchored brand, no identity rewrite). But bounty #16271 requires surviving adversarial security review with zero blocking findings, and an independent Codex+Grok pass found 4 blockers that keep the spoof open. Fix these and resubmit — the bounty stays yours to win:
Also worth tightening: the anchored brand grammar rejects legitimate strings like |
|
Addressed the four blocking findings and then tightened the core evidence gate further in commit 201c607. Vintage enrollment now requires a nonce-bound canonical full-payload signature, the server-validated overall fingerprint result, a complete consistent device-age oracle, and a passed measurement whose complete current producer schema is independently recomputed by the node. Cache hierarchy ratios and thermal ratios must match their source values; SIMD flags/count/booleans must agree; jitter and thermal variance must satisfy the producer pass rules. Correctly named fields, arbitrary numbers, legacy profile arrays, client pass bits, unsigned reports, and failed overall fingerprints cannot earn vintage weight. Failed SIMD checks still retain AVX/SSE negative evidence; Pentium M subtypes resolve down-only; and the 386/486 clock exception remains reward-call-site-only. Real Pentium III/486 brand forms are accepted, while SSE2/SSSE3 do not count as original SSE. Validation: 141 focused/adjacent tests passed, plus compilation and clean-diff checks. |
Closes the deliverable in Scottcjn/rustchain-bounties#16271.
What changed
Security properties
Validation
RTC payout wallet: RTCc35559a7c3921c1a4a18ddfb40f0e38e810eaa4b