Fuzz introspector: secretbox_easy_fuzzer
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
45 45 2 :

['sodium_misuse', 'randombytes_sysrandom_random_dev_open']

47 47 randombytes_sysrandom_init call site: 00000 /src/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c:270
18 18 1 :

['sodium_misuse']

18 18 crypto_secretbox_easy call site: 00064 /src/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c:75
18 18 1 :

['sodium_misuse']

18 18 crypto_stream_chacha20_ietf_ext call site: 00000 /src/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c:91
18 18 1 :

['sodium_misuse']

18 18 crypto_stream_chacha20_ietf call site: 00000 /src/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c:124
18 18 1 :

['sodium_misuse']

18 18 randombytes_buf_deterministic call site: 00000 /src/libsodium/src/libsodium/randombytes/randombytes.c:172
18 18 1 :

['sodium_misuse']

18 18 randombytes_sysrandom_buf call site: 00000 /src/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c:350
18 18 1 :

['sodium_misuse']

18 18 _sodium_alloc_init call site: 00018 /src/libsodium/src/libsodium/sodium/utils.c:421
14 14 1 :

['safe_read']

32 32 randombytes_sysrandom_buf call site: 00000 /src/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c:349
4 4 2 :

['sodium_runtime_has_sse41', 'sodium_runtime_has_ssse3']

4 4 blake2b_pick_best_implementation call site: 00032 /src/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c:416
2 2 1 :

['sodium_runtime_has_ssse3']

2 2 argon2_pick_best_implementation call site: 00028 /src/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c:535
2 2 1 :

['sodium_runtime_has_ssse3']

2 2 _crypto_stream_chacha20_pick_best_implementation call site: 00040 /src/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c:172
0 0 None 0 64 crypto_core_hsalsa20 call site: 00067 /src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c:26

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 sodium_init [function] [call site] 00001
2 sodium_crit_enter [function] [call site] 00002
3 pthread_mutex_lock [call site] 00003
3 __assert_fail [call site] 00004
2 sodium_crit_leave [function] [call site] 00005
3 pthread_mutex_unlock [call site] 00006
2 _sodium_runtime_get_cpu_features [function] [call site] 00007
3 _sodium_runtime_arm_cpu_features [function] [call site] 00008
3 _sodium_runtime_intel_cpu_features [function] [call site] 00009
2 randombytes_stir [function] [call site] 00014
3 randombytes_init_if_needed [function] [call site] 00015
4 randombytes_stir [function] [call site] 00016
2 _sodium_alloc_init [function] [call site] 00017
3 sysconf [call site] 00018
3 sodium_misuse [function] [call site] 00019
4 sodium_crit_leave [function] [call site] 00020
4 sodium_crit_enter [function] [call site] 00021
4 abort [call site] 00022
3 randombytes_buf [function] [call site] 00023
4 randombytes_init_if_needed [function] [call site] 00024
2 _crypto_pwhash_argon2_pick_best_implementation [function] [call site] 00025
3 argon2_pick_best_implementation [function] [call site] 00026
4 sodium_runtime_has_avx512f [function] [call site] 00027
4 sodium_runtime_has_avx2 [function] [call site] 00028
4 sodium_runtime_has_ssse3 [function] [call site] 00029
2 _crypto_generichash_blake2b_pick_best_implementation [function] [call site] 00030
3 blake2b_pick_best_implementation [function] [call site] 00031
4 sodium_runtime_has_avx2 [function] [call site] 00032
4 sodium_runtime_has_sse41 [function] [call site] 00033
4 sodium_runtime_has_ssse3 [function] [call site] 00034
2 _crypto_onetimeauth_poly1305_pick_best_implementation [function] [call site] 00035
3 sodium_runtime_has_sse2 [function] [call site] 00036
2 _crypto_scalarmult_curve25519_pick_best_implementation [function] [call site] 00037
3 sodium_runtime_has_avx [function] [call site] 00038
2 _crypto_stream_chacha20_pick_best_implementation [function] [call site] 00039
3 sodium_runtime_has_avx2 [function] [call site] 00040
3 sodium_runtime_has_ssse3 [function] [call site] 00041
2 _crypto_stream_salsa20_pick_best_implementation [function] [call site] 00042
3 sodium_runtime_has_avx2 [function] [call site] 00043
2 _crypto_aead_aegis128l_pick_best_implementation [function] [call site] 00044
3 sodium_runtime_has_aesni [function] [call site] 00045
3 sodium_runtime_has_avx [function] [call site] 00046
2 _crypto_aead_aegis256_pick_best_implementation [function] [call site] 00047
3 sodium_runtime_has_aesni [function] [call site] 00048
3 sodium_runtime_has_avx [function] [call site] 00049
2 sodium_crit_leave [function] [call site] 00050
1 __assert_fail [call site] 00051
1 setup_fake_random(unsigned char const*, unsigned long) [function] [call site] 00052
2 randombytes_set_implementation [function] [call site] 00053
2 __assert_fail [call site] 00054
2 randombytes_implementation_name [function] [call site] 00055
3 randombytes_init_if_needed [function] [call site] 00056
2 strcmp [call site] 00057
2 __assert_fail [call site] 00058
2 sodium_init [function] [call site] 00059
2 __assert_fail [call site] 00060
1 crypto_secretbox_keygen [function] [call site] 00061
2 randombytes_buf [function] [call site] 00062
1 randombytes_buf [function] [call site] 00063
1 crypto_secretbox_easy [function] [call site] 00064
2 sodium_misuse [function] [call site] 00065
2 crypto_secretbox_detached [function] [call site] 00066
3 crypto_core_hsalsa20 [function] [call site] 00067
4 load32_le [function] [call site] 00068
4 load32_le [function] [call site] 00069
4 load32_le [function] [call site] 00070
4 load32_le [function] [call site] 00071
4 load32_le [function] [call site] 00072
4 load32_le [function] [call site] 00073
4 load32_le [function] [call site] 00074
4 load32_le [function] [call site] 00075
4 load32_le [function] [call site] 00076
4 load32_le [function] [call site] 00077
4 load32_le [function] [call site] 00078
4 load32_le [function] [call site] 00079
4 load32_le [function] [call site] 00080
4 load32_le [function] [call site] 00081
4 load32_le [function] [call site] 00082
4 load32_le [function] [call site] 00083
4 store32_le [function] [call site] 00116
4 store32_le [function] [call site] 00117
4 store32_le [function] [call site] 00118
4 store32_le [function] [call site] 00119
4 store32_le [function] [call site] 00120
4 store32_le [function] [call site] 00121
4 store32_le [function] [call site] 00122
4 store32_le [function] [call site] 00123
3 crypto_stream_salsa20_xor [function] [call site] 00124
3 crypto_onetimeauth_poly1305_init [function] [call site] 00125
3 sodium_memzero [function] [call site] 00126
4 explicit_bzero [call site] 00127
3 crypto_stream_salsa20_xor_ic [function] [call site] 00128
3 sodium_memzero [function] [call site] 00129
3 crypto_onetimeauth_poly1305_update [function] [call site] 00130
3 crypto_onetimeauth_poly1305_final [function] [call site] 00131
3 sodium_memzero [function] [call site] 00132
1 crypto_secretbox_open_easy [function] [call site] 00133
2 crypto_secretbox_open_detached [function] [call site] 00134
3 crypto_core_hsalsa20 [function] [call site] 00135
3 crypto_stream_salsa20 [function] [call site] 00136
3 crypto_onetimeauth_poly1305_verify [function] [call site] 00137
3 sodium_memzero [function] [call site] 00138
3 crypto_stream_salsa20_xor [function] [call site] 00139
3 sodium_memzero [function] [call site] 00140
3 crypto_stream_salsa20_xor_ic [function] [call site] 00141
3 sodium_memzero [function] [call site] 00142
1 __assert_fail [call site] 00143