Add cargo-fuzz targets for the untrusted-input parsers and the hardening report

envelope_json, manifest_decode, item_replay, secret_key_parse, totp_parse, url_match,
with seeds. fuzz/README.md records the runs (and the server/desktop targets), the two
bugs fixed in the previous commits, dependency-policy results, CI changes and the
deploy check.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-17 01:01:44 +09:00
co-authored by Claude Opus 5.5
parent a15d301b53
commit 83ab00c03c
21 changed files with 2586 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
//! kv-crypto SecretKey::parse: never panics; an accepted key round-trips through its display form.
#![no_main]
use kv_crypto::secret_key::SecretKey;
use libfuzzer_sys::fuzz_target;
fuzz_target!(|data: &[u8]| {
let Ok(s) = std::str::from_utf8(data) else { return };
if let Ok(k) = SecretKey::parse(s) {
let again = SecretKey::parse(&k.to_display()).expect("parse own display form");
assert_eq!(again.expose(), k.expose());
}
});