Only the latest published 0.x release receives fixes.
Please report vulnerabilities privately via GitHub security advisories rather than public issues. You should receive a response within a week.
Notes for triage:
unsafecode is confined to a known set of modules: the arena, the refined and dependent wrappers, the nexus effects and optimizer, the FFI bedrock, the metrics, tracing, and specialization internals, the wgpu backend,ordofp_bayesinference, and one test-onlyWaker::from_rawin each of theordofp_lawsasync law suites.cargo run -p xtask -- deepruns both dynamic checks over that surface: Miri interprets everyunsafe-bearing module ofordofp_core, the whole ofordofp_bayes, and those twoordofp_lawsmodules — the one surface it cannot reach is the wgpu backend, whose paths need a real adapter — and a 60-second fuzz smoke runs thealgebraic_laws,nonempty_ops,pfds_ops,universalis_convert, andzipper_opstargets. Those targets are oracle checks over safe API surface (pfds againstVecDeque, round-trips, law properties), so UB detection rests on Miri, not on them.- That coverage is itself enforced:
xtask miri-scopeandxtask fuzz-scopefail the per-commit gate if anunsafe-bearing module escapes every Miri filter, or if a fuzz target stops being registered, executed, or named here. The Miri scope is derived from[workspace] membersrather than listed by hand, so a crate cannot join the workspace and stay unscanned; it covers library source and the fuzz targets, not the integration, bench, or example targets. The single whole-crate exemption isxtask, checked on every run to still bepublish = falsetooling that never enters a user's process. - Documented invariants for the unsafe surfaces live in docs/UNSAFE_NOTES.md.