#![no_main] use libfuzzer_sys::fuzz_target; use jsonwebtoken::{decode, decode_header, Validation, DecodingKey, Algorithm}; fuzz_target!(|data: &[u8]| { if data.len() < 4 { return; } let key = DecodingKey::from_secret(b"test-secret-key-for-fuzzing"); let validation = Validation::new(Algorithm::HS256); if let Ok(s) = std::str::from_utf8(data) { let _ = decode_header(s); let _ = decode::(s, &key, &validation); } let alt_key = DecodingKey::from_secret(data); if let Ok(s) = std::str::from_utf8(data) { let _ = decode::(s, &alt_key, &validation); } });