Skip to content

Pin official tinystoragedrivers v2.1.3 and tinybus, and move to Rust 1.89 - #130

Merged
M3gA-Mind merged 1 commit into
tinyhumansai:mainfrom
M3gA-Mind:fix/tsd-2.1.3-rustsec-0459
Nov 11, 2026
Merged

M3gA-Mind merged 1 commit into
tinyhumansai:mainfrom
M3gA-Mind:fix/tsd-2.1.3-rustsec-0459

Conversation

@M3gA-Mind

Copy link
Copy Markdown
Contributor

Summary

Supply chain is red on main. cargo-deny reports RUSTSEC-2026-0459 (CVE-2026-119375): libsqlite3-sys 0.38.2 bundles SQLite older than 3.54. It reaches this workspace through the tinystoragedrivers testkit dev-dependency, via rusqlite 0.40.

  • tinystoragedrivers: moves from a personal fork (senamakel/tinystoragedrivers c447da3) to the official tinyhumansai/tinystoragedrivers v2.1.3 release (f5a33025b9feaa36fea522cce764fe8c796e5139). That release ships rusqlite 0.41.1 / libsqlite3-sys 0.39.1. We pin only releases from the official repository.

  • tinybus: moves from senamakel/tinybus to the official tinyhumansai/tinybus, at the same revision (85345114, which is on official main). The now-unused patch for the fork URL is removed. The vendored submodule already tracks the official repository.

  • deny.toml: allow-git now lists only the official repositories (tinytools, tinystoragedrivers, tinybus).

  • Rust 1.89, because rusqlite 0.41 requires it:

    • rust-version in every crate and the proof workspace;
    • the CI and distro-build toolchains (1.88.0 → 1.89.0);
    • the floor checks in scripts/test_native_e2e_topology.py, which tie the bus floor to tinystoragedrivers-types (now 1.89);
    • the bus, x402 and proof-workspace READMEs.

    The notes saying tinytools needs 1.88 are unchanged, since that's tinytools' own minimum.

  • rustix 1.1.6 and xattr 1.7.0, for RUSTSEC-2026-0486 (rustix 1.0–1.1.5 xattr functions mark a zero-length buffer as filled; patched in 1.1.6). Nothing in this workspace calls those functions directly.

Lockfile: +30/-30. Only the tinystoragedrivers crates, rusqlite / libsqlite3-sys, rustix and xattr change; tinybus resolves to the vendored checkout as before.

Related issue

None. The failing check is Supply chain on main.

API or behavior changes

None in the public API. The minimum supported Rust version rises from 1.88 to 1.89.

Validation

Run on our Linux CI runner, on this exact tree, checked out from main 522121a:

  • cargo deny --locked check all: exit 0
  • cargo build --locked --all-targets --all-features: pass
  • cargo test --locked --all-features: 935 passed, 0 failed
  • cargo clippy --locked --all-targets --all-features -- -D warnings: pass
  • cargo +1.89 build --locked --workspace --all-targets --all-features: pass
  • cargo +1.89 test --locked -p tinywallet-x402 --features ledger: pass (the ledger MSRV job)
  • cargo +1.89 test --locked --manifest-path proof-workspaces/storage-contract/Cargo.toml: pass
  • python3 scripts/test_native_e2e_topology.py, scripts/check_bus_boundaries_tests.py, scripts/check-bus-boundaries.py: pass

Documentation

The READMEs that state the Rust floor are updated.

…1.89

cargo-deny fails Supply chain on main with RUSTSEC-2026-0459
(CVE-2026-119375): libsqlite3-sys 0.38.2 bundles SQLite older than
3.54. It arrives through the tinystoragedrivers testkit dev-dependency
(via rusqlite 0.40).

- tinystoragedrivers: move from a personal fork
  (senamakel/tinystoragedrivers c447da3) to the official
  tinyhumansai/tinystoragedrivers v2.1.3 release (f5a33025b9), which
  ships rusqlite 0.41.1 / libsqlite3-sys 0.39.1. We pin only releases
  from the official repository.
- tinybus: move from senamakel/tinybus to the official
  tinyhumansai/tinybus at the same revision (85345114, which is on
  official main), and drop the now-unused patch for the fork URL. The
  vendored submodule already tracks the official repository.
- deny.toml allow-git lists only official repositories.
- Rust 1.89, because rusqlite 0.41 requires it: rust-version in every
  crate and the proof workspace, the CI and distro-build toolchains,
  and the floor checks in scripts/test_native_e2e_topology.py, which
  tie the bus floor to tinystoragedrivers-types (now 1.89). The
  tinytools 1.88 notes stay, since that is tinytools' own minimum.
- rustix 1.1.6 and xattr 1.7.0, for RUSTSEC-2026-0486 (rustix 1.0-1.1.5
  xattr functions unsound on a zero-length buffer). Nothing in this
  workspace calls those functions directly.
@coderabbitai

coderabbitai Bot commented Nov 11, 2026

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a4e60cca-ba0f-4a48-ae33-8026ade9c1d2
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@tinysweeper

tinysweeper Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

Verdict: Incomplete · Priority: none
Coverage: Reviewed 6 of 16 files; not reviewed: Cargo.lock; not reviewed (large PR): crates/tinywalle…, crates/tinywalle…, and 7 additional unreviewed files.
Pull request purpose (title): Pin official tinysto…

Diagnostics and supporting details

Full summary

Pull request purpose (title): Pin official tinystoragedrivers v2.1.3 and tinybus, and move to Rust 1.89. The pull request moves the tinystoragedrivers dependency from a personal fork to the official tinyhumansai v2.1.3 release to fix a supply-chain vulnerability (libsqlite3-sys bundling an old SQLite) and migrates tinybus to the official tinyhumansai repository at the same revision. It raises the workspace MSRV from 1.88 to 1.89 to accommodate the new rusqlite/libsqlite3-sys requirements. deny.toml is narrowed to allow only official tinyhumansai git repositories, and the unused senamakel/tinybus patch stanza is removed. All crate manifests, CI toolchains, the distro build script, the topology test, and related READMEs are updated accordingly. No public API changes are introduced.

Unreviewed paths

  • Cargo.lock
  • crates/tinywallet-bus/README.md
  • crates/tinywallet-crypto/Cargo.toml
  • crates/tinywallet-web3/Cargo.toml
  • crates/tinywallet-x402/README.md
  • deny.toml
  • proof-workspaces/storage-contract/Cargo.toml
  • proof-workspaces/storage-contract/README.md
  • scripts/build-module-in-distro.sh
  • scripts/test_native_e2e_topology.py

Partial review reasons

  • critique: crates/tinywallet-bus/README.md — not selected by the large-review budget
  • critique: crates/tinywallet-crypto/Cargo.toml — not selected by the large-review budget
  • security: crates/tinywallet-crypto/Cargo.toml — not selected by the large-review budget
  • critique: crates/tinywallet-web3/Cargo.toml — not selected by the large-review budget
  • security: crates/tinywallet-web3/Cargo.toml — not selected by the large-review budget
  • critique: crates/tinywallet-x402/README.md — not selected by the large-review budget
  • critique: deny.toml — not selected by the large-review budget
  • security: deny.toml — not selected by the large-review budget
  • critique: proof-workspaces/storage-contract/Cargo.toml — not selected by the large-review budget
  • security: proof-workspaces/storage-contract/Cargo.toml — not selected by the large-review budget
  • critique: proof-workspaces/storage-contract/README.md — not selected by the large-review budget
  • critique: scripts/build-module-in-distro.sh — not selected by the large-review budget
  • security: scripts/build-module-in-distro.sh — not selected by the large-review budget
  • critique: scripts/test_native_e2e_topology.py — not selected by the large-review budget
  • security: scripts/test_native_e2e_topology.py — not selected by the large-review budget

Review snapshot

Change surface Files Review signal Count
Production 1 Active findings 0
Tests 1 Noted findings 0
Documentation 3 Resolved findings 0
Configuration 10 Pending checks/questions 24

Completeness: Incomplete
Test assessment: No supported feature-to-test mapping was available; this does not mean tests are absent or passed.

What changed

This pull request addresses a supply-chain vulnerability by moving from a personal fork (senamakel/tinystoragedrivers) to the official tinyhumansai/tinystoragedrivers v2.1.3 release, which upgrades rusqlite to 0.41.1 / libsqlite3-sys to 0.39.1, and moves tinybus from senamakel/tinybus to tinyhumansai/tinybus at the same revision. It raises the workspace MSRV from 1.88 to 1.89 across all crate manifests, CI workflows, the distro build script, the topology test, and the proof-workspace. deny.toml is updated to allow-git only the official tinyhumansai repositories. The unused [patch.https://github.com/senamakel/tinybus] stanza is removed from the root Cargo.toml. All READMEs that state the Rust floor are updated. No public API or behavior changes are present.

Features

None identified with supported citations.

Tests

No supported feature-to-test mapping was produced. Test execution is not inferred.

Findings

No active actionable findings.

Before merge

  • Complete the critique review for crates/tinywallet-crypto/Cargo.toml, crates/tinywallet-web3/Cargo.toml, proof-workspaces/storage-contract/Cargo.toml, scripts/test_native_e2e_topology.py, deny.toml, crates/tinywallet-x402/README.md, crates/tinywallet-bus/README.md, proof-workspaces/storage-contract/README.md, scripts/build-module-in-distro.sh.
  • Complete the security review for crates/tinywallet-crypto/Cargo.toml, crates/tinywallet-web3/Cargo.toml, proof-workspaces/storage-contract/Cargo.toml, scripts/test_native_e2e_topology.py, deny.toml, scripts/build-module-in-distro.sh.
  • Review uncovered paths: crates/tinywallet-bus/README.md, crates/tinywallet-crypto/Cargo.toml, crates/tinywallet-web3/Cargo.toml, crates/tinywallet-x402/README.md, deny.toml, proof-workspaces/storage-contract/Cargo.toml, proof-workspaces/storage-contract/README.md, scripts/build-module-in-distro.sh, scripts/test_native_e2e_topology.py.
Agent review details

critique

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered files: crates/tinywallet-crypto/Cargo.toml, crates/tinywallet-web3/Cargo.toml, proof-workspaces/storage-contract/Cargo.toml, scripts/test_native_e2e_topology.py, deny.toml, crates/tinywallet-x402/README.md, crates/tinywallet-bus/README.md, proof-workspaces/storage-contract/README.md, scripts/build-module-in-distro.sh
  • Lane summary: Reviewed 6 of 15 files — 9 not reviewed. Reviewed 6 files; 0 findings. 9 files were omitted: not selected by the large-review budget.

security

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered files: crates/tinywallet-crypto/Cargo.toml, crates/tinywallet-web3/Cargo.toml, proof-workspaces/storage-contract/Cargo.toml, scripts/test_native_e2e_topology.py, deny.toml, scripts/build-module-in-distro.sh
  • Lane summary: Reviewed 6 of 12 files — 6 not reviewed. Reviewed 6 files; 0 findings. 6 files were omitted: not selected by the large-review budget. 3 files were not security-reviewed: crates/tinywallet-bus/README.md (prose or tabular data), crates/tinywallet-x402/README.md (prose or tabular data), proof-workspaces/storage-contract/README.md (prose or tabular data).

tests

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The MSRV bump from 1.88 to 1.89 and the dependency fork moves are propagated consistently across manifests, workflows, docs, and the topology test. The only test-backed script change is the topology guard, which still fails if the toolchain string is lowered. I was unable to confirm the new tinyhumansai fork revisions exist and that Cargo.lock was regenerated, since neither is in the diff; that is a build-time check rather than a test-coverage defect.

commits

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: No sensitive content in committed files.

description

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The description accurately covers the diff: the official tinystoragedrivers v2.1.3 / tinybus move, the deny.toml allow-git narrowing, the removal of the unused fork patch stanza, the 1.88→1.89 bump across manifests, CI jobs, the distro installer script, the topology test and the READMEs, plus the Rust 1.88 notes that are deliberately left alone. No description defect to report.
Evidence and run details
  • Models: ladder/vectors-oai3, deepseek-v4.1-flash, deepseek-v4-flash
  • Spend: $0.011118
  • Completion usage: incomplete; some provider completion costs are unavailable.
  • Tokens: 535453 input · 18389 output · 84480 cached · 480 embedding
  • Updated: 2026-11-11T12:30:50Z
Head State Pass summary
eac1b7426b68 incomplete 0 active finding(s), 0 resolved finding(s) (at 2026-11-11T12:30:50Z)

tinysweeper 0.1.2

@tinysweeper tinysweeper Bot 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.

tinysweeper could not complete coverage (9 unanswered item(s)), so this is not an approval.

Diagnostics

Total spend: $0.0111

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Nov 11, 2026
@M3gA-Mind
M3gA-Mind merged commit 6e07c49 into tinyhumansai:main Nov 11, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant