Add sturctured get assertion and client pin fuzzers (#482)
This commit is contained in:
@@ -36,12 +36,24 @@ path = "fuzz_targets/fuzz_target_process_ctap2_client_pin.rs"
|
||||
test = false
|
||||
doc = false
|
||||
|
||||
[[bin]]
|
||||
name = "fuzz_target_process_ctap2_client_pin_structured"
|
||||
path = "fuzz_targets/fuzz_target_process_ctap2_client_pin_structured.rs"
|
||||
test = false
|
||||
doc = false
|
||||
|
||||
[[bin]]
|
||||
name = "fuzz_target_process_ctap2_get_assertion"
|
||||
path = "fuzz_targets/fuzz_target_process_ctap2_get_assertion.rs"
|
||||
test = false
|
||||
doc = false
|
||||
|
||||
[[bin]]
|
||||
name = "fuzz_target_process_ctap2_get_assertion_structured"
|
||||
path = "fuzz_targets/fuzz_target_process_ctap2_get_assertion_structured.rs"
|
||||
test = false
|
||||
doc = false
|
||||
|
||||
[[bin]]
|
||||
name = "fuzz_target_process_ctap2_make_credential"
|
||||
path = "fuzz_targets/fuzz_target_process_ctap2_make_credential.rs"
|
||||
|
||||
@@ -239,12 +239,12 @@ pub fn process_ctap_structured(data: &[u8], input_type: InputType) -> FuzzResult
|
||||
InputType::CborMakeCredentialParameter => Command::AuthenticatorMakeCredential(
|
||||
AuthenticatorMakeCredentialParameters::arbitrary(unstructured)?,
|
||||
),
|
||||
InputType::CborGetAssertionParameter => {
|
||||
unimplemented!()
|
||||
}
|
||||
InputType::CborClientPinParameter => {
|
||||
unimplemented!()
|
||||
}
|
||||
InputType::CborGetAssertionParameter => Command::AuthenticatorGetAssertion(
|
||||
AuthenticatorGetAssertionParameters::arbitrary(unstructured)?,
|
||||
),
|
||||
InputType::CborClientPinParameter => Command::AuthenticatorClientPin(
|
||||
AuthenticatorClientPinParameters::arbitrary(unstructured)?,
|
||||
),
|
||||
InputType::Ctap1 => {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#![no_main]
|
||||
|
||||
use fuzz_helper::{process_ctap_structured, InputType};
|
||||
use libfuzzer_sys::fuzz_target;
|
||||
|
||||
// Fuzz inputs as CTAP2 client pin command parameters.
|
||||
// The inputs will used to construct arbitrary client pin parameters.
|
||||
fuzz_target!(|data: &[u8]| {
|
||||
process_ctap_structured(data, InputType::CborClientPinParameter).ok();
|
||||
});
|
||||
@@ -0,0 +1,10 @@
|
||||
#![no_main]
|
||||
|
||||
use fuzz_helper::{process_ctap_structured, InputType};
|
||||
use libfuzzer_sys::fuzz_target;
|
||||
|
||||
// Fuzz inputs as CTAP2 get assertion command parameters.
|
||||
// The inputs will used to construct arbitrary get assertion parameters.
|
||||
fuzz_target!(|data: &[u8]| {
|
||||
process_ctap_structured(data, InputType::CborGetAssertionParameter).ok();
|
||||
});
|
||||
Reference in New Issue
Block a user