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

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
17 108 paramiko.packet.Packetizer._build_packet call site: 00108 paramiko.util.format_binary
6 33 cryptography.hazmat.primitives.ciphers.modes.CBC.__init__ call site: 00033 paramiko.common.byte_chr
5 0 EP call site: 00000 paramiko.packet.Packetizer.__init__
5 40 paramiko.message.Message.__init__ call site: 00040 paramiko.message.Message.add
3 133 paramiko.packet.Packetizer.write_all call site: 00133 paramiko.packet.first_arg
3 138 paramiko.packet.Packetizer.send_message call site: 00138 paramiko.packet.Packetizer._log
2 68 paramiko.util.b call site: 00068 paramiko.message.Message.asbytes
1 10 paramiko.packet.Packetizer.__init__ call site: 00010 cryptography.hazmat.primitives.ciphers.base.Cipher.__init__
1 19 cryptography.hazmat.primitives.ciphers.modes._check_iv_length call site: 00019 cryptography.hazmat.primitives.ciphers.base.Cipher.encryptor
1 60 paramiko.common.byte_ord call site: 00060 .ord
1 71 paramiko.message.Message.asbytes call site: 00071 base64.encodebytes.asbytes

Fuzzer calltree

0 ...paramiko.tests.fuzz_packetizer.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 _loop.LoopSocket [function] [call site] 00002
1 _loop.LoopSocket [function] [call site] 00003
1 _loop.LoopSocket.link [function] [call site] 00004
1 paramiko.packet.Packetizer.__init__ [function] [call site] 00005
2 <builtin>.bytes [function] [call site] 00006
2 <builtin>.bytes [function] [call site] 00007
2 <builtin>.bytes [function] [call site] 00008
2 threading.RLock [function] [call site] 00009
2 time.time [function] [call site] 00010
1 cryptography.hazmat.primitives.ciphers.base.Cipher.__init__ [function] [call site] 00011
2 <builtin>.isinstance [function] [call site] 00012
2 <builtin>.isinstance [function] [call site] 00013
2 cryptography.hazmat.primitives.ciphers.modes._check_aes_key_length [function] [call site] 00014
2 cryptography.hazmat.primitives.ciphers.modes._check_iv_and_key_length [function] [call site] 00015
3 <builtin>.isinstance [function] [call site] 00016
3 cryptography.hazmat.primitives.ciphers.modes._check_aes_key_length [function] [call site] 00017
3 cryptography.hazmat.primitives.ciphers.modes._check_iv_length [function] [call site] 00018
4 <builtin>.len [function] [call site] 00019
1 cryptography.hazmat.primitives.ciphers.base.Cipher.encryptor [function] [call site] 00020
2 <builtin>.isinstance [function] [call site] 00021
2 cryptography.hazmat.bindings._rust.openssl.ciphers.create_encryption_ctx [function] [call site] 00022
1 cryptography.hazmat.primitives.ciphers.algorithms.AES.__init__ [function] [call site] 00023
2 cryptography.hazmat.primitives._cipheralgorithm._verify_key_size [function] [call site] 00024
3 cryptography.utils._check_byteslike [function] [call site] 00025
4 <builtin>.memoryview [function] [call site] 00026
3 <builtin>.len [function] [call site] 00027
1 fdp.ConsumeIntInRange [function] [call site] 00028
1 paramiko.common.byte_chr [function] [call site] 00029
2 <builtin>.isinstance [function] [call site] 00030
2 struct.pack [function] [call site] 00031
1 cryptography.hazmat.primitives.ciphers.modes.CBC.__init__ [function] [call site] 00032
2 cryptography.utils._check_byteslike [function] [call site] 00033
1 cryptography.hazmat.backends.default_backend [function] [call site] 00034
1 paramiko.packet.Packetizer.set_outbound_cipher [function] [call site] 00035
1 fdp.ConsumeIntInRange [function] [call site] 00036
1 paramiko.common.byte_chr [function] [call site] 00037
1 paramiko.message.Message.__init__ [function] [call site] 00038
2 io.BytesIO [function] [call site] 00039
2 io.BytesIO [function] [call site] 00040
1 fdp.ConsumeIntInRange [function] [call site] 00041
1 <builtin>.range [function] [call site] 00042
1 fdp.ConsumeIntInRange [function] [call site] 00043
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00044
1 paramiko.message.Message.add [function] [call site] 00045
2 paramiko.message.Message._add [function] [call site] 00046
3 <builtin>.type [function] [call site] 00047
3 paramiko.message.Message.add_boolean [function] [call site] 00048
4 io.BytesIO.write [function] [call site] 00049
4 io.BytesIO.write [function] [call site] 00050
3 <builtin>.isinstance [function] [call site] 00051
3 paramiko.message.Message.add_adaptive_int [function] [call site] 00052
4 io.BytesIO.write [function] [call site] 00053
4 paramiko.util.deflate_long [function] [call site] 00054
5 <builtin>.bytes [function] [call site] 00055
5 <builtin>.int [function] [call site] 00056
5 struct.pack [function] [call site] 00057
5 <builtin>.enumerate [function] [call site] 00058
5 paramiko.common.byte_ord [function] [call site] 00059
6 <builtin>.isinstance [function] [call site] 00060
6 <builtin>.ord [function] [call site] 00061
5 paramiko.common.byte_ord [function] [call site] 00062
4 paramiko.message.Message.add_string [function] [call site] 00063
5 paramiko.util.asbytes [function] [call site] 00064
6 paramiko.util.b [function] [call site] 00065
7 <builtin>.isinstance [function] [call site] 00066
7 <builtin>.isinstance [function] [call site] 00067
7 base64.decodebytes.encode [function] [call site] 00068
6 base64.decodebytes.asbytes [function] [call site] 00069
6 paramiko.message.Message.asbytes [function] [call site] 00070
7 io.BytesIO.getvalue [function] [call site] 00071
6 base64.encodebytes.asbytes [function] [call site] 00072
5 <builtin>.len [function] [call site] 00073
5 paramiko.message.Message.add_int [function] [call site] 00074
6 struct.pack [function] [call site] 00075
6 io.BytesIO.write [function] [call site] 00076
5 io.BytesIO.write [function] [call site] 00077
4 struct.pack [function] [call site] 00078
4 io.BytesIO.write [function] [call site] 00079
3 <builtin>.type [function] [call site] 00080
3 paramiko.message.Message.add_list [function] [call site] 00081
4 paramiko.message.Message.add_string [function] [call site] 00082
3 paramiko.message.Message.add_string [function] [call site] 00083
1 fdp.ConsumeIntInRange [function] [call site] 00084
1 paramiko.message.Message.add [function] [call site] 00085
1 fdp.ConsumeBool [function] [call site] 00086
1 paramiko.message.Message.add [function] [call site] 00087
1 <builtin>.list [function] [call site] 00088
1 <builtin>.range [function] [call site] 00089
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00090
1 l1.append [function] [call site] 00091
1 paramiko.message.Message.add [function] [call site] 00092
1 fdp.ConsumeBytes [function] [call site] 00093
1 paramiko.message.Message.add_bytes [function] [call site] 00094
2 io.BytesIO.write [function] [call site] 00095
1 fdp.ConsumeIntInRange [function] [call site] 00096
1 paramiko.common.byte_chr [function] [call site] 00097
1 paramiko.message.Message.add_byte [function] [call site] 00098
2 io.BytesIO.write [function] [call site] 00099
1 paramiko.packet.Packetizer.send_message [function] [call site] 00100
2 paramiko.message.Message.asbytes [function] [call site] 00101
2 paramiko.common.byte_ord [function] [call site] 00102
2 <builtin>.len [function] [call site] 00103
2 paramiko.packet.Packetizer._build_packet [function] [call site] 00104
3 <builtin>.len [function] [call site] 00105
3 <builtin>.len [function] [call site] 00106
3 struct.pack [function] [call site] 00107
3 os.urandom [function] [call site] 00108
2 paramiko.packet.Packetizer._log [function] [call site] 00109
3 <builtin>.type [function] [call site] 00110
3 <builtin>.issubclass [function] [call site] 00111
2 paramiko.util.format_binary [function] [call site] 00112
3 <builtin>.len [function] [call site] 00113
3 paramiko.util.format_binary_line [function] [call site] 00114
4 paramiko.common.byte_ord [function] [call site] 00115
4 paramiko.common.byte_ord [function] [call site] 00116
4 paramiko.common.byte_ord [function] [call site] 00117
3 out.append [function] [call site] 00118
3 <builtin>.len [function] [call site] 00119
3 paramiko.util.format_binary_line [function] [call site] 00120
3 out.append [function] [call site] 00121
2 paramiko.packet.Packetizer._log [function] [call site] 00122
2 paramiko.packet.Packetizer._inc_iv_counter [function] [call site] 00123
3 int.from_bytes [function] [call site] 00124
3 inc_iv_counter.to_bytes [function] [call site] 00125
2 struct.pack [function] [call site] 00126
2 paramiko.packet.compute_hmac [function] [call site] 00127
3 hmac.HMAC [function] [call site] 00128
3 hmac.HMAC.digest [function] [call site] 00129
2 paramiko.packet.Packetizer.write_all [function] [call site] 00130
3 time.time [function] [call site] 00131
3 <builtin>.len [function] [call site] 00132
3 _loop.LoopSocket.send [function] [call site] 00133
3 paramiko.packet.first_arg [function] [call site] 00134
4 <builtin>.type [function] [call site] 00135
4 <builtin>.len [function] [call site] 00136
3 <builtin>.len [function] [call site] 00137
2 <builtin>.len [function] [call site] 00138
2 paramiko.packet.Packetizer._log [function] [call site] 00139
2 msg.format [function] [call site] 00140
2 paramiko.packet.Packetizer._trigger_rekey [function] [call site] 00141
1 _loop.LoopSocket.recv [function] [call site] 00142