From b6a58a4210080f530aa7489dfd50ffb687dd6c6a Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Fri, 24 Jul 2026 12:09:34 +0000 Subject: [PATCH 01/15] feat: ENG-4691 cargo-fuzz targets for Graph::from_bytes and route MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Self-contained fuzz/ package (its own [workspace] root, excluded from the root build now and if a root workspace is ever added). Two libfuzzer targets: - load_archive: feeds arbitrary bytes to Graph::from_bytes. Promotes the transient buffer to 'static then reclaims it after the (dropped) Graph so RSS stays flat across libFuzzer's in-process iterations — a plain Box::leak would trip a false-positive OOM with the 411KB seed driving -max_len up. - route_inputs: fixed 50km graph, fuzzes from/to/blocked composition via an arbitrary-derived input. Committed seed: one valid 100km archive (411,248 B, RRG1+v1). Signed-off-by: Jimbo Freedman --- fuzz/.gitignore | 10 ++++++ fuzz/Cargo.toml | 37 +++++++++++++++++++++ fuzz/corpus/load_archive/seed_100km.rkyv | Bin 0 -> 411248 bytes fuzz/fuzz_targets/load_archive.rs | 31 ++++++++++++++++++ fuzz/fuzz_targets/route_inputs.rs | 40 +++++++++++++++++++++++ 5 files changed, 118 insertions(+) create mode 100644 fuzz/.gitignore create mode 100644 fuzz/Cargo.toml create mode 100644 fuzz/corpus/load_archive/seed_100km.rkyv create mode 100644 fuzz/fuzz_targets/load_archive.rs create mode 100644 fuzz/fuzz_targets/route_inputs.rs diff --git a/fuzz/.gitignore b/fuzz/.gitignore new file mode 100644 index 0000000..43fe27e --- /dev/null +++ b/fuzz/.gitignore @@ -0,0 +1,10 @@ +/target/ +/artifacts/ +/coverage/ +# Fuzz crate lockfile — mirrors the repo's no-lockfile stance for library and +# sub-package crates (see root .gitignore); OSS-Fuzz rebuilds from scratch. +/Cargo.lock +# libFuzzer-discovered corpus entries are regenerable noise; commit only the +# named seed(s) under corpus//seed_*. +/corpus/*/* +!/corpus/*/seed_* diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml new file mode 100644 index 0000000..95d875c --- /dev/null +++ b/fuzz/Cargo.toml @@ -0,0 +1,37 @@ +[package] +name = "rustyroute-fuzz" +version = "0.0.0" +publish = false +edition = "2021" + +[package.metadata] +cargo-fuzz = true + +# Empty table => fuzz/ is its OWN workspace root, so it is never absorbed +# into a parent [workspace] even if one is later added to the root +# Cargo.toml. The root crate is single-crate today (no [workspace]), so the +# fuzz package is already excluded; this future-proofs that guarantee. +[workspace] + +[dependencies] +libfuzzer-sys = "0.4" +arbitrary = { version = "1", features = ["derive"] } + +[dependencies.rustyroute] +path = ".." +# Default features (=> data-50km) expose rustyroute::data::BYTES_50KM for the +# route_inputs fixed graph. + +[[bin]] +name = "load_archive" +path = "fuzz_targets/load_archive.rs" +test = false +doc = false +bench = false + +[[bin]] +name = "route_inputs" +path = "fuzz_targets/route_inputs.rs" +test = false +doc = false +bench = false diff --git a/fuzz/corpus/load_archive/seed_100km.rkyv b/fuzz/corpus/load_archive/seed_100km.rkyv new file mode 100644 index 0000000000000000000000000000000000000000..03ebb54cb2fabe9c192ae014bf860c37b989a0eb GIT binary patch literal 411248 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�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 literal 0 HcmV?d00001 diff --git a/fuzz/fuzz_targets/load_archive.rs b/fuzz/fuzz_targets/load_archive.rs new file mode 100644 index 0000000..28745e9 --- /dev/null +++ b/fuzz/fuzz_targets/load_archive.rs @@ -0,0 +1,31 @@ +#![no_main] +//! ENG-4691: fuzz `rustyroute::Graph::from_bytes` on arbitrary bytes. +//! +//! Contract: feeding any byte slice to `from_bytes` must only ever return a +//! typed `LoadError` (or `Ok`) — never panic, OOM, or segfault. `from_bytes` +//! already guards its header length before slicing (`src/loader.rs:533`) and +//! runs rkyv's *checked* `access`, so this target proves that contract holds +//! across the whole input space and guards against regressions. + +use libfuzzer_sys::fuzz_target; + +fuzz_target!(|data: &[u8]| { + // `Graph::from_bytes` takes `&'static [u8]`. Promote a copy of the + // transient fuzz buffer to `'static`, then reclaim it after use so RSS + // stays flat across libFuzzer's many in-process iterations. A plain + // `Box::leak` would accumulate one copy per iteration and — with the + // large committed seed driving `-max_len` up — climb toward + // `-rss_limit_mb` and trip a false-positive OOM crash. + let ptr = Box::into_raw(data.to_vec().into_boxed_slice()); + // SAFETY: `ptr` is a freshly created boxed slice we have not freed, so + // dereferencing it to a shared slice is valid. + let leaked: &'static [u8] = unsafe { &*ptr }; + + let _ = rustyroute::Graph::from_bytes(leaked); + + // SAFETY: a `Graph` holds only `GraphBacking::Static(&'static [u8])` + // (src/loader.rs:167) — a borrow, not an owner — and the value returned + // above was dropped at the end of that statement, so no reference into + // `ptr` survives. Reconstructing the `Box` to free it is sound. + drop(unsafe { Box::from_raw(ptr) }); +}); diff --git a/fuzz/fuzz_targets/route_inputs.rs b/fuzz/fuzz_targets/route_inputs.rs new file mode 100644 index 0000000..26172a4 --- /dev/null +++ b/fuzz/fuzz_targets/route_inputs.rs @@ -0,0 +1,40 @@ +#![no_main] +//! ENG-4691: fuzz `rustyroute::Graph::route` argument composition against a +//! fixed graph. +//! +//! Contract: for a valid graph, any `(from, to, blocked)` composition must +//! only ever return `Ok(Route)` or a typed `RouteError` — never panic. Coords +//! are validated inside `route` (`src/loader.rs:426`), and blocked ids that do +//! not exist simply never filter anything, so arbitrary inputs are safe by +//! construction; this target proves it empirically. + +use arbitrary::Arbitrary; +use libfuzzer_sys::fuzz_target; +use std::collections::HashSet; +use std::sync::OnceLock; + +/// Structured fuzz input. `arbitrary` yields f64s spanning NaN/±inf and the +/// full range, exercising coord validation; libFuzzer's coverage feedback +/// learns in-range coordinates over time to reach the Dijkstra path. Both +/// endpoints are fuzzed independently (self-route and cross-node paths). +#[derive(Arbitrary, Debug)] +struct RouteInput { + from: (f64, f64), + to: (f64, f64), + blocked: Vec, +} + +/// The fixed graph, built once from the baked 50 km archive (available via the +/// path dep's default `data-50km` feature). +fn graph() -> &'static rustyroute::Graph { + static G: OnceLock = OnceLock::new(); + G.get_or_init(|| { + rustyroute::Graph::from_bytes(rustyroute::data::BYTES_50KM) + .expect("baked 50km archive is valid") + }) +} + +fuzz_target!(|input: RouteInput| { + let blocked: HashSet = input.blocked.into_iter().collect(); + let _ = graph().route(input.from, input.to, &blocked); +}); From a1b9b39461019b936a6762d81390431558d9d984 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Fri, 24 Jul 2026 12:09:45 +0000 Subject: [PATCH 02/15] ci: ENG-4691 fuzz.yaml quick-pass (nightly cargo-fuzz, 60s load_archive) Runs cargo fuzz build (both targets, catching a route_inputs compile break) then cargo fuzz run load_archive -- -max_total_time=60 per PR. Mirrors ci.yaml conventions; nightly + cargo-fuzz is the sole deviation (sanitizers require nightly). Deep continuous fuzzing runs on OSS-Fuzz. Signed-off-by: Jimbo Freedman --- .github/workflows/fuzz.yaml | 44 +++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/fuzz.yaml diff --git a/.github/workflows/fuzz.yaml b/.github/workflows/fuzz.yaml new file mode 100644 index 0000000..68dbabf --- /dev/null +++ b/.github/workflows/fuzz.yaml @@ -0,0 +1,44 @@ +name: "fuzz" + +# ENG-4691: cargo-fuzz quick-pass. Feeds arbitrary bytes to +# Graph::from_bytes (the load_archive target) for 60s per PR so malformed +# archives can't panic, OOM, or segfault. The deep, continuous variant runs +# on OSS-Fuzz (see oss-fuzz/). Mirrors ci.yaml's conventions; the sole +# deviation is the toolchain: cargo-fuzz needs a nightly sanitizer toolchain, +# so this is the one job in the repo that is not stable-only. + +on: + pull_request: + push: + branches: [main] + paths-ignore: + - '**/*.md' + - 'docs/**' + workflow_dispatch: + +concurrency: + group: fuzz-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + load-archive: + name: fuzz load_archive + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@nightly + - uses: taiki-e/install-action@v2 + with: + tool: cargo-fuzz + - uses: Swatinem/rust-cache@v2 + with: + workspaces: fuzz + shared-key: fuzz + # Compile BOTH targets so a break in route_inputs is caught even + # though only load_archive is run in the quick-pass. + - run: cargo fuzz build + # 60s libFuzzer run seeded from fuzz/corpus/load_archive/. + - run: cargo fuzz run load_archive -- -max_total_time=60 From 68c0c5f4398f311599e1ccdfd8957e121bec99c8 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Fri, 24 Jul 2026 12:09:45 +0000 Subject: [PATCH 03/15] docs: ENG-4691 OSS-Fuzz project files + submission runbook Stages projects/rustyroute/{project.yaml,Dockerfile,build.sh} for a google/oss-fuzz PR plus oss-fuzz/README.md runbook. The submission itself is external (public repo + 1-3 week approval + co-maintainer email TODO) and is tracked as a follow-up on ENG-4691. Signed-off-by: Jimbo Freedman --- oss-fuzz/README.md | 49 +++++++++++++++++++++++ oss-fuzz/projects/rustyroute/Dockerfile | 4 ++ oss-fuzz/projects/rustyroute/build.sh | 18 +++++++++ oss-fuzz/projects/rustyroute/project.yaml | 13 ++++++ 4 files changed, 84 insertions(+) create mode 100644 oss-fuzz/README.md create mode 100644 oss-fuzz/projects/rustyroute/Dockerfile create mode 100755 oss-fuzz/projects/rustyroute/build.sh create mode 100644 oss-fuzz/projects/rustyroute/project.yaml diff --git a/oss-fuzz/README.md b/oss-fuzz/README.md new file mode 100644 index 0000000..d2cf531 --- /dev/null +++ b/oss-fuzz/README.md @@ -0,0 +1,49 @@ +# OSS-Fuzz submission for rustyroute (ENG-4691) + +This directory stages the files that OSS-Fuzz needs for continuous fuzzing of +`rustyroute`. They live here so they are versioned alongside the fuzz targets +they build, but the **actual submission is a pull request to the external +[`google/oss-fuzz`](https://github.com/google/oss-fuzz) repository** — it +cannot be merged from this repo. + +``` +oss-fuzz/projects/rustyroute/ + project.yaml # engine/sanitizer config + maintainer contacts + Dockerfile # clones this repo into the OSS-Fuzz base-builder-rust image + build.sh # cargo fuzz build -O; copies target binaries + seed to $OUT +``` + +## Prerequisites + +- `github.com/spotship/rustyroute` must be **public** (OSS-Fuzz only fuzzes + public projects). The Dockerfile clones over HTTPS. +- OSS-Fuzz requires **two maintainer email addresses** associated with the + project. `project.yaml` lists `jimbo@spot-ship.com`; the second + (co-maintainer) address is a `TODO` placeholder that **must be filled before + opening the PR**. + +## Submission steps + +1. Confirm the co-maintainer email and replace the `TODO` placeholder in + `project.yaml` `auto_ccs`. +2. Verify the repo is public. +3. Fork `google/oss-fuzz`. Copy this `projects/rustyroute/` directory to + `projects/rustyroute/` in the fork (drop the `oss-fuzz/` prefix — in + google/oss-fuzz the path is `projects/rustyroute/`). +4. Validate locally against the OSS-Fuzz tooling: + ```sh + python infra/helper.py build_image rustyroute + python infra/helper.py build_fuzzers rustyroute + python infra/helper.py check_build rustyroute + ``` +5. Open the pull request to `google/oss-fuzz`. Approval typically takes + **1–3 weeks**; an OSS-Fuzz maintainer must merge it. +6. Once the PR is open, paste its link into ClickUp ticket **ENG-4691** as the + tracking link. + +## Notes + +- The CI quick-pass (`.github/workflows/fuzz.yaml`) runs `load_archive` for 60s + per PR. OSS-Fuzz runs the deep, continuous variant of both targets. +- `build.sh` builds both `load_archive` and `route_inputs`; keep the target + list in sync with `fuzz/Cargo.toml`. diff --git a/oss-fuzz/projects/rustyroute/Dockerfile b/oss-fuzz/projects/rustyroute/Dockerfile new file mode 100644 index 0000000..616688d --- /dev/null +++ b/oss-fuzz/projects/rustyroute/Dockerfile @@ -0,0 +1,4 @@ +FROM gcr.io/oss-fuzz-base/base-builder-rust +RUN git clone --depth 1 https://github.com/spotship/rustyroute rustyroute +WORKDIR rustyroute +COPY build.sh $SRC/ diff --git a/oss-fuzz/projects/rustyroute/build.sh b/oss-fuzz/projects/rustyroute/build.sh new file mode 100755 index 0000000..4f75a57 --- /dev/null +++ b/oss-fuzz/projects/rustyroute/build.sh @@ -0,0 +1,18 @@ +#!/bin/bash -eu +# ENG-4691: OSS-Fuzz build script for rustyroute. Runs inside the +# gcr.io/oss-fuzz-base/base-builder-rust image (nightly + cargo-fuzz + clang +# preinstalled). Builds every fuzz target and copies the binaries — plus the +# committed seed corpus — into $OUT for the OSS-Fuzz runners. + +cd "$SRC/rustyroute" + +# cargo-fuzz auto-locates the fuzz/ package from the crate root. +cargo fuzz build -O + +FUZZ_TARGET_OUTPUT_DIR="fuzz/target/x86_64-unknown-linux-gnu/release" +for target in load_archive route_inputs; do + cp "$FUZZ_TARGET_OUTPUT_DIR/$target" "$OUT/" +done + +# Ship the committed seed corpus so OSS-Fuzz starts with coverage. +cp fuzz/corpus/load_archive/*.rkyv "$OUT/" 2>/dev/null || true diff --git a/oss-fuzz/projects/rustyroute/project.yaml b/oss-fuzz/projects/rustyroute/project.yaml new file mode 100644 index 0000000..d389b7a --- /dev/null +++ b/oss-fuzz/projects/rustyroute/project.yaml @@ -0,0 +1,13 @@ +homepage: "https://github.com/spotship/rustyroute" +main_repo: "https://github.com/spotship/rustyroute" +language: rust +primary_contact: "jimbo@spot-ship.com" +auto_ccs: + - "jimbo@spot-ship.com" + # TODO(ENG-4691): add the confirmed co-maintainer email before opening the + # google/oss-fuzz PR. OSS-Fuzz requires a second maintainer address that is + # associated with the project (see oss-fuzz/README.md). +fuzzing_engines: + - libfuzzer +sanitizers: + - address From 7afb1f742eb662b96817a0d7e6154b5ddf9b8b50 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Fri, 24 Jul 2026 12:09:45 +0000 Subject: [PATCH 04/15] test: ENG-4691 lock fuzz workflow + workspace-exclusion invariants String-assertion tests for fuzz.yaml shape and the fuzz crate structure (mirrors tests/ci_workflow.rs), a seed header check, and the load-bearing acceptance guard: root cargo metadata must not list rustyroute-fuzz as a member (spawned cargo, per tests/downstream_consumer_smoke.rs). Signed-off-by: Jimbo Freedman --- tests/fuzz_workflow.rs | 134 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 tests/fuzz_workflow.rs diff --git a/tests/fuzz_workflow.rs b/tests/fuzz_workflow.rs new file mode 100644 index 0000000..2be833b --- /dev/null +++ b/tests/fuzz_workflow.rs @@ -0,0 +1,134 @@ +//! ENG-4691: lock in the structural invariants of the fuzz setup. +//! +//! Like `tests/ci_workflow.rs`, these are string-level assertions (no YAML +//! parser) plus one spawned `cargo metadata` check. What can only be verified +//! on GitHub Actions itself (the actual libFuzzer run finding no crash) is out +//! of scope here — these guard against silent local drift: +//! +//! - the workflow exists with the nightly + cargo-fuzz shape it needs, +//! - the fuzz crate is its own workspace root with both targets declared, +//! - the committed seed is a real, valid archive, +//! - and — the load-bearing acceptance invariant — the root build never +//! picks up the fuzz package as a member. +//! +//! Convention notes: string assertions mirror `tests/ci_workflow.rs`; the +//! spawned-cargo pattern (using the `CARGO`/`CARGO_MANIFEST_DIR` env vars +//! Cargo sets for integration tests) mirrors +//! `tests/downstream_consumer_smoke.rs`. No new dev-dependencies. + +use std::fs; +use std::path::PathBuf; +use std::process::Command; + +/// Crate root, regardless of where `cargo test` is invoked from. +fn root() -> PathBuf { + PathBuf::from(env!("CARGO_MANIFEST_DIR")) +} + +fn read(rel: &str) -> String { + let p = root().join(rel); + fs::read_to_string(&p).unwrap_or_else(|e| panic!("failed to read {}: {e}", p.display())) +} + +// ---- fuzz.yaml workflow invariants ---- + +#[test] +fn fuzz_workflow_exists_and_is_named_fuzz() { + let w = read(".github/workflows/fuzz.yaml"); + assert!(w.contains("name: \"fuzz\""), "workflow must be named fuzz"); +} + +#[test] +fn fuzz_workflow_uses_nightly_and_installs_cargo_fuzz() { + let w = read(".github/workflows/fuzz.yaml"); + assert!( + w.contains("dtolnay/rust-toolchain@nightly"), + "cargo-fuzz needs a nightly sanitizer toolchain" + ); + assert!(w.contains("tool: cargo-fuzz"), "must install cargo-fuzz"); +} + +#[test] +fn fuzz_workflow_builds_both_and_runs_load_archive() { + let w = read(".github/workflows/fuzz.yaml"); + // Builds all targets (catches a route_inputs compile break). + assert!(w.contains("cargo fuzz build"), "must build all targets"); + // Runs the load_archive quick-pass with a time bound. + assert!( + w.contains("cargo fuzz run load_archive -- -max_total_time="), + "must run load_archive with a max_total_time bound" + ); +} + +#[test] +fn fuzz_workflow_triggers_and_least_privilege() { + let w = read(".github/workflows/fuzz.yaml"); + assert!(w.contains("pull_request:"), "runs on pull_request"); + assert!(w.contains("workflow_dispatch:"), "supports manual dispatch"); + assert!( + w.contains("cancel-in-progress: true"), + "concurrency cancels superseded runs" + ); + assert!( + w.contains("permissions:") && w.contains("contents: read"), + "least-privilege permissions" + ); +} + +// ---- fuzz crate structural invariants ---- + +#[test] +fn fuzz_crate_is_its_own_workspace_root() { + let c = read("fuzz/Cargo.toml"); + assert!( + c.contains("[workspace]"), + "fuzz must declare its own [workspace] so it stays excluded from any \ + future root workspace" + ); + assert!( + c.contains("cargo-fuzz = true"), + "cargo-fuzz metadata marker" + ); +} + +#[test] +fn fuzz_targets_declared() { + let c = read("fuzz/Cargo.toml"); + assert!(c.contains("name = \"load_archive\""), "load_archive target"); + assert!(c.contains("name = \"route_inputs\""), "route_inputs target"); +} + +#[test] +fn seed_corpus_present_and_valid_header() { + let p = root().join("fuzz/corpus/load_archive/seed_100km.rkyv"); + let bytes = fs::read(&p).unwrap_or_else(|e| panic!("failed to read seed {}: {e}", p.display())); + assert!(bytes.len() >= 8, "seed too short to carry a header"); + assert_eq!(&bytes[0..4], b"RRG1", "seed magic must be RRG1"); + assert_eq!( + u32::from_le_bytes(bytes[4..8].try_into().expect("4-byte slice")), + 1, + "seed schema version must be 1" + ); +} + +// ---- ACCEPTANCE: root build must NOT pick up the fuzz package ---- + +#[test] +fn root_metadata_excludes_fuzz_package() { + let cargo = std::env::var("CARGO").unwrap_or_else(|_| "cargo".into()); + let out = Command::new(&cargo) + .args(["metadata", "--no-deps", "--format-version", "1"]) + .current_dir(root()) + .output() + .expect("spawn cargo metadata"); + assert!( + out.status.success(), + "cargo metadata failed: {}", + String::from_utf8_lossy(&out.stderr) + ); + let json = String::from_utf8_lossy(&out.stdout); + assert!( + !json.contains("rustyroute-fuzz"), + "root `cargo metadata` must NOT list the fuzz package as a workspace member" + ); +} From 9633ecfca79378d3504f4eacd712be80ef6bcaf1 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Fri, 24 Jul 2026 12:15:43 +0000 Subject: [PATCH 05/15] fix: ENG-4691 deliver OSS-Fuzz seed via _seed_corpus.zip OSS-Fuzz ingests seed corpora only from $OUT/_seed_corpus.zip; loose .rkyv files copied into $OUT were ignored, so the committed 100km seed never reached the fuzzer. Package it into load_archive_seed_corpus.zip instead. (Peer review P3.) Signed-off-by: Jimbo Freedman --- oss-fuzz/README.md | 4 ++++ oss-fuzz/projects/rustyroute/build.sh | 10 ++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/oss-fuzz/README.md b/oss-fuzz/README.md index d2cf531..2b0d2e8 100644 --- a/oss-fuzz/README.md +++ b/oss-fuzz/README.md @@ -47,3 +47,7 @@ oss-fuzz/projects/rustyroute/ per PR. OSS-Fuzz runs the deep, continuous variant of both targets. - `build.sh` builds both `load_archive` and `route_inputs`; keep the target list in sync with `fuzz/Cargo.toml`. +- The committed seed is delivered to OSS-Fuzz as + `$OUT/load_archive_seed_corpus.zip` — OSS-Fuzz only ingests seed corpora + from `_seed_corpus.zip`, not from loose files copied into `$OUT`. + `base-builder-rust` provides `zip`. diff --git a/oss-fuzz/projects/rustyroute/build.sh b/oss-fuzz/projects/rustyroute/build.sh index 4f75a57..d74829b 100755 --- a/oss-fuzz/projects/rustyroute/build.sh +++ b/oss-fuzz/projects/rustyroute/build.sh @@ -14,5 +14,11 @@ for target in load_archive route_inputs; do cp "$FUZZ_TARGET_OUTPUT_DIR/$target" "$OUT/" done -# Ship the committed seed corpus so OSS-Fuzz starts with coverage. -cp fuzz/corpus/load_archive/*.rkyv "$OUT/" 2>/dev/null || true +# Ship the committed seed corpus so OSS-Fuzz starts with coverage. OSS-Fuzz +# only ingests seeds from $OUT/_seed_corpus.zip (loose files in $OUT +# are ignored), so package the load_archive seed(s) into that zip. Only +# load_archive has a committed seed; route_inputs relies on coverage-guided +# discovery. +if compgen -G "fuzz/corpus/load_archive/*" > /dev/null; then + zip -j "$OUT/load_archive_seed_corpus.zip" fuzz/corpus/load_archive/* +fi From 028fde59a5bfac9c3794fb904d66c205c1554f8f Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Fri, 24 Jul 2026 12:20:11 +0000 Subject: [PATCH 06/15] test: ENG-4691 lock OSS-Fuzz staging files as durable invariants Codifies acceptance criterion 4 (OSS-Fuzz project files present + valid): project.yaml required keys, Dockerfile base image, build.sh builds every declared target + packages the seed as _seed_corpus.zip + is committed executable (git mode 100755). Keeps the staging files in sync with fuzz/Cargo.toml so the eventual google/oss-fuzz submission passes check_build. Signed-off-by: Jimbo Freedman --- tests/fuzz_workflow.rs | 90 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/tests/fuzz_workflow.rs b/tests/fuzz_workflow.rs index 2be833b..f2efbfd 100644 --- a/tests/fuzz_workflow.rs +++ b/tests/fuzz_workflow.rs @@ -132,3 +132,93 @@ fn root_metadata_excludes_fuzz_package() { "root `cargo metadata` must NOT list the fuzz package as a workspace member" ); } + +// ---- OSS-Fuzz staging files (deliverables for the external submission) ---- +// +// The PR to google/oss-fuzz is a human follow-up (public repo + approval +// cycle), so these lock the *repo-side* deliverables: the project files must +// stay structurally valid and in sync with the fuzz crate, so the eventual +// submission does not fail an OSS-Fuzz `check_build`. + +#[test] +fn oss_fuzz_project_yaml_has_required_keys() { + let y = read("oss-fuzz/projects/rustyroute/project.yaml"); + for key in [ + "language: rust", + "primary_contact:", + "main_repo:", + "fuzzing_engines:", + "sanitizers:", + ] { + assert!(y.contains(key), "project.yaml must contain `{key}`"); + } + assert!(y.contains("libfuzzer"), "libfuzzer engine required"); + assert!(y.contains("address"), "address sanitizer required"); +} + +#[test] +fn oss_fuzz_dockerfile_uses_rust_base_builder() { + let d = read("oss-fuzz/projects/rustyroute/Dockerfile"); + assert!( + d.contains("FROM gcr.io/oss-fuzz-base/base-builder-rust"), + "Dockerfile must build on the OSS-Fuzz Rust base image" + ); + assert!( + d.contains("COPY build.sh"), + "Dockerfile must stage build.sh" + ); +} + +#[test] +fn oss_fuzz_build_sh_builds_all_targets_and_seeds() { + let b = read("oss-fuzz/projects/rustyroute/build.sh"); + assert!( + b.starts_with("#!/bin/bash"), + "build.sh needs a bash shebang" + ); + assert!( + b.contains("cargo fuzz build"), + "must build the fuzz targets" + ); + // Every declared fuzz target must be handled by build.sh, and vice versa — + // guards against renaming a target in Cargo.toml but not the build script. + let cargo = read("fuzz/Cargo.toml"); + for target in ["load_archive", "route_inputs"] { + assert!( + cargo.contains(&format!("name = \"{target}\"")), + "target {target} should be declared in fuzz/Cargo.toml" + ); + assert!( + b.contains(target), + "build.sh must handle the {target} target" + ); + } + // The seed must be delivered via OSS-Fuzz's _seed_corpus.zip + // convention; loose files copied into $OUT are ignored by OSS-Fuzz. + assert!( + b.contains("load_archive_seed_corpus.zip"), + "seed must be packaged as load_archive_seed_corpus.zip" + ); +} + +#[test] +fn oss_fuzz_build_sh_is_committed_executable() { + // OSS-Fuzz invokes build.sh directly, so it must carry the executable bit. + // Check git's tracked mode (100755) — platform-independent, unlike the + // local filesystem bit which PermissionsExt cannot read on Windows. + let out = Command::new("git") + .args(["ls-files", "-s", "oss-fuzz/projects/rustyroute/build.sh"]) + .current_dir(root()) + .output(); + let out = match out { + Ok(o) if o.status.success() && !o.stdout.is_empty() => o, + // Not a git checkout (e.g. a packaged crate tarball) — nothing to + // assert against; skip rather than fail. + _ => return, + }; + let line = String::from_utf8_lossy(&out.stdout); + assert!( + line.starts_with("100755"), + "build.sh must be committed executable (git mode 100755), got: {line}" + ); +} From 2d1b5cf6574641948514b651b03394a776eedc26 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Fri, 24 Jul 2026 12:29:26 +0000 Subject: [PATCH 07/15] docs: ENG-4691 changelog entry for cargo-fuzz + OSS-Fuzz Signed-off-by: Jimbo Freedman --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 697bae7..b93f505 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Continuous fuzzing (ENG-4691): a self-contained `fuzz/` cargo-fuzz + package (its own workspace root, excluded from the root build) with two + libFuzzer targets — `load_archive` (arbitrary bytes → `Graph::from_bytes`) + and `route_inputs` (fuzzed `from`/`to`/blocked composition against a fixed + graph) — plus a committed valid seed. A `fuzz` CI workflow runs a 60s + `load_archive` quick-pass per PR on nightly, and `oss-fuzz/` stages the + Google OSS-Fuzz project files (Dockerfile, build.sh, project.yaml) with a + submission runbook for CNCF-grade continuous fuzzing. - Automated release pipeline (ENG-4692): `release-plz` opens a `chore: release vX.Y.Z` PR from conventional commits and, on merge, publishes to crates.io and creates the GitHub release/tag; From fd907a4ced1f5b2aca8cb09a9b40f237e3e354a1 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Fri, 24 Jul 2026 12:33:46 +0000 Subject: [PATCH 08/15] fix: ENG-4691 pin gnu target for fuzz CI (ASan vs musl static libc) On GitHub runners cargo-fuzz defaulted to x86_64-unknown-linux-musl, and ASan is incompatible with musl's statically linked libc ("sanitizer is incompatible with statically linked libc"). Pin --target x86_64-unknown-linux-gnu on cargo fuzz build/run and declare the target on the toolchain. Update the workflow test to match. Signed-off-by: Jimbo Freedman --- .github/workflows/fuzz.yaml | 12 ++++++++++-- tests/fuzz_workflow.rs | 12 ++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/fuzz.yaml b/.github/workflows/fuzz.yaml index 68dbabf..4c0748f 100644 --- a/.github/workflows/fuzz.yaml +++ b/.github/workflows/fuzz.yaml @@ -30,6 +30,14 @@ jobs: steps: - uses: actions/checkout@v4 - uses: dtolnay/rust-toolchain@nightly + with: + # ASan is incompatible with a statically linked libc, so the fuzz + # build must target the dynamically-linked gnu triple. Pin it + # explicitly (both here and on the cargo-fuzz commands below) — + # on GitHub's runners cargo-fuzz otherwise defaults to the musl + # target, which fails with "sanitizer is incompatible with + # statically linked libc". + targets: x86_64-unknown-linux-gnu - uses: taiki-e/install-action@v2 with: tool: cargo-fuzz @@ -39,6 +47,6 @@ jobs: shared-key: fuzz # Compile BOTH targets so a break in route_inputs is caught even # though only load_archive is run in the quick-pass. - - run: cargo fuzz build + - run: cargo fuzz build --target x86_64-unknown-linux-gnu # 60s libFuzzer run seeded from fuzz/corpus/load_archive/. - - run: cargo fuzz run load_archive -- -max_total_time=60 + - run: cargo fuzz run load_archive --target x86_64-unknown-linux-gnu -- -max_total_time=60 diff --git a/tests/fuzz_workflow.rs b/tests/fuzz_workflow.rs index f2efbfd..24bcc6f 100644 --- a/tests/fuzz_workflow.rs +++ b/tests/fuzz_workflow.rs @@ -53,11 +53,19 @@ fn fuzz_workflow_builds_both_and_runs_load_archive() { let w = read(".github/workflows/fuzz.yaml"); // Builds all targets (catches a route_inputs compile break). assert!(w.contains("cargo fuzz build"), "must build all targets"); - // Runs the load_archive quick-pass with a time bound. + // Runs the load_archive quick-pass with a time bound. (A `--target` + // flag may sit between the target name and `--`, so assert the pieces + // rather than one contiguous substring.) assert!( - w.contains("cargo fuzz run load_archive -- -max_total_time="), + w.contains("cargo fuzz run load_archive") && w.contains("-max_total_time="), "must run load_archive with a max_total_time bound" ); + // ASan requires the dynamically-linked gnu triple (musl's static libc + // breaks the sanitizer on GitHub runners). + assert!( + w.contains("--target x86_64-unknown-linux-gnu"), + "fuzz build/run must pin the gnu target for ASan compatibility" + ); } #[test] From 2a9599a277d4327bf4e982d7f81abcb324f53e46 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Fri, 24 Jul 2026 12:39:09 +0000 Subject: [PATCH 09/15] fix: ENG-4691 bound route_inputs blocked-set length (Copilot review) Replace the derived Arbitrary on RouteInput with a hand-written impl that reads the blocked-id count from a single u8 (<=255). Blocked-set size does not affect Graph::route correctness (unknown ids are no-op filters), but an unbounded Vec grows with fuzzer input size and can cause slow-unit/OOM false positives under OSS-Fuzz. Signed-off-by: Jimbo Freedman --- fuzz/fuzz_targets/route_inputs.rs | 32 +++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/fuzz/fuzz_targets/route_inputs.rs b/fuzz/fuzz_targets/route_inputs.rs index 26172a4..496747a 100644 --- a/fuzz/fuzz_targets/route_inputs.rs +++ b/fuzz/fuzz_targets/route_inputs.rs @@ -8,22 +8,42 @@ //! not exist simply never filter anything, so arbitrary inputs are safe by //! construction; this target proves it empirically. -use arbitrary::Arbitrary; +use arbitrary::{Arbitrary, Unstructured}; use libfuzzer_sys::fuzz_target; use std::collections::HashSet; use std::sync::OnceLock; -/// Structured fuzz input. `arbitrary` yields f64s spanning NaN/±inf and the -/// full range, exercising coord validation; libFuzzer's coverage feedback -/// learns in-range coordinates over time to reach the Dijkstra path. Both -/// endpoints are fuzzed independently (self-route and cross-node paths). -#[derive(Arbitrary, Debug)] +/// Structured fuzz input. The f64 endpoints span NaN/±inf and the full range, +/// exercising coord validation; libFuzzer's coverage feedback learns in-range +/// coordinates over time to reach the Dijkstra path. Both endpoints are fuzzed +/// independently (self-route and cross-node paths). +#[derive(Debug)] struct RouteInput { from: (f64, f64), to: (f64, f64), blocked: Vec, } +/// Hand-written `Arbitrary` (rather than derive) so the `blocked` set length is +/// bounded. `route` treats unknown edge ids as no-op filters, so blocked-set +/// *size* has no bearing on routing correctness — but a derived unbounded +/// `Vec` would grow with the fuzzer's input size (especially under +/// OSS-Fuzz), producing large `Vec`/`HashSet` allocations that manifest as +/// slow units or OOMs unrelated to `Graph::route`. The count is read from a +/// single `u8`, capping the set at 255 elements. +impl<'a> Arbitrary<'a> for RouteInput { + fn arbitrary(u: &mut Unstructured<'a>) -> arbitrary::Result { + let from = <(f64, f64)>::arbitrary(u)?; + let to = <(f64, f64)>::arbitrary(u)?; + let count = u8::arbitrary(u)? as usize; // ≤ 255 — bounds memory use + let mut blocked = Vec::with_capacity(count); + for _ in 0..count { + blocked.push(u32::arbitrary(u)?); + } + Ok(RouteInput { from, to, blocked }) + } +} + /// The fixed graph, built once from the baked 50 km archive (available via the /// path dep's default `data-50km` feature). fn graph() -> &'static rustyroute::Graph { From b5e2274802d44242452aeb93c3a4804c27b02be6 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Sun, 26 Jul 2026 10:15:42 +0000 Subject: [PATCH 10/15] fix: ENG-4691 confine leaked borrow before free in load_archive Copilot review: the &'static [u8] promoted from the raw pointer stayed in scope across Box::from_raw, so a live shared reference existed at the moment the allocation was freed. Even though it was never read again, that ordering is not something to rely on under optimization. Confine the borrow (and the Graph holding it) to an inner scope so both are provably dead before the free. No behavior change: same copy/promote/reclaim lifecycle, same flat RSS. Signed-off-by: Jimbo Freedman Co-Authored-By: Claude Opus 5 (1M context) --- fuzz/fuzz_targets/load_archive.rs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/fuzz/fuzz_targets/load_archive.rs b/fuzz/fuzz_targets/load_archive.rs index 28745e9..25a3718 100644 --- a/fuzz/fuzz_targets/load_archive.rs +++ b/fuzz/fuzz_targets/load_archive.rs @@ -17,15 +17,20 @@ fuzz_target!(|data: &[u8]| { // large committed seed driving `-max_len` up — climb toward // `-rss_limit_mb` and trip a false-positive OOM crash. let ptr = Box::into_raw(data.to_vec().into_boxed_slice()); - // SAFETY: `ptr` is a freshly created boxed slice we have not freed, so - // dereferencing it to a shared slice is valid. - let leaked: &'static [u8] = unsafe { &*ptr }; - let _ = rustyroute::Graph::from_bytes(leaked); + // Inner scope confines the `&'static [u8]` borrow (and the `Graph` that + // holds it) so both are definitely dead before the free below — no shared + // reference derived from `ptr` is live across `Box::from_raw`. + { + // SAFETY: `ptr` is a freshly created boxed slice we have not freed, so + // dereferencing it to a shared slice is valid. + let leaked: &'static [u8] = unsafe { &*ptr }; + let _ = rustyroute::Graph::from_bytes(leaked); + } // SAFETY: a `Graph` holds only `GraphBacking::Static(&'static [u8])` - // (src/loader.rs:167) — a borrow, not an owner — and the value returned - // above was dropped at the end of that statement, so no reference into - // `ptr` survives. Reconstructing the `Box` to free it is sound. + // (src/loader.rs:167) — a borrow, not an owner — and both it and `leaked` + // went out of scope above, so no reference into `ptr` survives. + // Reconstructing the `Box` to free it is sound. drop(unsafe { Box::from_raw(ptr) }); }); From 4356ec2f02b955bb2b197af07b613f666d44639e Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Sun, 26 Jul 2026 10:15:50 +0000 Subject: [PATCH 11/15] chore: ENG-4691 drop unused arbitrary derive feature from fuzz crate Copilot review: RouteInput switched to a hand-written Arbitrary impl in 2a9599a, so nothing in the fuzz crate uses #[derive(Arbitrary)] any more (only derive(Debug), which is std). Dropping the feature removes the derive-macro dependency from fuzz and OSS-Fuzz builds. Signed-off-by: Jimbo Freedman Co-Authored-By: Claude Opus 5 (1M context) --- fuzz/Cargo.toml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 95d875c..a8fa6b4 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -15,7 +15,10 @@ cargo-fuzz = true [dependencies] libfuzzer-sys = "0.4" -arbitrary = { version = "1", features = ["derive"] } +# No `derive` feature: `RouteInput` implements `Arbitrary` by hand (to bound +# the blocked-set length), so the derive macro would be dead weight in the +# fuzz and OSS-Fuzz builds. +arbitrary = "1" [dependencies.rustyroute] path = ".." From dd90d102ec68cfd7f9a62c1a832e035a4d74ab34 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Sun, 26 Jul 2026 10:15:50 +0000 Subject: [PATCH 12/15] docs: ENG-4691 clarify the auto_ccs TODO is a comment, not a placeholder Copilot review: the runbook told the reader to 'replace the TODO placeholder' in project.yaml auto_ccs, but auto_ccs has one real entry followed by a TODO(ENG-4691) comment -- there is no placeholder entry to replace. Reword the prerequisite and step 1 to say the second address must be added as a new entry and the comment deleted. Signed-off-by: Jimbo Freedman Co-Authored-By: Claude Opus 5 (1M context) --- oss-fuzz/README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/oss-fuzz/README.md b/oss-fuzz/README.md index 2b0d2e8..1afa01c 100644 --- a/oss-fuzz/README.md +++ b/oss-fuzz/README.md @@ -18,14 +18,15 @@ oss-fuzz/projects/rustyroute/ - `github.com/spotship/rustyroute` must be **public** (OSS-Fuzz only fuzzes public projects). The Dockerfile clones over HTTPS. - OSS-Fuzz requires **two maintainer email addresses** associated with the - project. `project.yaml` lists `jimbo@spot-ship.com`; the second - (co-maintainer) address is a `TODO` placeholder that **must be filled before - opening the PR**. + project. `project.yaml` `auto_ccs` currently lists only + `jimbo@spot-ship.com`, followed by a `TODO(ENG-4691)` comment marking where + the second (co-maintainer) address goes. That second entry **must be added + before opening the PR**. ## Submission steps -1. Confirm the co-maintainer email and replace the `TODO` placeholder in - `project.yaml` `auto_ccs`. +1. Confirm the co-maintainer email, then add it as a second `auto_ccs` entry in + `project.yaml` and delete the `TODO(ENG-4691)` comment above it. 2. Verify the repo is public. 3. Fork `google/oss-fuzz`. Copy this `projects/rustyroute/` directory to `projects/rustyroute/` in the fork (drop the `oss-fuzz/` prefix — in From 5c03573751d9ea262c524b252a37b9a464294420 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Sun, 26 Jul 2026 10:23:28 +0000 Subject: [PATCH 13/15] fix: ENG-4691 pin fuzz target triple and $SRC paths in OSS-Fuzz build Copilot review, two robustness fixes to the OSS-Fuzz staging files: build.sh ran 'cargo fuzz build -O' with no --target but copied from fuzz/target/x86_64-unknown-linux-gnu/release. cargo-fuzz defaults to the host triple, which is not reliably gnu -- it resolved to musl on GitHub's runners, which is what fd907a4 had to pin for the CI workflow. Same failure mode here would break the cp and fail OSS-Fuzz check_build, and ASan (project.yaml sanitizers: address) needs a dynamically linked libc anyway. Pin the triple in one variable and derive the output dir from it so the two can't disagree. Dockerfile cloned into a relative 'rustyroute' dir and set a relative WORKDIR, while build.sh does 'cd $SRC/rustyroute' -- correct only while the base image's default working dir is $SRC. Spell $SRC explicitly in both places. Signed-off-by: Jimbo Freedman Co-Authored-By: Claude Opus 5 (1M context) --- oss-fuzz/projects/rustyroute/Dockerfile | 7 +++++-- oss-fuzz/projects/rustyroute/build.sh | 12 ++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/oss-fuzz/projects/rustyroute/Dockerfile b/oss-fuzz/projects/rustyroute/Dockerfile index 616688d..c21ca72 100644 --- a/oss-fuzz/projects/rustyroute/Dockerfile +++ b/oss-fuzz/projects/rustyroute/Dockerfile @@ -1,4 +1,7 @@ FROM gcr.io/oss-fuzz-base/base-builder-rust -RUN git clone --depth 1 https://github.com/spotship/rustyroute rustyroute -WORKDIR rustyroute +# Absolute $SRC paths: build.sh does `cd "$SRC/rustyroute"`, so spell the same +# location here instead of leaning on the base image's default working dir +# being $SRC. +RUN git clone --depth 1 https://github.com/spotship/rustyroute $SRC/rustyroute +WORKDIR $SRC/rustyroute COPY build.sh $SRC/ diff --git a/oss-fuzz/projects/rustyroute/build.sh b/oss-fuzz/projects/rustyroute/build.sh index d74829b..c10b4e7 100755 --- a/oss-fuzz/projects/rustyroute/build.sh +++ b/oss-fuzz/projects/rustyroute/build.sh @@ -6,10 +6,18 @@ cd "$SRC/rustyroute" +# Pin the target triple rather than relying on cargo-fuzz's default. That +# default is the *host* triple, which is not reliably gnu — it resolved to musl +# on GitHub's runners, and ASan (project.yaml `sanitizers: address`) is +# incompatible with a statically linked libc. See the same pin in +# .github/workflows/fuzz.yaml. Deriving the output dir from the same variable +# keeps the build and the copy below from ever disagreeing. +FUZZ_TARGET_TRIPLE="x86_64-unknown-linux-gnu" + # cargo-fuzz auto-locates the fuzz/ package from the crate root. -cargo fuzz build -O +cargo fuzz build -O --target "$FUZZ_TARGET_TRIPLE" -FUZZ_TARGET_OUTPUT_DIR="fuzz/target/x86_64-unknown-linux-gnu/release" +FUZZ_TARGET_OUTPUT_DIR="fuzz/target/$FUZZ_TARGET_TRIPLE/release" for target in load_archive route_inputs; do cp "$FUZZ_TARGET_OUTPUT_DIR/$target" "$OUT/" done From 6790879e249d8dfe91363c50a935adf867a356b7 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Sun, 26 Jul 2026 10:31:32 +0000 Subject: [PATCH 14/15] chore: ENG-4691 add jimbo@freedman.io as OSS-Fuzz co-maintainer OSS-Fuzz requires two maintainer addresses in project.yaml auto_ccs. Adds the confirmed co-maintainer and drops the TODO(ENG-4691) comment that held its place. Marks the two now-satisfied prerequisites in the runbook. The google/oss-fuzz submission PR itself is intentionally NOT opened -- it stays a human follow-up, so steps 3-6 of the runbook are unchanged. Signed-off-by: Jimbo Freedman Co-Authored-By: Claude Opus 5 (1M context) --- oss-fuzz/README.md | 15 ++++++++------- oss-fuzz/projects/rustyroute/project.yaml | 4 +--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/oss-fuzz/README.md b/oss-fuzz/README.md index 1afa01c..4a2be48 100644 --- a/oss-fuzz/README.md +++ b/oss-fuzz/README.md @@ -18,16 +18,17 @@ oss-fuzz/projects/rustyroute/ - `github.com/spotship/rustyroute` must be **public** (OSS-Fuzz only fuzzes public projects). The Dockerfile clones over HTTPS. - OSS-Fuzz requires **two maintainer email addresses** associated with the - project. `project.yaml` `auto_ccs` currently lists only - `jimbo@spot-ship.com`, followed by a `TODO(ENG-4691)` comment marking where - the second (co-maintainer) address goes. That second entry **must be added - before opening the PR**. + project. Satisfied: `project.yaml` `auto_ccs` lists `jimbo@spot-ship.com` + and `jimbo@freedman.io`. ## Submission steps -1. Confirm the co-maintainer email, then add it as a second `auto_ccs` entry in - `project.yaml` and delete the `TODO(ENG-4691)` comment above it. -2. Verify the repo is public. +Steps 1–2 are already done; the submission itself (steps 3–6) is a deliberate +human follow-up and has **not** been started. + +1. ~~Confirm the co-maintainer email and add it to `auto_ccs`.~~ Done — both + maintainer addresses are in `project.yaml`. +2. ~~Verify the repo is public.~~ Done — `spotship/rustyroute` is public. 3. Fork `google/oss-fuzz`. Copy this `projects/rustyroute/` directory to `projects/rustyroute/` in the fork (drop the `oss-fuzz/` prefix — in google/oss-fuzz the path is `projects/rustyroute/`). diff --git a/oss-fuzz/projects/rustyroute/project.yaml b/oss-fuzz/projects/rustyroute/project.yaml index d389b7a..634e57f 100644 --- a/oss-fuzz/projects/rustyroute/project.yaml +++ b/oss-fuzz/projects/rustyroute/project.yaml @@ -4,9 +4,7 @@ language: rust primary_contact: "jimbo@spot-ship.com" auto_ccs: - "jimbo@spot-ship.com" - # TODO(ENG-4691): add the confirmed co-maintainer email before opening the - # google/oss-fuzz PR. OSS-Fuzz requires a second maintainer address that is - # associated with the project (see oss-fuzz/README.md). + - "jimbo@freedman.io" fuzzing_engines: - libfuzzer sanitizers: From 7c6b66fdf53a0d42ba13f1e4360c169a886dd099 Mon Sep 17 00:00:00 2001 From: Jimbo Freedman Date: Sun, 26 Jul 2026 11:41:25 +0000 Subject: [PATCH 15/15] docs: ENG-4691 reference loader symbols instead of line numbers Copilot review: the fuzz-target doc comments cited src/loader.rs:533, :167 and :426, which drift as loader.rs changes. Two of the three had already drifted -- :167 pointed past the GraphBacking enum (164) and :426 past Graph::route (420). Name the symbols instead: validate_header, GraphBacking, Graph::route. Comments only; no code change. Signed-off-by: Jimbo Freedman Co-Authored-By: Claude Opus 5 (1M context) --- fuzz/fuzz_targets/load_archive.rs | 10 +++++----- fuzz/fuzz_targets/route_inputs.rs | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/fuzz/fuzz_targets/load_archive.rs b/fuzz/fuzz_targets/load_archive.rs index 25a3718..d3e50ed 100644 --- a/fuzz/fuzz_targets/load_archive.rs +++ b/fuzz/fuzz_targets/load_archive.rs @@ -3,7 +3,7 @@ //! //! Contract: feeding any byte slice to `from_bytes` must only ever return a //! typed `LoadError` (or `Ok`) — never panic, OOM, or segfault. `from_bytes` -//! already guards its header length before slicing (`src/loader.rs:533`) and +//! already guards its header length before slicing (`validate_header`) and //! runs rkyv's *checked* `access`, so this target proves that contract holds //! across the whole input space and guards against regressions. @@ -28,9 +28,9 @@ fuzz_target!(|data: &[u8]| { let _ = rustyroute::Graph::from_bytes(leaked); } - // SAFETY: a `Graph` holds only `GraphBacking::Static(&'static [u8])` - // (src/loader.rs:167) — a borrow, not an owner — and both it and `leaked` - // went out of scope above, so no reference into `ptr` survives. - // Reconstructing the `Box` to free it is sound. + // SAFETY: a `Graph` holds only `GraphBacking::Static(&'static [u8])` — a + // borrow, not an owner — and both it and `leaked` went out of scope above, + // so no reference into `ptr` survives. Reconstructing the `Box` to free it + // is sound. drop(unsafe { Box::from_raw(ptr) }); }); diff --git a/fuzz/fuzz_targets/route_inputs.rs b/fuzz/fuzz_targets/route_inputs.rs index 496747a..f292f6f 100644 --- a/fuzz/fuzz_targets/route_inputs.rs +++ b/fuzz/fuzz_targets/route_inputs.rs @@ -4,7 +4,7 @@ //! //! Contract: for a valid graph, any `(from, to, blocked)` composition must //! only ever return `Ok(Route)` or a typed `RouteError` — never panic. Coords -//! are validated inside `route` (`src/loader.rs:426`), and blocked ids that do +//! are validated inside `Graph::route`, and blocked ids that do //! not exist simply never filter anything, so arbitrary inputs are safe by //! construction; this target proves it empirically.

II)4 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