Fuzz introspector: fuzz_serialization
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
35 24 jupyter_client.session.json_packer call site: 00024 jupyter_client.jsonutil.json_clean
13 10 jupyter_client.session.Session._check_packers call site: 00010 jupyter_client.session.Session._check_packers.
6 106 jupyter_client.session.Session.msg call site: 00106 fdp.ConsumeBytes
4 64 jupyter_client.session.Session._check_packers call site: 00064 jupyter_client.session.Session._check_packers.
3 142 jupyter_client.jsonutil.parse_date call site: 00142 warnings.warn
2 97 jupyter_client.session.Session._new_auth call site: 00097 traitlets.log.get_logger
2 103 jupyter_client.session.Session.msg call site: 00103 .isinstance
1 71 jupyter_client.session.json_unpacker call site: 00071 pickle.loads
1 136 jupyter_client.jsonutil.extract_dates call site: 00136 jupyter_client.jsonutil.extract_dates

Fuzzer calltree

0 ...fuzz_serialization.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 fdp.ConsumeString [function] [call site] 00002
1 fdp.ConsumeString [function] [call site] 00003
1 <builtin>.len [function] [call site] 00004
1 <builtin>.len [function] [call site] 00005
1 jupyter_client.session.Session.__init__ [function] [call site] 00006
2 <builtin>.super [function] [call site] 00007
2 jupyter_client.session.Session._check_packers [function] [call site] 00008
3 traitlets.Any [function] [call site] 00009
3 jupyter_client.session.Session._check_packers.<lambda1> [function] [call site] 00010
4 jupyter_client.jsonutil.squash_dates [function] [call site] 00011
5 <builtin>.isinstance [function] [call site] 00012
5 <builtin>.dict [function] [call site] 00013
5 obj.items [function] [call site] 00014
5 jupyter_client.jsonutil.squash_dates [function] [call site] 00015
5 <builtin>.isinstance [function] [call site] 00016
5 jupyter_client.jsonutil.squash_dates [function] [call site] 00017
5 <builtin>.isinstance [function] [call site] 00018
5 obj.isoformat [function] [call site] 00019
4 traitlets.Any [function] [call site] 00020
4 jupyter_client.session.Session._check_packers.<lambda1> [function] [call site] 00021
4 traitlets.utils.importstring.import_item [function] [call site] 00022
4 jupyter_client.session.json_packer [function] [call site] 00023
5 json.dumps [function] [call site] 00024
5 json.dumps [function] [call site] 00025
5 jupyter_client.jsonutil.json_clean [function] [call site] 00026
6 <builtin>.type [function] [call site] 00027
6 <builtin>.isinstance [function] [call site] 00028
6 <builtin>.isinstance [function] [call site] 00029
6 <builtin>.int [function] [call site] 00030
6 <builtin>.isinstance [function] [call site] 00031
6 math.isnan [function] [call site] 00032
6 math.isinf [function] [call site] 00033
6 <builtin>.repr [function] [call site] 00034
6 <builtin>.float [function] [call site] 00035
6 <builtin>.isinstance [function] [call site] 00036
6 <builtin>.isinstance [function] [call site] 00037
6 binascii.b2a_base64 [function] [call site] 00038
6 binascii.b2a_base64.decode [function] [call site] 00039
6 <builtin>.isinstance [function] [call site] 00040
6 <builtin>.hasattr [function] [call site] 00041
6 <builtin>.hasattr [function] [call site] 00042
6 <builtin>.list [function] [call site] 00043
6 <builtin>.isinstance [function] [call site] 00044
6 jupyter_client.jsonutil.json_clean [function] [call site] 00045
6 <builtin>.isinstance [function] [call site] 00046
6 <builtin>.len [function] [call site] 00047
6 <builtin>.map [function] [call site] 00048
6 <builtin>.set [function] [call site] 00049
6 <builtin>.len [function] [call site] 00050
6 obj.items [function] [call site] 00051
6 <builtin>.str [function] [call site] 00052
6 jupyter_client.jsonutil.json_clean [function] [call site] 00053
6 <builtin>.isinstance [function] [call site] 00054
6 obj.strftime [function] [call site] 00055
5 warnings.warn [function] [call site] 00056
4 jupyter_client.session.pickle_packer [function] [call site] 00057
5 jupyter_client.jsonutil.squash_dates [function] [call site] 00058
5 pickle.dumps [function] [call site] 00059
3 traitlets.utils.importstring.import_item [function] [call site] 00060
3 jupyter_client.session.json_packer [function] [call site] 00061
3 jupyter_client.session.pickle_packer [function] [call site] 00062
3 <builtin>.isinstance [function] [call site] 00063
3 jupyter_client.session.Session._check_packers.<lambda2> [function] [call site] 00064
4 jupyter_client.session.Session._check_packers.<lambda2> [function] [call site] 00065
4 traitlets.Any [function] [call site] 00066
4 traitlets.utils.importstring.import_item [function] [call site] 00067
4 jupyter_client.session.json_unpacker [function] [call site] 00068
5 <builtin>.isinstance [function] [call site] 00069
5 json.loads [function] [call site] 00071
4 pickle.loads [function] [call site] 00072
3 traitlets.Any [function] [call site] 00073
3 traitlets.utils.importstring.import_item [function] [call site] 00074
3 jupyter_client.session.json_unpacker [function] [call site] 00075
3 pickle.loads [function] [call site] 00076
3 jupyter_client.session.utcnow [function] [call site] 00077
4 datetime.datetime.now [function] [call site] 00078
3 traitlets.Any [function] [call site] 00079
3 jupyter_client.session.Session._check_packers.<lambda1> [function] [call site] 00080
3 traitlets.utils.importstring.import_item [function] [call site] 00081
3 jupyter_client.session.json_packer [function] [call site] 00082
3 jupyter_client.session.pickle_packer [function] [call site] 00083
3 jupyter_client.session.Session._check_packers.<lambda2> [function] [call site] 00084
3 traitlets.Any [function] [call site] 00085
3 traitlets.utils.importstring.import_item [function] [call site] 00086
3 jupyter_client.session.json_unpacker [function] [call site] 00087
3 pickle.loads [function] [call site] 00088
3 <builtin>.isinstance [function] [call site] 00089
2 traitlets.Any [function] [call site] 00090
2 jupyter_client.session.Session._check_packers.<lambda1> [function] [call site] 00091
2 traitlets.utils.importstring.import_item [function] [call site] 00092
2 jupyter_client.session.json_packer [function] [call site] 00093
2 jupyter_client.session.pickle_packer [function] [call site] 00094
2 os.getpid [function] [call site] 00095
2 jupyter_client.session.Session._new_auth [function] [call site] 00096
3 hmac.HMAC [function] [call site] 00097
2 traitlets.log.get_logger [function] [call site] 00098
2 traitlets.log.get_logger.warning [function] [call site] 00099
1 jupyter_client.session.Session.msg [function] [call site] 00100
2 jupyter_client.session.Session.msg_header [function] [call site] 00101
3 jupyter_client.session.Session.msg_header [function] [call site] 00102
2 jupyter_client.session.extract_header [function] [call site] 00103
3 <builtin>.isinstance [function] [call site] 00104
3 <builtin>.dict [function] [call site] 00105
2 traitlets.Dict.copy [function] [call site] 00106
1 fdp.ConsumeBytes [function] [call site] 00107
1 <builtin>.memoryview [function] [call site] 00108
1 fdp.ConsumeBytes [function] [call site] 00109
1 <builtin>.memoryview [function] [call site] 00110
1 fdp.ConsumeBytes [function] [call site] 00111
1 <builtin>.memoryview [function] [call site] 00112
1 jupyter_server.services.kernels.connection.base.serialize_binary_message [function] [call site] 00113
2 <builtin>.list [function] [call site] 00116
2 json.dumps [function] [call site] 00117
2 buffers.insert [function] [call site] 00118
2 <builtin>.len [function] [call site] 00119
2 <builtin>.len [function] [call site] 00120
2 offsets.append [function] [call site] 00121
2 struct.pack [function] [call site] 00122
2 buffers.insert [function] [call site] 00123
1 jupyter_server.services.kernels.connection.base.deserialize_binary_message [function] [call site] 00124
2 struct.unpack [function] [call site] 00125
2 struct.unpack [function] [call site] 00126
2 <builtin>.list [function] [call site] 00127
2 offsets.append [function] [call site] 00128
2 <builtin>.zip [function] [call site] 00129
2 bufs.append [function] [call site] 00130
2 json.loads [function] [call site] 00131
2 jupyter_client.jsonutil.extract_dates [function] [call site] 00132
3 <builtin>.isinstance [function] [call site] 00133
3 dateutil.parser.isoparse.items [function] [call site] 00134
3 jupyter_client.jsonutil.extract_dates [function] [call site] 00135
3 <builtin>.isinstance [function] [call site] 00136
3 jupyter_client.jsonutil.extract_dates [function] [call site] 00137
3 <builtin>.isinstance [function] [call site] 00138
3 jupyter_client.jsonutil.parse_date [function] [call site] 00139
4 ISO8601_PAT.match [function] [call site] 00140
4 dateutil.parser.isoparse [function] [call site] 00141
4 jupyter_client.jsonutil._ensure_tzinfo [function] [call site] 00142
5 warnings.warn [function] [call site] 00143
5 dateutil.tz.tzlocal [function] [call site] 00144
5 dateutil.parser.isoparse.replace [function] [call site] 00145
2 jupyter_client.jsonutil.extract_dates [function] [call site] 00146