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:271
18 18 1 :

['sodium_misuse']

18 18 crypto_secretbox_easy call site: 00141 /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:171
18 18 1 :

['sodium_misuse']

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

['sodium_misuse']

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

['safe_read']

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

['sodium_runtime_has_ssse3', 'sodium_runtime_has_sse41']

4 4 blake2b_pick_best_implementation call site: 00100 /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: 00043 /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: 00124 /src/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c:172
0 0 None 0 64 crypto_core_hsalsa20 call site: 00144 /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 argon2_fill_segment_avx512f [function] [call site] 00028
5 generate_addresses [function] [call site] 00029
6 init_block_value [function] [call site] 00030
6 init_block_value [function] [call site] 00031
6 init_block_value [function] [call site] 00032
6 init_block_value [function] [call site] 00033
6 fill_block_with_xor [function] [call site] 00034
6 fill_block_with_xor [function] [call site] 00037
5 index_alpha [function] [call site] 00038
5 fill_block_with_xor [function] [call site] 00039
4 sodium_runtime_has_avx2 [function] [call site] 00043
4 argon2_fill_segment_avx2 [function] [call site] 00044
5 generate_addresses [function] [call site] 00045
6 init_block_value [function] [call site] 00046
6 init_block_value [function] [call site] 00047
6 init_block_value [function] [call site] 00048
6 init_block_value [function] [call site] 00049
6 fill_block_with_xor [function] [call site] 00050
6 fill_block_with_xor [function] [call site] 00051
5 index_alpha [function] [call site] 00052
5 fill_block_with_xor [function] [call site] 00053
5 fill_block [function] [call site] 00054
4 sodium_runtime_has_ssse3 [function] [call site] 00055
4 argon2_fill_segment_ssse3 [function] [call site] 00056
5 generate_addresses [function] [call site] 00057
6 init_block_value [function] [call site] 00058
6 init_block_value [function] [call site] 00059
6 fill_block_with_xor [function] [call site] 00060
6 fill_block_with_xor [function] [call site] 00063
5 index_alpha [function] [call site] 00064
5 fill_block_with_xor [function] [call site] 00065
4 argon2_fill_segment_ref [function] [call site] 00069
5 generate_addresses [function] [call site] 00070
6 init_block_value [function] [call site] 00071
6 init_block_value [function] [call site] 00072
6 init_block_value [function] [call site] 00073
6 fill_block_with_xor [function] [call site] 00085
5 index_alpha [function] [call site] 00086
5 fill_block_with_xor [function] [call site] 00087
2 _crypto_generichash_blake2b_pick_best_implementation [function] [call site] 00098
3 blake2b_pick_best_implementation [function] [call site] 00099
4 sodium_runtime_has_avx2 [function] [call site] 00100
4 blake2b_compress_avx2 [function] [call site] 00101
4 sodium_runtime_has_sse41 [function] [call site] 00102
4 blake2b_compress_sse41 [function] [call site] 00103
4 sodium_runtime_has_ssse3 [function] [call site] 00104
4 blake2b_compress_ssse3 [function] [call site] 00105
2 _crypto_onetimeauth_poly1305_pick_best_implementation [function] [call site] 00119
3 sodium_runtime_has_sse2 [function] [call site] 00120
2 _crypto_scalarmult_curve25519_pick_best_implementation [function] [call site] 00121
3 sodium_runtime_has_avx [function] [call site] 00122
2 _crypto_stream_chacha20_pick_best_implementation [function] [call site] 00123
3 sodium_runtime_has_avx2 [function] [call site] 00124
3 sodium_runtime_has_ssse3 [function] [call site] 00125
2 _crypto_stream_salsa20_pick_best_implementation [function] [call site] 00126
3 sodium_runtime_has_avx2 [function] [call site] 00127
2 sodium_crit_leave [function] [call site] 00128
1 __assert_fail [call site] 00129
1 setup_fake_random(unsigned char const*, unsigned long) [function] [call site] 00130
2 randombytes_set_implementation [function] [call site] 00131
2 __assert_fail [call site] 00132
2 randombytes_implementation_name [function] [call site] 00133
3 randombytes_init_if_needed [function] [call site] 00134
2 strcmp [call site] 00135
2 sodium_init [function] [call site] 00136
2 __assert_fail [call site] 00137
1 crypto_secretbox_keygen [function] [call site] 00138
2 randombytes_buf [function] [call site] 00139
1 randombytes_buf [function] [call site] 00140
1 crypto_secretbox_easy [function] [call site] 00141
2 sodium_misuse [function] [call site] 00142
2 crypto_secretbox_detached [function] [call site] 00143
3 crypto_core_hsalsa20 [function] [call site] 00144
4 load32_le [function] [call site] 00145
4 load32_le [function] [call site] 00146
4 load32_le [function] [call site] 00147
4 load32_le [function] [call site] 00148
4 load32_le [function] [call site] 00149
4 load32_le [function] [call site] 00150
4 load32_le [function] [call site] 00151
4 load32_le [function] [call site] 00152
4 load32_le [function] [call site] 00153
4 load32_le [function] [call site] 00154
4 load32_le [function] [call site] 00155
4 load32_le [function] [call site] 00156
4 load32_le [function] [call site] 00157
4 load32_le [function] [call site] 00158
4 store32_le [function] [call site] 00181
4 store32_le [function] [call site] 00182
4 store32_le [function] [call site] 00183
4 store32_le [function] [call site] 00184
4 store32_le [function] [call site] 00185
4 store32_le [function] [call site] 00186
4 store32_le [function] [call site] 00187
3 crypto_stream_salsa20_xor [function] [call site] 00188
3 crypto_onetimeauth_poly1305_init [function] [call site] 00189
3 sodium_memzero [function] [call site] 00190
4 explicit_bzero [call site] 00191
3 crypto_stream_salsa20_xor_ic [function] [call site] 00192
3 sodium_memzero [function] [call site] 00193
3 crypto_onetimeauth_poly1305_update [function] [call site] 00194
3 crypto_onetimeauth_poly1305_final [function] [call site] 00195
3 sodium_memzero [function] [call site] 00196
1 crypto_secretbox_open_easy [function] [call site] 00197
2 crypto_secretbox_open_detached [function] [call site] 00198
3 crypto_core_hsalsa20 [function] [call site] 00199
3 crypto_stream_salsa20 [function] [call site] 00200
3 crypto_onetimeauth_poly1305_verify [function] [call site] 00201
3 sodium_memzero [function] [call site] 00202
3 crypto_stream_salsa20_xor [function] [call site] 00203
3 sodium_memzero [function] [call site] 00204
3 crypto_stream_salsa20_xor_ic [function] [call site] 00205
3 sodium_memzero [function] [call site] 00206
1 __assert_fail [call site] 00207