Skip to content

security: clear RUSTSEC findings and Ferriskey Clippy failures - #534

Merged
avifenesh merged 2 commits into
mainfrom
security/rustsec-and-clippy-20260730
Jul 30, 2026
Merged

security: clear RUSTSEC findings and Ferriskey Clippy failures#534
avifenesh merged 2 commits into
mainfrom
security/rustsec-and-clippy-20260730

Conversation

@avifenesh

Copy link
Copy Markdown
Owner

Summary

  • update the lockfile to clear the open quinn-proto, anyhow, scc, and spin findings
  • remove vulnerable scc by updating serial_test to the dependency-free release
  • fix the two pre-existing Ferriskey Clippy errors that blocked every matrix job
  • preserve manifest ranges and existing audit policy; no advisory is suppressed

Verification

  • cargo audit --deny warnings: zero findings
  • cargo check --workspace --all-targets
  • all three CI Clippy command variants pass

Supersedes #532 and #533 by combining both fixes into one branch.

…spin)

cargo audit --deny warnings was failing on main with 3 denied warnings,
which blocked the cargo-group Dependabot PR (#531) carrying the
quinn-proto security bump. Resolves all four in one lockfile update:

  quinn-proto 0.11.14 -> 0.11.16  RUSTSEC-2026-0185 (7.5 high)
      remote memory exhaustion via unbounded out-of-order stream
      reassembly — the actual vulnerability, superset of #531
  anyhow      1.0.102 -> 1.0.104  RUSTSEC-2026-0190 (unsound)
      unsoundness in Error::downcast_mut(); patched >= 1.0.103
  scc         2.4.0   -> removed  RUSTSEC-2026-0205 (unsound)
      Array::insert exception-safety / potential double-free. Reached
      only as a dev-dependency via serial_test 3.4; serial_test 3.5.0
      drops the scc dependency entirely, so no major bump is needed
      (scc's own fix is 3.8.4, a major jump).
  spin        0.9.8   -> 0.9.9    yanked-crate warning
      transitive under sqlx-sqlite -> flume; 0.9.9 is not yanked.

Lockfile only — no manifest ranges changed, no majors introduced, and
no new entries added to the .cargo/audit.toml / deny.toml ignore lists.

Verified: cargo audit --deny warnings exits 0 (468 deps scanned, zero
findings); cargo check --workspace --all-targets succeeds.
cargo clippy -D warnings fails on main in the ferriskey lib, which takes
down all three clippy invocations in matrix.yml / release.yml (the scoped
workspace job compiles ferriskey as a dependency, so it fails there too)
and with it every `valkey N · standalone|cluster` matrix leg.

  cluster/routing.rs:552  clippy::for_kv_map
      `for (_, arg_indices) in routes.iter_mut()` -> `routes.values_mut()`
  cmd.rs:74               clippy::question_mark
      collapse the if-let/else-return into `self.cmd.cursor?`; next_item
      already returns Option<T> and uses `?` further down, so this is the
      idiom the surrounding code already follows

Pre-existing debt, not a regression: verified identical failures on a
clean checkout of main at 0def596 with no local changes.

Verified all three CI clippy invocations now exit 0:
  cargo clippy -p ff-core -p ff-script -p ff-engine -p ff-scheduler \
    -p ff-sdk -p ff-server -p ff-test -p ff-backend-sqlite \
    --features ff-sdk/direct-valkey-claim -- -D warnings
  cargo clippy -p ferriskey --all-targets -- -D warnings
  cargo clippy -p ferriskey --all-targets --features iam -- -D warnings
Copilot AI review requested due to automatic review settings July 30, 2026 21:58
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@avifenesh
avifenesh merged commit 954dff7 into main Jul 30, 2026
103 of 105 checks passed
@avifenesh
avifenesh deleted the security/rustsec-and-clippy-20260730 branch July 30, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants