ruvnet / ruvnet/RuView

Qualify RAC1 CSI freshness, provenance, privacy, and retained physical evidence

Open
#1,950 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Rust
Stars
94.4k
Forks
12.5k
Avg merge
21h 27m
Merged PRs (30d)
43

Description

Confirmed post-merge finding

PR #1944 adds a bounded RAC1 parser and reachable UDP → state → REST path, but the merged diagnostic surface does not yet meet the frozen production-evidence gate.

At current main 45fc41ac4cb4fae4310e76351bcac2469101608b:

  • /api/v1/csi/realtek/latest retains and returns a snapshot indefinitely without receipt time, age, stale/offline status, replay/sequence enforcement, or expiry.
  • the public hardware-versus-simulated label is derived from unauthenticated packet metadata; CRC proves integrity, not origin.
  • frames marked invalid can still be summarized and broadcast; undocumented flag bits and invalid decimation values are not rejected.
  • the latest route exposes peer/trigger MAC addresses verbatim when network binding is enabled.
  • the benchmark labels a minimally recognized frame MEASURED without validating the full RAC1 parser contract, and the physical firmware/capture/log artifacts needed for independent replay are not retained in the merged tree.

Raw I/Q is correctly discarded after bounded summaries, loopback remains the default, and no memory-safety defect was confirmed. This issue is therefore public correctness/privacy qualification, not a critical-vulnerability disclosure.

Acceptance criteria

  • Include received_at, age, and an explicit fresh|stale|offline state; expire or clearly invalidate old snapshots.
  • Reject or quarantine replayed/out-of-order sequence values under a documented wrap policy.
  • Enforce csi_valid, known flag bits, decimation bounds, and maximum-size cases before state mutation/broadcast.
  • Mark origin as unverified unless bound to an authenticated source; never infer hardware origin from a payload flag alone.
  • Redact or pseudonymize MAC addresses on network-visible routes, or document and enforce a local-only privacy contract.
  • Retain firmware source/version, serial log, capture/checksum, exact command, hardware topology, and an aggregate replayable result artifact.
  • Make the benchmark use the production parser and validate CRC/version/length/validity before assigning an evidence class.
  • Add fuzz/property tests and an end-to-end UDP → REST freshness/replay regression.
  • Run post-merge workspace, audit, container, and CSI-policy gates on the exact remediation head.

Related: PR #1944 / ADR-323. No autonomous merge.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the /api/v1/csi/realtek/latest route and trace the production RAC1 parser through the UDP-to-state-to-REST path; then inspect the benchmark's parser and evidence handling. Done means the acceptance criteria are covered, including freshness and replay behavior, validation before state mutation, privacy-safe origin reporting, retained replayable artifacts, production-parser benchmarking, and regression or fuzz/property tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, embedded-iot, networking, security, testing-qa
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.