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

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: crypto_box_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 216 100.%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 0 0.0%
All colors 216 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
215 0 EP call site: 00000 sodium_init

Runtime coverage analysis

Covered functions
0
Functions that are reachable but not covered
81
Reachable functions
81
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
crypto_box_fuzzer.cc 1
libsodiumlibsodium/sodium/core.c 4
libsodiumlibsodium/sodium/runtime.c 11
libsodiumlibsodium/randombytes/randombytes.c 5
libsodiumlibsodium/sodium/utils.c 2
libsodiumlibsodium/crypto_pwhash/argon2/argon2-core.c 2
libsodiumlibsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c 1
libsodiumlibsodium/crypto_generichash/blake2b/ref/blake2b-ref.c 1
libsodiumlibsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c 5
libsodiumlibsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c 3
libsodiumlibsodium/crypto_stream/chacha20/stream_chacha20.c 1
libsodiumlibsodium/crypto_stream/salsa20/stream_salsa20.c 4
libsodiumlibsodium/crypto_aead/aegis128l/aead_aegis128l.c 1
libsodiumlibsodium/crypto_aead/aegis256/aead_aegis256.c 1
fake_random.h 1
libsodiumlibsodium/crypto_box/crypto_box.c 3
libsodiumlibsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c 3
libsodiumlibsodium/crypto_hash/sha512/cp/hash_sha512_cp.c 8
libsodiumlibsodium/./include/sodium/private/common.h 6
libsodiumlibsodium/crypto_box/crypto_box_easy.c 6
libsodiumlibsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c 1
libsodiumlibsodium/crypto_secretbox/crypto_secretbox_easy.c 2

Fuzzer: secret_key_auth_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 15 10.5%
gold [1:9] 35 24.6%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 92 64.7%
All colors 142 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 18 _sodium_alloc_init call site: 00018 sodium_misuse
2 33 blake2b_pick_best_implementation call site: 00033 sodium_runtime_has_sse41
2 67 crypto_auth_hmacsha512256_init call site: 00067 crypto_hash_sha512_update
2 106 crypto_hash_sha512_update call site: 00106 crypto_hash_sha512_final
1 29 argon2_pick_best_implementation call site: 00029 sodium_runtime_has_ssse3
1 41 _crypto_stream_chacha20_pick_best_implementation call site: 00041 sodium_runtime_has_ssse3
1 60 setup_fake_random(unsigned char const*, unsigned long) call site: 00060 __assert_fail
1 116 crypto_hash_sha512_final call site: 00116 sodium_misuse

Runtime coverage analysis

Covered functions
72
Functions that are reachable but not covered
10
Reachable functions
67
Percentage of reachable functions covered
85.07%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
secret_key_auth_fuzzer.cc 1
libsodiumlibsodium/sodium/core.c 4
libsodiumlibsodium/sodium/runtime.c 11
libsodiumlibsodium/randombytes/randombytes.c 5
libsodiumlibsodium/sodium/utils.c 4
libsodiumlibsodium/crypto_pwhash/argon2/argon2-core.c 2
libsodiumlibsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c 1
libsodiumlibsodium/crypto_generichash/blake2b/ref/blake2b-ref.c 1
libsodiumlibsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c 1
libsodiumlibsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c 1
libsodiumlibsodium/crypto_stream/chacha20/stream_chacha20.c 1
libsodiumlibsodium/crypto_stream/salsa20/stream_salsa20.c 1
libsodiumlibsodium/crypto_aead/aegis128l/aead_aegis128l.c 1
libsodiumlibsodium/crypto_aead/aegis256/aead_aegis256.c 1
fake_random.h 1
libsodiumlibsodium/crypto_auth/crypto_auth.c 3
libsodiumlibsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c 5
libsodiumlibsodium/crypto_auth/hmacsha512/auth_hmacsha512.c 3
libsodiumlibsodium/crypto_hash/sha512/cp/hash_sha512_cp.c 7
libsodiumlibsodium/./include/sodium/private/common.h 3
libsodiumlibsodium/crypto_verify/verify.c 2

Fuzzer: secretbox_easy_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 19 12.9%
gold [1:9] 35 23.8%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 93 63.2%
All colors 147 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 18 _sodium_alloc_init call site: 00018 sodium_misuse
4 68 crypto_secretbox_detached call site: 00068 load32_le
3 138 crypto_secretbox_open_detached call site: 00138 sodium_memzero
2 33 blake2b_pick_best_implementation call site: 00033 sodium_runtime_has_sse41
1 29 argon2_pick_best_implementation call site: 00029 sodium_runtime_has_ssse3
1 41 _crypto_stream_chacha20_pick_best_implementation call site: 00041 sodium_runtime_has_ssse3
1 60 setup_fake_random(unsigned char const*, unsigned long) call site: 00060 __assert_fail
1 65 LLVMFuzzerTestOneInput call site: 00065 sodium_misuse
1 127 crypto_secretbox_detached call site: 00127 explicit_bzero

Runtime coverage analysis

Covered functions
80
Functions that are reachable but not covered
10
Reachable functions
58
Percentage of reachable functions covered
82.76%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
secretbox_easy_fuzzer.cc 1
libsodiumlibsodium/sodium/core.c 4
libsodiumlibsodium/sodium/runtime.c 11
libsodiumlibsodium/randombytes/randombytes.c 5
libsodiumlibsodium/sodium/utils.c 2
libsodiumlibsodium/crypto_pwhash/argon2/argon2-core.c 2
libsodiumlibsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c 1
libsodiumlibsodium/crypto_generichash/blake2b/ref/blake2b-ref.c 1
libsodiumlibsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c 5
libsodiumlibsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c 1
libsodiumlibsodium/crypto_stream/chacha20/stream_chacha20.c 1
libsodiumlibsodium/crypto_stream/salsa20/stream_salsa20.c 4
libsodiumlibsodium/crypto_aead/aegis128l/aead_aegis128l.c 1
libsodiumlibsodium/crypto_aead/aegis256/aead_aegis256.c 1
fake_random.h 1
libsodiumlibsodium/crypto_secretbox/crypto_secretbox.c 1
libsodiumlibsodium/crypto_secretbox/crypto_secretbox_easy.c 4
libsodiumlibsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c 1
libsodiumlibsodium/./include/sodium/private/common.h 3

Fuzzer: crypto_aead_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 9 16.3%
gold [1:9] 36 65.4%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 10 18.1%
All colors 55 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 18 _sodium_alloc_init call site: 00018 sodium_misuse
2 33 blake2b_pick_best_implementation call site: 00033 sodium_runtime_has_sse41
1 29 argon2_pick_best_implementation call site: 00029 sodium_runtime_has_ssse3
1 41 _crypto_stream_chacha20_pick_best_implementation call site: 00041 sodium_runtime_has_ssse3

Runtime coverage analysis

Covered functions
136
Functions that are reachable but not covered
9
Reachable functions
36
Percentage of reachable functions covered
75.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
crypto_aead_fuzzer.cc 1
libsodiumlibsodium/sodium/core.c 4
libsodiumlibsodium/sodium/runtime.c 11
libsodiumlibsodium/randombytes/randombytes.c 3
libsodiumlibsodium/sodium/utils.c 1
libsodiumlibsodium/crypto_pwhash/argon2/argon2-core.c 2
libsodiumlibsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c 1
libsodiumlibsodium/crypto_generichash/blake2b/ref/blake2b-ref.c 1
libsodiumlibsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c 1
libsodiumlibsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c 1
libsodiumlibsodium/crypto_stream/chacha20/stream_chacha20.c 1
libsodiumlibsodium/crypto_stream/salsa20/stream_salsa20.c 1
libsodiumlibsodium/crypto_aead/aegis128l/aead_aegis128l.c 1
libsodiumlibsodium/crypto_aead/aegis256/aead_aegis256.c 1

Fuzzer: crypto_kdf_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 33 30.5%
gold [1:9] 36 33.3%
yellow [10:29] 31 28.7%
greenyellow [30:49] 6 5.55%
lawngreen 50+ 2 1.85%
All colors 108 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
10 78 blake2b_init_key_salt_personal call site: 00078 blake2b_init_salt_personal
5 18 _sodium_alloc_init call site: 00018 sodium_misuse
5 59 crypto_generichash_blake2b_salt_personal call site: 00059 sodium_misuse
2 33 blake2b_pick_best_implementation call site: 00033 sodium_runtime_has_sse41
2 65 blake2b_salt_personal call site: 00065 sodium_misuse
2 92 blake2b_final call site: 00092 blake2b_increment_counter
1 29 argon2_pick_best_implementation call site: 00029 sodium_runtime_has_ssse3
1 41 _crypto_stream_chacha20_pick_best_implementation call site: 00041 sodium_runtime_has_ssse3
1 54 crypto_kdf_blake2b_derive_from_key call site: 00054 __errno_location
1 74 blake2b_init_param call site: 00074 sodium_misuse
1 76 blake2b_init_key_salt_personal call site: 00076 blake2b_increment_counter
1 90 blake2b_salt_personal call site: 00090 sodium_misuse

Runtime coverage analysis

Covered functions
52
Functions that are reachable but not covered
12
Reachable functions
57
Percentage of reachable functions covered
78.95%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
crypto_kdf_fuzzer.cc 1
libsodiumlibsodium/sodium/core.c 4
libsodiumlibsodium/sodium/runtime.c 11
libsodiumlibsodium/randombytes/randombytes.c 3
libsodiumlibsodium/sodium/utils.c 2
libsodiumlibsodium/crypto_pwhash/argon2/argon2-core.c 2
libsodiumlibsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c 2
libsodiumlibsodium/crypto_generichash/blake2b/ref/blake2b-ref.c 14
libsodiumlibsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c 1
libsodiumlibsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c 1
libsodiumlibsodium/crypto_stream/chacha20/stream_chacha20.c 1
libsodiumlibsodium/crypto_stream/salsa20/stream_salsa20.c 1
libsodiumlibsodium/crypto_aead/aegis128l/aead_aegis128l.c 1
libsodiumlibsodium/crypto_aead/aegis256/aead_aegis256.c 1
libsodiumlibsodium/crypto_kdf/crypto_kdf.c 1
libsodiumlibsodium/crypto_kdf/blake2b/kdf_blake2b.c 1
libsodiumlibsodium/./include/sodium/private/common.h 3

Fuzzer: crypto_generichash_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 23 19.8%
gold [1:9] 36 31.0%
yellow [10:29] 1 0.86%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 56 48.2%
All colors 116 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 18 _sodium_alloc_init call site: 00018 sodium_misuse
5 56 crypto_generichash_blake2b call site: 00056 sodium_misuse
2 33 blake2b_pick_best_implementation call site: 00033 sodium_runtime_has_sse41
2 62 blake2b call site: 00062 sodium_misuse
2 73 blake2b_init_key call site: 00073 sodium_misuse
1 29 argon2_pick_best_implementation call site: 00029 sodium_runtime_has_ssse3
1 41 _crypto_stream_chacha20_pick_best_implementation call site: 00041 sodium_runtime_has_ssse3
1 69 blake2b_init_param call site: 00069 sodium_misuse
1 76 blake2b call site: 00076 sodium_misuse
1 80 blake2b_init call site: 00080 sodium_misuse
1 83 blake2b call site: 00083 sodium_misuse
1 89 blake2b_final call site: 00089 blake2b_set_lastnode

Runtime coverage analysis

Covered functions
56
Functions that are reachable but not covered
10
Reachable functions
59
Percentage of reachable functions covered
83.05%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
crypto_generichash_fuzzer.cc 1
libsodiumlibsodium/sodium/core.c 4
libsodiumlibsodium/sodium/runtime.c 11
libsodiumlibsodium/randombytes/randombytes.c 3
libsodiumlibsodium/sodium/utils.c 2
libsodiumlibsodium/crypto_pwhash/argon2/argon2-core.c 2
libsodiumlibsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c 5
libsodiumlibsodium/crypto_generichash/blake2b/ref/blake2b-ref.c 12
libsodiumlibsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c 1
libsodiumlibsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c 1
libsodiumlibsodium/crypto_stream/chacha20/stream_chacha20.c 1
libsodiumlibsodium/crypto_stream/salsa20/stream_salsa20.c 1
libsodiumlibsodium/crypto_aead/aegis128l/aead_aegis128l.c 1
libsodiumlibsodium/crypto_aead/aegis256/aead_aegis256.c 1
libsodiumlibsodium/crypto_generichash/crypto_generichash.c 4
libsodiumlibsodium/./include/sodium/private/common.h 3

Fuzzer: crypto_sign_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 11 2.19%
gold [1:9] 36 7.17%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 455 90.6%
All colors 502 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
5 18 _sodium_alloc_init call site: 00018 sodium_misuse
2 33 blake2b_pick_best_implementation call site: 00033 sodium_runtime_has_sse41
1 29 argon2_pick_best_implementation call site: 00029 sodium_runtime_has_ssse3
1 41 _crypto_stream_chacha20_pick_best_implementation call site: 00041 sodium_runtime_has_ssse3
1 60 setup_fake_random(unsigned char const*, unsigned long) call site: 00060 __assert_fail
1 103 crypto_hash_sha512_update call site: 00103 explicit_bzero

Runtime coverage analysis

Covered functions
122
Functions that are reachable but not covered
10
Reachable functions
126
Percentage of reachable functions covered
92.06%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
crypto_sign_fuzzer.cc 1
libsodiumlibsodium/sodium/core.c 4
libsodiumlibsodium/sodium/runtime.c 11
libsodiumlibsodium/randombytes/randombytes.c 5
libsodiumlibsodium/sodium/utils.c 5
libsodiumlibsodium/crypto_pwhash/argon2/argon2-core.c 2
libsodiumlibsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c 1
libsodiumlibsodium/crypto_generichash/blake2b/ref/blake2b-ref.c 1
libsodiumlibsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c 1
libsodiumlibsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c 1
libsodiumlibsodium/crypto_stream/chacha20/stream_chacha20.c 1
libsodiumlibsodium/crypto_stream/salsa20/stream_salsa20.c 1
libsodiumlibsodium/crypto_aead/aegis128l/aead_aegis128l.c 1
libsodiumlibsodium/crypto_aead/aegis256/aead_aegis256.c 1
fake_random.h 1
libsodiumlibsodium/crypto_sign/crypto_sign.c 7
libsodiumlibsodium/crypto_sign/ed25519/ref10/keypair.c 1
libsodiumlibsodium/crypto_hash/sha512/cp/hash_sha512_cp.c 8
libsodiumlibsodium/./include/sodium/private/common.h 5
libsodiumlibsodium/crypto_core/ed25519/ref10/ed25519_ref10.c 33
libsodiumlibsodium/./include/sodium/private/ed25519_ref10_fe_51.h 12
libsodiumlibsodium/crypto_core/ed25519/ref10/fe_51/fe.h 3
libsodiumlibsodium/crypto_sign/ed25519/ref10/sign.c 4
libsodiumlibsodium/crypto_sign/ed25519/ref10/open.c 2
libsodiumlibsodium/crypto_verify/verify.c 2
libsodiumlibsodium/crypto_sign/ed25519/sign_ed25519.c 4

Fuzzer: crypto_kx_fuzzer

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 34 24.8%
gold [1:9] 36 26.2%
yellow [10:29] 45 32.8%
greenyellow [30:49] 18 13.1%
lawngreen 50+ 4 2.91%
All colors 137 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
11 57 crypto_generichash_blake2b call site: 00057 blake2b_init_key
6 70 blake2b_init_param call site: 00070 sodium_misuse
5 18 _sodium_alloc_init call site: 00018 sodium_misuse
2 33 blake2b_pick_best_implementation call site: 00033 sodium_runtime_has_sse41
2 86 blake2b_final call site: 00086 blake2b_increment_counter
1 29 argon2_pick_best_implementation call site: 00029 sodium_runtime_has_ssse3
1 41 _crypto_stream_chacha20_pick_best_implementation call site: 00041 sodium_runtime_has_ssse3
1 77 blake2b call site: 00077 sodium_misuse
1 81 blake2b_init call site: 00081 sodium_misuse
1 84 blake2b call site: 00084 sodium_misuse
1 90 blake2b_final call site: 00090 blake2b_set_lastnode
1 104 LLVMFuzzerTestOneInput call site: 00104 sodium_misuse

Runtime coverage analysis

Covered functions
96
Functions that are reachable but not covered
11
Reachable functions
66
Percentage of reachable functions covered
83.33%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
crypto_kx_fuzzer.cc 1
libsodiumlibsodium/sodium/core.c 4
libsodiumlibsodium/sodium/runtime.c 11
libsodiumlibsodium/randombytes/randombytes.c 3
libsodiumlibsodium/sodium/utils.c 2
libsodiumlibsodium/crypto_pwhash/argon2/argon2-core.c 2
libsodiumlibsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c 5
libsodiumlibsodium/crypto_generichash/blake2b/ref/blake2b-ref.c 12
libsodiumlibsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c 1
libsodiumlibsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c 3
libsodiumlibsodium/crypto_stream/chacha20/stream_chacha20.c 1
libsodiumlibsodium/crypto_stream/salsa20/stream_salsa20.c 1
libsodiumlibsodium/crypto_aead/aegis128l/aead_aegis128l.c 1
libsodiumlibsodium/crypto_aead/aegis256/aead_aegis256.c 1
libsodiumlibsodium/crypto_kx/crypto_kx.c 3
libsodiumlibsodium/crypto_generichash/crypto_generichash.c 4
libsodiumlibsodium/./include/sodium/private/common.h 3
libsodiumlibsodium/crypto_scalarmult/crypto_scalarmult.c 2

Analyses and suggestions

Optimal target analysis

Remaining optimal interesting functions

The following table shows a list of functions that are optimal targets. Optimal targets are identified by finding the functions that in combination, yield a high code coverage.

Func name Functions filename Arg count Args Function depth hitcount instr count bb count cyclomatic complexity Reachable functions Incoming references total cyclomatic complexity Unreached complexity
crypto_aead_aes256gcm_decrypt /src/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c 9 ['N/A', 'N/A', 'N/A', 'N/A', 'size_t', 'N/A', 'size_t', 'N/A', 'N/A'] 6 0 51 3 2 32 0 120 95
argon2_initialize /src/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c 2 ['N/A', 'N/A'] 7 0 93 13 6 37 0 146 61
randombytes_sysrandom_buf /src/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c 2 ['N/A', 'size_t'] 6 0 61 13 4 23 1 81 60
argon2_fill_segment_ref /src/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c 3 ['N/A', 'size_t', 'size_t'] 3 0 350 43 16 6 0 45 45
crypto_onetimeauth_poly1305_donna_verify /src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c 4 ['N/A', 'N/A', 'size_t', 'N/A'] 5 0 28 3 2 12 0 51 41
crypto_aead_aes256gcm_encrypt /src/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c 9 ['N/A', 'N/A', 'N/A', 'size_t', 'N/A', 'size_t', 'N/A', 'N/A', 'N/A'] 6 0 70 9 4 29 0 113 37

Implementing fuzzers that target the above functions will improve reachability such that it becomes:

Functions statically reachable by fuzzers
40.0%
250 / 618
Cyclomatic complexity statically reachable by fuzzers
39.0%
883 / 2281

All functions overview

If you implement fuzzers for these functions, the status of all functions in the project will be:

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

crypto_box_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


secret_key_auth_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_sodium_alloc_init', 'blake2b_pick_best_implementation', 'crypto_auth_hmacsha512256_init', 'crypto_hash_sha512_update', 'argon2_pick_best_implementation', '_crypto_stream_chacha20_pick_best_implementation', 'setup_fake_random(unsigned char const*, unsigned long)', 'crypto_hash_sha512_final']

secretbox_easy_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_sodium_alloc_init', 'crypto_secretbox_detached', 'crypto_secretbox_open_detached', 'blake2b_pick_best_implementation', 'argon2_pick_best_implementation', '_crypto_stream_chacha20_pick_best_implementation', 'setup_fake_random(unsigned char const*, unsigned long)', 'LLVMFuzzerTestOneInput']

crypto_aead_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_sodium_alloc_init', 'blake2b_pick_best_implementation', 'argon2_pick_best_implementation', '_crypto_stream_chacha20_pick_best_implementation']

crypto_kdf_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['blake2b_init_key_salt_personal', '_sodium_alloc_init', 'crypto_generichash_blake2b_salt_personal', 'blake2b_pick_best_implementation', 'blake2b_salt_personal', 'blake2b_final', 'argon2_pick_best_implementation', '_crypto_stream_chacha20_pick_best_implementation', 'crypto_kdf_blake2b_derive_from_key', 'blake2b_init_param']

crypto_generichash_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_sodium_alloc_init', 'crypto_generichash_blake2b', 'blake2b_pick_best_implementation', 'blake2b', 'blake2b_init_key', 'argon2_pick_best_implementation', '_crypto_stream_chacha20_pick_best_implementation', 'blake2b_init_param', 'blake2b_init']

crypto_sign_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['_sodium_alloc_init', 'blake2b_pick_best_implementation', 'argon2_pick_best_implementation', '_crypto_stream_chacha20_pick_best_implementation', 'setup_fake_random(unsigned char const*, unsigned long)', 'crypto_hash_sha512_update']

crypto_kx_fuzzer.cc

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['crypto_generichash_blake2b', 'blake2b_init_param', '_sodium_alloc_init', 'blake2b_pick_best_implementation', 'blake2b_final', 'argon2_pick_best_implementation', '_crypto_stream_chacha20_pick_best_implementation', 'blake2b', 'blake2b_init']

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
[] []
/src/libsodium/src/libsodium/crypto_generichash/crypto_generichash.c ['crypto_generichash_fuzzer', 'crypto_kx_fuzzer'] ['crypto_generichash_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_aead/chacha20poly1305/aead_chacha20poly1305.c [] []
/src/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox_easy.c ['crypto_box_fuzzer', 'secretbox_easy_fuzzer'] ['secretbox_easy_fuzzer']
/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_invert.c [] []
/src/crypto_aead_fuzzer.cc ['crypto_aead_fuzzer'] ['crypto_aead_fuzzer']
/src/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-avx512f.h [] []
/src/libsodium/src/libsodium/crypto_kdf/blake2b/kdf_blake2b.c ['crypto_kdf_fuzzer'] ['crypto_kdf_fuzzer']
/src/libsodium/src/libsodium/crypto_pwhash/argon2/blamka-round-ssse3.h [] []
/src/libsodium/src/libsodium/crypto_box/crypto_box_easy.c ['crypto_box_fuzzer'] []
/src/libsodium/src/libsodium/sodium/core.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_auth/crypto_auth.c ['secret_key_auth_fuzzer'] ['secret_key_auth_fuzzer']
/src/libsodium/src/libsodium/crypto_sign/ed25519/sign_ed25519.c ['crypto_sign_fuzzer'] ['crypto_sign_fuzzer']
/src/fake_random.h ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_sign_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_sign_fuzzer']
/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ref.c [] []
/src/libsodium/src/libsodium/randombytes/sysrandom/randombytes_sysrandom.c [] []
/src/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-avx2.c [] []
/src/crypto_kdf_fuzzer.cc ['crypto_kdf_fuzzer'] ['crypto_kdf_fuzzer']
/src/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/aead_xchacha20poly1305.c [] []
/src/libsodium/src/libsodium/crypto_box/crypto_box.c ['crypto_box_fuzzer'] []
/src/libsodium/src/libsodium/crypto_hash/sha512/cp/hash_sha512_cp.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'crypto_sign_fuzzer'] ['secret_key_auth_fuzzer', 'crypto_sign_fuzzer']
/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/auth_hmacsha512256.c ['secret_key_auth_fuzzer'] ['secret_key_auth_fuzzer']
/src/libsodium/src/libsodium/crypto_stream/xsalsa20/stream_xsalsa20.c [] []
/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/fe_frombytes_sandy2x.c [] []
/src/libsodium/src/libsodium/randombytes/randombytes.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.c [] []
/src/libsodium/src/libsodium/./include/sodium/private/common.h ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] []
/src/libsodium/src/libsodium/crypto_aead/aegis256/aegis256_common.h [] []
/src/libsodium/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c ['crypto_sign_fuzzer'] ['crypto_sign_fuzzer']
/src/libsodium/src/libsodium/sodium/utils.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.c [] []
/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/open.c ['crypto_sign_fuzzer'] ['crypto_sign_fuzzer']
/src/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/fe.h ['crypto_sign_fuzzer'] ['crypto_sign_fuzzer']
/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/secretbox_xsalsa20poly1305.c [] []
/src/libsodium/src/libsodium/crypto_core/softaes/softaes.c [] []
/src/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ref.c [] []
/src/libsodium/src/libsodium/crypto_aead/aegis256/aegis256_aesni.c [] []
/src/libsodium/src/libsodium/crypto_verify/verify.c ['secret_key_auth_fuzzer', 'crypto_sign_fuzzer'] ['secret_key_auth_fuzzer', 'crypto_sign_fuzzer']
/src/libsodium/src/libsodium/crypto_aead/aegis128l/aegis128l_common.h [] []
/src/libsodium/src/libsodium/crypto_generichash/blake2b/ref/generichash_blake2b.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/crypto_box_fuzzer.cc ['crypto_box_fuzzer'] []
/src/libsodium/src/libsodium/crypto_aead/aegis256/aead_aegis256.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/sodium/runtime.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.c [] []
/src/secretbox_easy_fuzzer.cc ['secretbox_easy_fuzzer'] ['secretbox_easy_fuzzer']
/src/libsodium/src/libsodium/crypto_auth/hmacsha512/auth_hmacsha512.c ['secret_key_auth_fuzzer'] ['secret_key_auth_fuzzer']
/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-ref.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/./include/sodium/private/ed25519_ref10_fe_51.h ['crypto_sign_fuzzer'] []
/src/libsodium/src/libsodium/./include/sodium/private/softaes.h [] []
/src/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-ssse3.c [] []
/src/libsodium/src/libsodium/crypto_aead/aegis128l/aegis128l_aesni.c [] []
/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/sign.c ['crypto_sign_fuzzer'] ['crypto_sign_fuzzer']
/src/secret_key_auth_fuzzer.cc ['secret_key_auth_fuzzer'] ['secret_key_auth_fuzzer']
/src/libsodium/src/libsodium/crypto_kdf/crypto_kdf.c ['crypto_kdf_fuzzer'] ['crypto_kdf_fuzzer']
/src/crypto_generichash_fuzzer.cc ['crypto_generichash_fuzzer'] ['crypto_generichash_fuzzer']
/src/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx512f.c [] []
/src/libsodium/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/crypto_sign_fuzzer.cc ['crypto_sign_fuzzer'] ['crypto_sign_fuzzer']
/src/libsodium/src/libsodium/crypto_kx/crypto_kx.c ['crypto_kx_fuzzer'] ['crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-ssse3.c [] []
/src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/core_hsalsa20_ref2.c ['crypto_box_fuzzer', 'secretbox_easy_fuzzer'] ['secretbox_easy_fuzzer']
/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c [] []
/src/crypto_kx_fuzzer.cc ['crypto_kx_fuzzer'] ['crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_scalarmult/crypto_scalarmult.c ['crypto_kx_fuzzer'] ['crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna64.h [] []
/src/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-fill-block-avx2.c [] []
/src/libsodium/src/libsodium/crypto_generichash/blake2b/ref/blake2b-compress-sse41.c [] []
/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/box_curve25519xsalsa20poly1305.c ['crypto_box_fuzzer'] []
/src/libsodium/src/libsodium/crypto_secretbox/crypto_secretbox.c ['secretbox_easy_fuzzer'] ['secretbox_easy_fuzzer']
/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/keypair.c ['crypto_sign_fuzzer'] ['crypto_sign_fuzzer']
/src/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.c [] []
/src/libsodium/src/libsodium/crypto_sign/crypto_sign.c ['crypto_sign_fuzzer'] ['crypto_sign_fuzzer']
/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c [] []
/src/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c [] []
/src/libsodium/src/libsodium/crypto_pwhash/argon2/blake2b-long.c [] []
/src/libsodium/src/libsodium/crypto_stream/salsa20/stream_salsa20.c ['crypto_box_fuzzer', 'secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer'] ['secret_key_auth_fuzzer', 'secretbox_easy_fuzzer', 'crypto_aead_fuzzer', 'crypto_kdf_fuzzer', 'crypto_generichash_fuzzer', 'crypto_sign_fuzzer', 'crypto_kx_fuzzer']
/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.c [] []
/src/libsodium/src/libsodium/crypto_pwhash/argon2/argon2-core.h [] []

Directories in report

Directory
/src/libsodium/src/libsodium/crypto_core/ed25519/ref10/
/src/
/src/libsodium/src/libsodium/crypto_pwhash/argon2/
/src/libsodium/src/libsodium/./include/sodium/private/
/src/libsodium/src/libsodium/crypto_box/curve25519xsalsa20poly1305/
/src/libsodium/src/libsodium/crypto_stream/chacha20/
/src/libsodium/src/libsodium/crypto_stream/chacha20/dolbeau/
/src/libsodium/src/libsodium/crypto_core/hchacha20/
/src/libsodium/src/libsodium/crypto_stream/salsa20/
/src/libsodium/src/libsodium/crypto_aead/aegis128l/
/src/libsodium/src/libsodium/crypto_hash/sha512/cp/
/src/libsodium/src/libsodium/crypto_core/ed25519/ref10/fe_51/
/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/
/src/libsodium/src/libsodium/crypto_auth/hmacsha512256/
/src/libsodium/src/libsodium/crypto_core/softaes/
/src/libsodium/src/libsodium/crypto_sign/ed25519/ref10/
/src/libsodium/src/libsodium/crypto_secretbox/
/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/sse2/
/src/libsodium/src/libsodium/crypto_kdf/blake2b/
/src/libsodium/src/libsodium/crypto_scalarmult/
/src/libsodium/src/libsodium/crypto_aead/chacha20poly1305/
/src/libsodium/src/libsodium/crypto_auth/hmacsha512/
/src/libsodium/src/libsodium/randombytes/
/src/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/
/src/libsodium/src/libsodium/crypto_sign/
/src/libsodium/src/libsodium/sodium/
/src/libsodium/src/libsodium/crypto_stream/xsalsa20/
/src/libsodium/src/libsodium/crypto_kx/
/src/libsodium/src/libsodium/crypto_core/hsalsa20/ref2/
/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/
/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/
/src/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/
/src/libsodium/src/libsodium/crypto_verify/
/src/libsodium/src/libsodium/crypto_aead/aes256gcm/aesni/
/src/libsodium/src/libsodium/crypto_box/
/src/libsodium/src/libsodium/crypto_sign/ed25519/
/src/libsodium/src/libsodium/crypto_aead/xchacha20poly1305/
/src/libsodium/src/libsodium/crypto_secretbox/xsalsa20poly1305/
/src/libsodium/src/libsodium/crypto_aead/aegis256/
/src/libsodium/src/libsodium/crypto_stream/salsa20/xmm6int/
/src/libsodium/src/libsodium/crypto_auth/
/src/libsodium/src/libsodium/crypto_generichash/
/src/libsodium/src/libsodium/crypto_generichash/blake2b/ref/
/src/libsodium/src/libsodium/randombytes/sysrandom/
/src/libsodium/src/libsodium/crypto_kdf/