Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues
Report generation date: 2026-03-24

Project overview: libssh

High level conclusions

Reachability and coverage overview

Functions statically reachable by fuzzers
54.0%
870 / 1617
Cyclomatic complexity statically reachable by fuzzers
56.0%
6305 / 11203
Runtime code coverage of functions
62.0%
1007 / 1617

Warning: The number of runtime covered functions are larger than the number of reachable functions. This means that Fuzz Introspector found there are more functions covered at runtime than what is considered reachable based on the static analysis. This is a limitation in the analysis as anything covered at runtime is by definition reachable by the fuzzers.
This is likely due to a limitation in the static analysis. In this case, the count of functions covered at runtime is the true value, which means this is what should be considered "achieved" by the fuzzer.

Use the project functions table below to query all functions that were not covered at runtime.

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: ssh_known_hosts_fuzzer_nalloc

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 179 41.7%
gold [1:9] 15 3.49%
yellow [10:29] 5 1.16%
greenyellow [30:49] 1 0.23%
lawngreen 50+ 229 53.3%
All colors 429 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
18 17 _ssh_log call site: 00017 ssh_vlog
17 158 ssh_known_hosts_parse_line call site: 00158 strcmp
13 235 ssh_buffer_unpack_va call site: 00235 _ssh_log
13 296 pki_pubkey_build_ecdsa call site: 00296 pki_pubkey_build_ed25519
11 216 ssh_buffer_unpack_va call site: 00216 ssh_buffer_get_ssh_string
11 338 ssh_key_clean call site: 00338 pki_import_pubkey_buffer
10 316 pki_pubkey_build_ed25519 call site: 00316 ssh_key_free
9 368 ssh_string_cmp call site: 00368 pki_key_compare
8 36 ssh_strict_fopen call site: 00036 _ssh_log
7 190 ssh_buffer_get_ssh_string call site: 00190 pki_import_cert_buffer
6 120 hmac_init call site: 00120 EVP_sha256
5 360 ssh_known_hosts_entries_compare call site: 00360 _ssh_log

Runtime coverage analysis

Covered functions
101
Functions that are reachable but not covered
90
Reachable functions
177
Percentage of reachable functions covered
49.15%
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
tests/fuzz/ssh_known_hosts_fuzzer.c 1
tests/fuzz/nallocinc.c 7
src/knownhosts.c 7
src/misc.c 9
src/log.c 9
src/base64.c 4
src/buffer.c 19
src/libcrypto.c 4
src/match.c 3
src/pki.c 11
src/string.c 8
src/bignum.c 1
src/pki_crypto.c 6
src/init.c 2
src/threads/pthread.c 2
src/dh.c 1
src/socket.c 1
src/poll.c 1
src/threads.c 1
src/threads/libcrypto.c 1

Fuzzer: ssh_sshsig_fuzzer_nalloc

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 469 83.4%
gold [1:9] 21 3.73%
yellow [10:29] 5 0.88%
greenyellow [30:49] 11 1.95%
lawngreen 50+ 56 9.96%
All colors 562 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
265 295 sshsig_verify call site: 00295 ssh_pki_import_signature_blob
47 220 pki_import_pubkey_buffer call site: 00220 pki_pubkey_build_ed25519
39 153 ssh_string_get_char call site: 00153 pki_import_cert_buffer
29 7 _ssh_log call site: 00007 sshsig_dearmor
22 270 pki_key_clean call site: 00270 pki_import_pubkey_buffer
11 202 pki_pubkey_build_rsa call site: 00202 _ssh_buffer_unpack
9 81 ssh_buffer_free call site: 00081 _ssh_buffer_unpack
9 143 sshsig_verify call site: 00143 ssh_buffer_new
6 126 ssh_buffer_unpack_va call site: 00126 _ssh_log
4 100 ssh_buffer_unpack_va call site: 00100 ssh_buffer_get_ssh_string
4 138 ssh_buffer_unpack_va call site: 00138 _ssh_log
4 215 pki_import_pubkey_buffer call site: 00215 ssh_string_free

Runtime coverage analysis

Covered functions
66
Functions that are reachable but not covered
118
Reachable functions
166
Percentage of reachable functions covered
28.92%
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
tests/fuzz/ssh_sshsig_fuzzer.c 1
tests/fuzz/nallocinc.c 7
src/pki.c 20
src/log.c 9
src/base64.c 4
src/buffer.c 27
src/string.c 9
src/bignum.c 3
src/pki_crypto.c 11
src/md_crypto.c 8
src/pki_ed25519_common.c 1

Fuzzer: ssh_bind_config_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 631 75.8%
gold [1:9] 24 2.88%
yellow [10:29] 16 1.92%
greenyellow [30:49] 11 1.32%
lawngreen 50+ 150 18.0%
All colors 832 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
432 120 realloc call site: 00120 ssh_pki_import_pubkey_blob
56 582 ssh_bind_options_set call site: 00582 ssh_pki_import_privkey_base64
24 93 ssh_bind_config_parse_line call site: 00093 ssh_pki_import_privkey_base64
21 732 ssh_bind_options_set call site: 00732 ssh_path_expand_tilde
19 562 pki_private_key_from_base64 call site: 00562 ssh_key_free
10 639 ssh_bind_options_set call site: 00639 _ssh_log
6 7 calloc call site: 00007 nalloc_backtrace_exclude
6 756 ssh_bind_options_set call site: 00756 _ssh_set_error_invalid
4 75 ssh_strict_fopen call site: 00075 _ssh_log
3 21 ssh_log_function call site: 00021 ssh_log_custom
3 84 ssh_strict_fopen call site: 00084 _ssh_log
3 553 pki_private_key_from_base64 call site: 00553 pem_get_password

Runtime coverage analysis

Covered functions
65
Functions that are reachable but not covered
239
Reachable functions
286
Percentage of reachable functions covered
16.43%
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
tests/fuzz/ssh_bind_config_fuzzer.c 1
tests/fuzz/nallocinc.c 7
src/bind.c 2
src/bind_config.c 6
src/log.c 10
src/error.c 3
src/config_parser.c 3
src/misc.c 5
src/options.c 5
src/pki.c 14
src/pki_container_openssh.c 4
src/base64.c 4
src/buffer.c 19
src/string.c 7
src/bignum.c 1
src/pki_crypto.c 14
src/libcrypto.c 1
src/external/bcrypt_pbkdf.c 2
src/md_crypto.c 3
src/external/blowfish.c 6
src/wrapper.c 1
src/kex.c 6
src/token.c 7

Fuzzer: ssh_privkey_fuzzer_nalloc

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 498 95.5%
gold [1:9] 4 0.76%
yellow [10:29] 1 0.19%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 18 3.45%
All colors 521 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
432 58 realloc call site: 00058 ssh_pki_import_pubkey_blob
33 8 _ssh_log call site: 00008 ssh_pki_openssh_privkey_import
19 500 pki_private_key_from_base64 call site: 00500 ssh_key_free
6 49 calloc call site: 00049 ssh_buffer_allocate_size
3 491 pki_private_key_from_base64 call site: 00491 pem_get_password
2 46 nalloc_fail call site: 00046 fprintf
1 6 LLVMFuzzerTestOneInput call site: 00006 _ssh_log
1 56 realloc call site: 00056 __errno_location
1 495 pki_private_key_from_base64 call site: 00495 PEM_read_bio_PrivateKey

Runtime coverage analysis

Covered functions
32
Functions that are reachable but not covered
141
Reachable functions
155
Percentage of reachable functions covered
9.03%
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
tests/fuzz/ssh_privkey_fuzzer.c 1
tests/fuzz/nallocinc.c 7
src/base64.c 6
src/pki.c 11
src/log.c 9
src/pki_container_openssh.c 4
src/buffer.c 19
src/string.c 7
src/bignum.c 1
src/pki_crypto.c 12
src/libcrypto.c 1
src/external/bcrypt_pbkdf.c 2
src/md_crypto.c 3
src/external/blowfish.c 6
src/wrapper.c 1

Fuzzer: ssh_pubkey_fuzzer_nalloc

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 490 75.3%
gold [1:9] 50 7.69%
yellow [10:29] 32 4.92%
greenyellow [30:49] 8 1.23%
lawngreen 50+ 70 10.7%
All colors 650 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
216 301 ssh_key_clean call site: 00301 pki_openssh_import_privkey_blob
115 531 pki_private_key_from_base64 call site: 00531 ssh_pki_import_pubkey_base64
30 242 pki_import_pubkey_buffer call site: 00242 pki_pubkey_build_ed25519
25 175 ssh_string_get_char call site: 00175 pki_import_cert_buffer
18 27 _ssh_log call site: 00027 ssh_vlog
12 162 ssh_pki_openssh_import call site: 00162 ssh_pki_import_pubkey_blob
10 279 pki_pubkey_build_ed25519 call site: 00279 ssh_key_free
8 55 ssh_pki_import_pubkey_file call site: 00055 ssh_pki_openssh_pubkey_import
4 120 ssh_buffer_unpack_va call site: 00120 ssh_buffer_get_ssh_string
4 148 ssh_buffer_unpack_va call site: 00148 _ssh_log
4 210 ssh_buffer_add_buffer call site: 00210 pki_import_pubkey_buffer
4 224 pki_pubkey_build_rsa call site: 00224 BN_clear_free

Runtime coverage analysis

Covered functions
75
Functions that are reachable but not covered
122
Reachable functions
179
Percentage of reachable functions covered
31.84%
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
tests/fuzz/ssh_pubkey_fuzzer.c 1
src/misc.c 2
tests/fuzz/nallocinc.c 8
src/pki.c 15
src/log.c 9
src/pki_container_openssh.c 4
src/base64.c 4
src/buffer.c 19
src/string.c 8
src/bignum.c 1
src/pki_crypto.c 13
src/libcrypto.c 1
src/external/bcrypt_pbkdf.c 2
src/md_crypto.c 3
src/external/blowfish.c 6
src/wrapper.c 1

Fuzzer: ssh_client_config_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 364 39.5%
gold [1:9] 102 11.0%
yellow [10:29] 50 5.43%
greenyellow [30:49] 32 3.47%
lawngreen 50+ 372 40.4%
All colors 920 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
20 92 _ssh_log call site: 00092 _ssh_log
16 315 ssh_options_set call site: 00315 _ssh_set_error_invalid
15 122 crypto_free call site: 00122 ssh_key_clean
15 463 ssh_options_set call site: 00463 ssh_path_expand_tilde
15 605 ssh_config_parse_line_internal call site: 00605 get_address_family
14 169 ssh_free call site: 00169 ssh_message_free
14 631 match_cidr_address_list call site: 00631 get_address_family
14 879 ssh_config_parse_line_internal call site: 00879 ssh_options_set
13 78 ssh_socket_close call site: 00078 ssh_poll_free
13 646 ssh_config_parse_line_internal call site: 00646 ssh_match_localnetwork
10 449 ssh_options_set call site: 00449 _ssh_set_error_invalid
10 771 ssh_config_parse_line_internal call site: 00771 ssh_options_set

Runtime coverage analysis

Covered functions
118
Functions that are reachable but not covered
223
Reachable functions
323
Percentage of reachable functions covered
30.96%
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
tests/fuzz/ssh_client_config_fuzzer.c 1
tests/fuzz/nallocinc.c 7
src/session.c 3
src/wrapper.c 4
src/socket.c 4
src/error.c 3
src/buffer.c 5
src/misc.c 26
src/agent.c 3
src/pki_context.c 3
src/channels.c 1
src/pcap.c 1
src/poll.c 5
src/log.c 12
src/pki.c 2
src/pki_crypto.c 1
src/string.c 4
src/dh_crypto.c 1
src/gzip.c 1
src/messages.c 1
src/auth.c 2
src/callbacks.c 1
src/options.c 3
src/config_parser.c 6
src/kex.c 6
src/token.c 7
src/config.c 14
src/match.c 8
src/md_crypto.c 4

Fuzzer: ssh_sftp_attr_fuzzer_nalloc

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 137 39.7%
gold [1:9] 5 1.44%
yellow [10:29] 2 0.57%
greenyellow [30:49] 11 3.18%
lawngreen 50+ 190 55.0%
All colors 345 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
20 91 _ssh_log call site: 00091 _ssh_log
14 168 ssh_free call site: 00168 ssh_message_free
13 77 ssh_socket_close call site: 00077 ssh_poll_free
13 301 ssh_buffer_unpack_va call site: 00301 _ssh_log
8 60 ssh_free call site: 00060 ssh_channel_do_free
8 128 ssh_string_len call site: 00128 ssh_string_burn
7 289 ssh_buffer_unpack_va call site: 00289 ssh_buffer_get_ssh_string
6 121 crypto_free call site: 00121 ssh_key_clean
6 316 sftp_parse_attr_3 call site: 00316 sftp_parse_longname
4 145 crypto_free call site: 00145 deflateEnd
4 281 ssh_buffer_unpack_va call site: 00281 ssh_buffer_get_u8
2 22 ssh_buffer_new call site: 00022 buffer_shift

Runtime coverage analysis

Covered functions
86
Functions that are reachable but not covered
58
Reachable functions
126
Percentage of reachable functions covered
53.97%
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
tests/fuzz/ssh_sftp_attr_fuzzer.c 2
tests/fuzz/nallocinc.c 7
src/session.c 3
src/wrapper.c 4
src/socket.c 4
src/error.c 2
src/buffer.c 16
src/misc.c 10
src/agent.c 3
src/pki_context.c 2
src/channels.c 1
src/pcap.c 1
src/poll.c 5
src/log.c 11
src/pki.c 2
src/pki_crypto.c 1
src/string.c 7
src/dh_crypto.c 1
src/gzip.c 1
src/messages.c 1
src/auth.c 2
src/callbacks.c 1
src/sftp_common.c 5
src/bignum.c 1
src/client.c 1
src/sftp.c 1

Fuzzer: ssh_server_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 1745 58.0%
gold [1:9] 18 0.59%
yellow [10:29] 20 0.66%
greenyellow [30:49] 30 0.99%
lawngreen 50+ 1194 39.7%
All colors 3007 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
214 1377 ssh_list_prepend call site: 01377 ssh_known_hosts_read_entries
182 1595 ssh_strict_fopen call site: 01595 ssh_send_kex
170 492 sha512_final call site: 00492 pki_openssh_import_privkey_blob
92 1284 ssh_packet_send call site: 01284 ssh_send_rekex
49 434 pki_pubkey_build_ed25519 call site: 00434 pki_private_key_decrypt
47 2932 libcrux_sha3_generic_keccak_portable_keccak1_ad call site: 02932 ssh_packet_send
38 1151 ssh_buffer_pack_va call site: 01151 _ssh_buffer_pack
32 842 ssh_bind_options_set call site: 00842 ssh_bind_set_algo
31 1045 pki_key_dup call site: 01045 ssh_key_free
29 798 ssh_find_all_matching call site: 00798 ssh_prefix_default_algos
28 301 ssh_buffer_unpack_va call site: 00301 ssh_pki_import_pubkey_blob
26 232 _ssh_set_error call site: 00232 ssh_pki_import_privkey_base64

Runtime coverage analysis

Covered functions
729
Functions that are reachable but not covered
317
Reachable functions
797
Percentage of reachable functions covered
60.23%
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
tests/fuzz/ssh_server_fuzzer.c 2
tests/fuzz/nallocinc.c 11
src/bind.c 4
src/session.c 7
src/wrapper.c 10
src/socket.c 16
src/error.c 3
src/buffer.c 31
src/misc.c 33
src/agent.c 3
src/pki_context.c 3
src/channels.c 1
src/pcap.c 5
src/poll.c 21
src/log.c 12
src/pki.c 22
src/pki_crypto.c 18
src/string.c 11
src/dh_crypto.c 6
src/gzip.c 4
src/messages.c 1
src/auth.c 2
src/callbacks.c 2
src/options.c 8
src/pki_container_openssh.c 4
src/base64.c 4
src/bignum.c 3
src/libcrypto.c 7
src/external/bcrypt_pbkdf.c 2
src/md_crypto.c 20
src/external/blowfish.c 6
src/kex.c 19
src/token.c 7
src/server.c 4
src/client.c 3
src/getrandom_crypto.c 1
src/packet.c 10
src/knownhosts.c 11
src/config_parser.c 1
src/config.c 1
src/match.c 3
src/packet_crypt.c 1
src/dh.c 3
src/kdf.c 5
src/dh-gex.c 1
src/ecdh_crypto.c 4
src/curve25519.c 1
src/curve25519_crypto.c 1
src/sntrup761.c 3
src/external/sntrup761.c 24
src/hybrid_mlkem.c 1
src/mlkem_native.c 1
src/mlkem.c 1
src/external/libcrux_mlkem768_sha3.c 256

Fuzzer: ssh_client_fuzzer_nalloc

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 2826 67.9%
gold [1:9] 47 1.13%
yellow [10:29] 41 0.98%
greenyellow [30:49] 192 4.61%
lawngreen 50+ 1050 25.2%
All colors 4156 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
424 3070 ssh_string_to_char call site: 03070 ssh_userauth_try_publickey
267 3768 pki_digest_to_md call site: 03768 ssh_event_add_connector
250 3517 ssh_key_size call site: 03517 ssh_userauth_agent_publickey
201 763 ssh_lowercase call site: 00763 ssh_config_parse
152 609 ssh_strict_fopen call site: 00609 ssh_config_parse
152 1414 pki_import_pubkey_buffer call site: 01414 ssh_userauth_publickey_auto
85 1067 ssh_connect call site: 01067 ssh_socket_connect_proxyjump
84 427 ssh_options_set call site: 00427 ssh_options_set
78 4062 ssh_disconnect call site: 04062 select_loop
74 2995 ssh_client_hybrid_mlkem_init call site: 02995 atomicio
70 1248 ssh_buffer_add_data call site: 01248 ssh_pki_import_pubkey_base64
52 1800 packet_send2 call site: 01800 ssh_pcap_context_write

Runtime coverage analysis

Covered functions
593
Functions that are reachable but not covered
454
Reachable functions
974
Percentage of reachable functions covered
53.39%
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
tests/fuzz/ssh_client_fuzzer.c 2
tests/fuzz/nallocinc.c 11
src/session.c 9
src/wrapper.c 10
src/socket.c 24
src/error.c 4
src/buffer.c 31
src/misc.c 33
src/agent.c 11
src/pki_context.c 3
src/channels.c 31
src/pcap.c 5
src/poll.c 26
src/log.c 13
src/pki.c 43
src/pki_crypto.c 22
src/string.c 12
src/dh_crypto.c 6
src/gzip.c 4
src/messages.c 1
src/auth.c 13
src/callbacks.c 6
src/options.c 5
src/config_parser.c 6
src/kex.c 19
src/token.c 7
src/config.c 15
src/client.c 7
src/init.c 1
src/threads/pthread.c 2
src/md_crypto.c 20
src/match.c 9
src/threads.c 1
src/connect.c 4
src/knownhosts.c 15
src/dh.c 4
src/base64.c 6
src/libcrypto.c 6
src/bignum.c 3
src/packet.c 10
src/getrandom_crypto.c 1
src/server.c 1
src/packet_crypt.c 1
src/kdf.c 5
src/dh-gex.c 1
src/ecdh_crypto.c 4
src/curve25519.c 1
src/curve25519_crypto.c 1
src/sntrup761.c 3
src/external/sntrup761.c 24
src/hybrid_mlkem.c 1
src/mlkem_native.c 1
src/mlkem.c 1
src/external/libcrux_mlkem768_sha3.c 256
src/pki_container_openssh.c 5
src/external/bcrypt_pbkdf.c 2
src/external/blowfish.c 6
src/pki_ed25519_common.c 1
src/connector.c 18

Fuzzer: ssh_scp_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 2975 67.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 1464 32.9%
All colors 4439 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
322 3045 ssh_config_parse_file call site: 03045 ssh_config_parse
200 3758 ssh_userauth_get_response call site: 03758 ssh_userauth_agent_publickey
110 4316 ssh_scp_init call site: 04316 ssh_scp_init
105 4131 ssh_channel_send_eof call site: 04131 ssh_event_add_connector
85 1276 ssh_options_set call site: 01276 ssh_options_set
85 1512 hmac_final call site: 01512 ssh_pki_import_pubkey_base64
83 3380 ssh_connect call site: 03380 ssh_socket_connect_proxyjump
74 3634 ssh_string_to_char call site: 03634 ssh_userauth_try_publickey
68 3475 ssh_connect call site: 03475 ssh_userauth_publickey_auto
66 455 pki_private_key_decrypt call site: 00455 _ssh_buffer_unpack
62 996 ssh_string_copy call site: 00996 ssh_key_free
62 2228 ssh_curve25519_init call site: 02228 ssh_packet_send

Runtime coverage analysis

Covered functions
803
Functions that are reachable but not covered
466
Reachable functions
1018
Percentage of reachable functions covered
54.22%
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
tests/fuzz/ssh_scp_fuzzer.c 2
tests/fuzz/nallocinc.c 11
tests/fuzz/ssh_server_mock.c 2
src/bind.c 4
src/session.c 9
src/wrapper.c 10
src/socket.c 24
src/error.c 4
src/buffer.c 31
src/misc.c 36
src/agent.c 11
src/pki_context.c 3
src/channels.c 32
src/pcap.c 5
src/poll.c 26
src/log.c 12
src/pki.c 43
src/pki_crypto.c 22
src/string.c 12
src/dh_crypto.c 6
src/gzip.c 4
src/messages.c 1
src/auth.c 13
src/callbacks.c 6
src/options.c 9
src/pki_container_openssh.c 5
src/base64.c 6
src/bignum.c 3
src/libcrypto.c 7
src/external/bcrypt_pbkdf.c 2
src/md_crypto.c 20
src/external/blowfish.c 6
src/kex.c 19
src/token.c 7
src/server.c 4
src/client.c 8
src/packet.c 10
src/getrandom_crypto.c 1
src/knownhosts.c 15
src/config_parser.c 6
src/config.c 15
src/match.c 9
src/packet_crypt.c 1
src/dh.c 4
src/kdf.c 5
src/dh-gex.c 1
src/ecdh_crypto.c 4
src/curve25519.c 1
src/curve25519_crypto.c 1
src/sntrup761.c 3
src/external/sntrup761.c 24
src/hybrid_mlkem.c 1
src/mlkem_native.c 1
src/mlkem.c 1
src/external/libcrux_mlkem768_sha3.c 256
src/init.c 1
src/threads/pthread.c 2
src/threads.c 1
src/connect.c 4
src/pki_ed25519_common.c 1
src/connector.c 18
src/scp.c 22

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
ssh_packet_client_hybrid_mlkem_reply /src/libssh/src/hybrid_mlkem.c 4 ['N/A', 'char', 'N/A', 'N/A'] 28 0 394 40 17 829 0 3639 402
ssh_packet_userauth_request /src/libssh/src/messages.c 4 ['N/A', 'char', 'N/A', 'N/A'] 34 0 898 187 54 731 0 3837 295
ssh_packet_socket_callback /src/libssh/src/packet.c 3 ['N/A', 'size_t', 'N/A'] 26 0 992 133 47 688 1 3468 244
ssh_server_connection_callback /src/libssh/src/server.c 1 ['N/A'] 28 0 491 85 25 697 0 3428 170
sftp_init /src/libssh/src/sftp.c 1 ['N/A'] 29 0 512 83 26 738 0 3642 169
ssh_channel_request_pty /src/libssh/src/channels.c 1 ['N/A'] 30 0 15 3 2 712 0 3532 163
process_readdir /src/libssh/src/sftpserver.c 1 ['N/A'] 26 0 236 34 13 722 0 3546 124
ssh_packet_server_sntrup761x25519_init /src/libssh/src/sntrup761.c 4 ['N/A', 'char', 'N/A', 'N/A'] 27 0 398 64 24 732 0 3626 121
ssh_packet_server_dhgex_request /src/libssh/src/dh-gex.c 4 ['N/A', 'char', 'N/A', 'N/A'] 27 0 284 51 18 681 0 3311 97
ssh_pki_export_privkey_file /src/libssh/src/pki.c 5 ['N/A', 'N/A', 'N/A', 'N/A', 'N/A'] 14 0 27 3 2 126 0 582 89

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

Functions statically reachable by fuzzers
71.0%
1155 / 1617
Cyclomatic complexity statically reachable by fuzzers
72.0%
8072 / 11203

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.

tests/fuzz/ssh_known_hosts_fuzzer.c

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=['_ssh_log', 'ssh_known_hosts_parse_line', 'ssh_buffer_unpack_va', 'pki_pubkey_build_ecdsa', 'ssh_key_clean', 'pki_pubkey_build_ed25519', 'ssh_string_cmp', 'ssh_strict_fopen', 'ssh_buffer_get_ssh_string']

tests/fuzz/ssh_sshsig_fuzzer.c

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=['sshsig_verify', 'pki_import_pubkey_buffer', 'ssh_string_get_char', '_ssh_log', 'pki_key_clean', 'pki_pubkey_build_rsa', 'ssh_buffer_free', 'ssh_buffer_unpack_va']

tests/fuzz/ssh_bind_config_fuzzer.c

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=['realloc', 'ssh_bind_options_set', 'ssh_bind_config_parse_line', 'pki_private_key_from_base64', 'calloc', 'ssh_strict_fopen', 'ssh_log_function']

tests/fuzz/ssh_privkey_fuzzer.c

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=['realloc', '_ssh_log', 'pki_private_key_from_base64', 'calloc', 'nalloc_fail', 'LLVMFuzzerTestOneInput']

tests/fuzz/ssh_pubkey_fuzzer.c

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=['ssh_key_clean', 'pki_private_key_from_base64', 'pki_import_pubkey_buffer', 'ssh_string_get_char', '_ssh_log', 'ssh_pki_openssh_import', 'pki_pubkey_build_ed25519', 'ssh_pki_import_pubkey_file', 'ssh_buffer_unpack_va']

tests/fuzz/ssh_client_config_fuzzer.c

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=['_ssh_log', 'ssh_options_set', 'crypto_free', 'ssh_config_parse_line_internal', 'ssh_free', 'match_cidr_address_list', 'ssh_socket_close']

tests/fuzz/ssh_sftp_attr_fuzzer.c

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=['_ssh_log', 'ssh_free', 'ssh_socket_close', 'ssh_buffer_unpack_va', 'ssh_string_len', 'crypto_free', 'sftp_parse_attr_3']

tests/fuzz/ssh_server_fuzzer.c

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=['ssh_list_prepend', 'ssh_strict_fopen', 'sha512_final', 'ssh_packet_send', 'pki_pubkey_build_ed25519', 'libcrux_sha3_generic_keccak_portable_keccak1_ad', 'ssh_buffer_pack_va', 'ssh_bind_options_set', 'pki_key_dup', 'ssh_find_all_matching']

tests/fuzz/ssh_client_fuzzer.c

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=['ssh_string_to_char', 'pki_digest_to_md', 'ssh_key_size', 'ssh_lowercase', 'ssh_strict_fopen', 'pki_import_pubkey_buffer', 'ssh_connect', 'ssh_options_set', 'ssh_disconnect', 'ssh_client_hybrid_mlkem_init']

tests/fuzz/ssh_scp_fuzzer.c

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=['ssh_config_parse_file', 'ssh_userauth_get_response', 'ssh_scp_init', 'ssh_channel_send_eof', 'ssh_options_set', 'hmac_final', 'ssh_connect', 'ssh_string_to_char', 'pki_private_key_decrypt']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
ssh_dh_init 36 19 52.77% ['ssh_sshsig_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_bind_config_fuzzer', 'ssh_pubkey_fuzzer_nalloc', 'ssh_known_hosts_fuzzer_nalloc', 'ssh_privkey_fuzzer_nalloc']
hmac_init 37 20 54.05% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_known_hosts_fuzzer_nalloc', 'ssh_server_fuzzer']
ssh_key_cmp 50 17 34.0% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_known_hosts_fuzzer_nalloc', 'ssh_server_fuzzer']
pki_pubkey_build_rsa 42 21 50.0% ['ssh_sshsig_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_config_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_bind_config_fuzzer', 'ssh_pubkey_fuzzer_nalloc', 'ssh_known_hosts_fuzzer_nalloc', 'ssh_privkey_fuzzer_nalloc']
ssh_bind_options_set 361 176 48.75% ['ssh_server_fuzzer', 'ssh_client_config_fuzzer', 'ssh_scp_fuzzer', 'ssh_bind_config_fuzzer']
ssh_pki_import_privkey_file 62 33 53.22% ['ssh_server_fuzzer', 'ssh_client_config_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_bind_config_fuzzer']
pki_private_key_from_base64 77 40 51.94% ['ssh_server_fuzzer', 'ssh_client_config_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_bind_config_fuzzer', 'ssh_pubkey_fuzzer_nalloc', 'ssh_privkey_fuzzer_nalloc']
ssh_config_make_absolute 41 19 46.34% ['ssh_client_config_fuzzer', 'ssh_scp_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_bind_config_fuzzer']
match_cidr_address_list 168 59 35.11% ['ssh_client_config_fuzzer', 'ssh_scp_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_bind_config_fuzzer']
ssh_options_set 744 366 49.19% ['ssh_server_fuzzer', 'ssh_client_config_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_bind_config_fuzzer']
ssh_socket_close 33 15 45.45% ['ssh_server_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
ssh_bind_accept_fd 127 46 36.22% ['ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_channel_new 44 22 50.0% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
channel_default_bufferize 45 18 40.0% ['ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_curve25519_init 50 25 50.0% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_retrieve_dhgroup 52 16 30.76% ['ssh_server_fuzzer']
libcrux_sha3_generic_keccak_portable_keccak1_96 31 15 48.38% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
sshkdf_derive_key 73 25 34.24% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_mac_ctx_init 35 19 54.28% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_send_kex 89 48 53.93% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_hashbufout_add_cookie 31 17 54.83% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_message_queue 35 18 51.42% ['ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_execute_server_request 243 90 37.03% ['ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_msg_userauth_build_digest 53 28 52.83% ['ssh_server_fuzzer']
ssh_packet_send 62 24 38.70% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
pki_key_dup_common_init 43 15 34.88% ['ssh_pubkey_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_server_fuzzer']
ssh_key_signature_to_char 33 16 48.48% ['ssh_sshsig_fuzzer_nalloc', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_pki_export_signature_blob 54 26 48.14% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
pki_key_dup 221 89 40.27% ['ssh_pubkey_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_server_fuzzer']
pki_key_to_blob 335 126 37.61% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_get_key_params 44 23 52.27% ['ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_auth_reply_default 51 13 25.49% ['ssh_server_fuzzer']
ssh_channel_free 38 14 36.84% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
ssh_connect 120 61 50.83% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
ssh_packet_client_dhgex_group 118 53 44.91% ['ssh_client_fuzzer_nalloc']
ssh_packet_client_ecdh_reply 45 23 51.11% ['ssh_client_fuzzer_nalloc']
ssh_client_select_hostkeys 70 27 38.57% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
revert_kex_callbacks 45 4 8.888% ['ssh_client_fuzzer_nalloc']
ssh_known_hosts_get_algorithms_names 75 25 33.33% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_options_apply 121 53 43.80% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_server_fuzzer']
ssh_packet_client_sntrup761x25519_reply 64 22 34.37% ['ssh_client_fuzzer_nalloc']
ssh_userauth_get_response 42 13 30.95% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
ssh_channel_read_timeout 64 28 43.75% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
channel_write_common 121 48 39.66% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
channel_request 83 43 51.80% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
ssh_service_request 42 23 54.76% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
evp_cipher_init 42 16 38.09% ['ssh_scp_fuzzer']
ssh_quote_file_name 92 34 36.95% ['ssh_scp_fuzzer']
ssh_options_parse_config 48 26 54.16% ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
pki_import_privkey_buffer 165 26 15.75% ['ssh_server_fuzzer', 'ssh_client_config_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_bind_config_fuzzer', 'ssh_pubkey_fuzzer_nalloc', 'ssh_privkey_fuzzer_nalloc']
pki_private_key_decrypt 103 16 15.53% ['ssh_server_fuzzer', 'ssh_client_config_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer', 'ssh_bind_config_fuzzer', 'ssh_pubkey_fuzzer_nalloc', 'ssh_privkey_fuzzer_nalloc']
ssh_scp_new 38 17 44.73% ['ssh_scp_fuzzer']
ssh_scp_init 100 40 40.0% ['ssh_scp_fuzzer']

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/libssh/src/dh.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/hybrid_mlkem.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/ecdh.c [] []
/src/libssh/src/log.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/tests/fuzz/ssh_client_config_fuzzer.c ['ssh_client_config_fuzzer'] ['ssh_client_config_fuzzer']
/src/libssh/src/knownhosts.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/pki_context.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/connect.c ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] []
/src/libssh/src/server.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/socket.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/token.c ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/tests/fuzz/nallocinc.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/tests/fuzz/ssh_server_fuzzer.c ['ssh_server_fuzzer'] ['ssh_server_fuzzer']
/src/libssh/src/session.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/buffer.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/kex.c ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/threads/pthread.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/ttyopts.c [] []
/src/libssh/src/packet.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/match.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/pki.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/tests/fuzz/ssh_client_fuzzer.c ['ssh_client_fuzzer_nalloc'] ['ssh_client_fuzzer_nalloc']
/src/libssh/src/external/libcrux_mlkem768_sha3.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/external/bcrypt_pbkdf.c ['ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] []
/src/libssh/src/gzip.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/scp.c ['ssh_scp_fuzzer'] ['ssh_scp_fuzzer']
/src/libssh/src/channels.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/mlkem_native.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/pki_container_openssh.c ['ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_pubkey_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/sftp.c ['ssh_sftp_attr_fuzzer_nalloc'] ['ssh_sftp_attr_fuzzer_nalloc']
/src/libssh/src/dh-gex.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc']
/src/libssh/src/dh_crypto.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/crypto_common.c [] []
/src/libssh/src/pki_ed25519_common.c ['ssh_sshsig_fuzzer_nalloc', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_scp_fuzzer']
/src/libssh/tests/fuzz/ssh_scp_fuzzer.c ['ssh_scp_fuzzer'] ['ssh_scp_fuzzer']
/src/libssh/src/options.c ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/sntrup761.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc']
/src/libssh/tests/fuzz/ssh_known_hosts_fuzzer.c ['ssh_known_hosts_fuzzer_nalloc'] ['ssh_known_hosts_fuzzer_nalloc']
/src/libssh/src/mlkem.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/threads.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/wrapper.c ['ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/config.c ['ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_scp_fuzzer']
/src/libssh/tests/fuzz/ssh_bind_config_fuzzer.c ['ssh_bind_config_fuzzer'] ['ssh_bind_config_fuzzer']
/src/libssh/src/bind.c ['ssh_bind_config_fuzzer', 'ssh_server_fuzzer', 'ssh_scp_fuzzer'] ['ssh_bind_config_fuzzer', 'ssh_server_fuzzer', 'ssh_scp_fuzzer']
/src/libssh/src/misc.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/ecdh_crypto.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc']
/src/libssh/src/messages.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_scp_fuzzer']
/src/libssh/src/md_crypto.c ['ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/error.c ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/curve25519_crypto.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/bind_config.c ['ssh_bind_config_fuzzer'] ['ssh_bind_config_fuzzer']
/src/libssh/src/init.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/connector.c ['ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] []
/src/libssh/src/packet_crypt.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/kdf.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/tests/fuzz/ssh_pubkey_fuzzer.c ['ssh_pubkey_fuzzer_nalloc'] ['ssh_pubkey_fuzzer_nalloc']
/src/libssh/src/external/blowfish.c ['ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] []
/src/libssh/src/auth.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/external/sntrup761.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc']
/src/libssh/src/agent.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/threads/libcrypto.c ['ssh_known_hosts_fuzzer_nalloc'] ['ssh_known_hosts_fuzzer_nalloc']
/src/libssh/src/bignum.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc']
/src/libssh/src/packet_cb.c [] []
/src/libssh/tests/fuzz/ssh_sshsig_fuzzer.c ['ssh_sshsig_fuzzer_nalloc'] ['ssh_sshsig_fuzzer_nalloc']
/src/libssh/include/libssh/sftp_priv.h [] []
/src/libssh/src/string.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/config_parser.c ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_bind_config_fuzzer', 'ssh_client_config_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/getrandom_crypto.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/tests/fuzz/ssh_server_mock.c ['ssh_scp_fuzzer'] ['ssh_scp_fuzzer']
/src/libssh/src/poll.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/callbacks.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/client.c ['ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/sftp_common.c ['ssh_sftp_attr_fuzzer_nalloc'] ['ssh_sftp_attr_fuzzer_nalloc']
/src/libssh/src/curve25519.c ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/tests/fuzz/ssh_sftp_attr_fuzzer.c ['ssh_sftp_attr_fuzzer_nalloc'] ['ssh_sftp_attr_fuzzer_nalloc']
/src/libssh/src/libcrypto.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/pki_crypto.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/sftpserver.c [] []
/src/libssh/tests/fuzz/ssh_privkey_fuzzer.c ['ssh_privkey_fuzzer_nalloc'] ['ssh_privkey_fuzzer_nalloc']
/src/libssh/src/base64.c ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_bind_config_fuzzer', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] ['ssh_known_hosts_fuzzer_nalloc', 'ssh_sshsig_fuzzer_nalloc', 'ssh_privkey_fuzzer_nalloc', 'ssh_pubkey_fuzzer_nalloc', 'ssh_scp_fuzzer']
/src/libssh/src/pcap.c ['ssh_client_config_fuzzer', 'ssh_sftp_attr_fuzzer_nalloc', 'ssh_server_fuzzer', 'ssh_client_fuzzer_nalloc', 'ssh_scp_fuzzer'] []

Directories in report

Directory
/src/libssh/src/
/src/libssh/include/libssh/
/src/libssh/tests/fuzz/
/src/libssh/src/external/
/src/libssh/src/threads/