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 25 jupyter_client.session.json_packer call site: {node_id} jupyter_client.jsonutil.json_clean
13 11 jupyter_client.session.Session._check_packers call site: {node_id} jupyter_client.session.Session._check_packers.
6 106 jupyter_client.session.Session.msg call site: {node_id} fdp.ConsumeBytes
4 66 jupyter_client.session.Session._check_packers call site: {node_id} jupyter_client.session.Session._check_packers.
3 142 jupyter_client.jsonutil.parse_date call site: {node_id} warnings.warn
2 97 jupyter_client.session.Session._new_auth call site: {node_id} traitlets.log.get_logger
2 103 jupyter_client.session.Session.msg call site: {node_id} .isinstance
1 73 jupyter_client.session.json_unpacker call site: {node_id} pickle.loads
1 136 jupyter_client.jsonutil.extract_dates call site: {node_id} 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 jupyter_client.session.Session.__init__ [function] [call site] 00006
2 jupyter_client.session.Session._check_packers [function] [call site] 00008
3 traitlets.utils.importstring.import_item [function] [call site] 00009
3 traitlets.Any [function] [call site] 00010
3 jupyter_client.session.Session._check_packers. [function] [call site] 00011
4 jupyter_client.jsonutil.squash_dates [function] [call site] 00012
5 .isinstance [function] [call site] 00013
5 obj.items [function] [call site] 00015
5 jupyter_client.jsonutil.squash_dates [function] [call site] 00016
5 .isinstance [function] [call site] 00017
5 jupyter_client.jsonutil.squash_dates [function] [call site] 00018
5 .isinstance [function] [call site] 00019
5 obj.isoformat [function] [call site] 00020
4 traitlets.utils.importstring.import_item [function] [call site] 00021
4 traitlets.Any [function] [call site] 00022
4 jupyter_client.session.Session._check_packers. [function] [call site] 00023
4 jupyter_client.session.json_packer [function] [call site] 00024
5 json.dumps [function] [call site] 00025
5 json.dumps [function] [call site] 00026
5 jupyter_client.jsonutil.json_clean [function] [call site] 00027
6 .isinstance [function] [call site] 00029
6 .isinstance [function] [call site] 00030
6 .isinstance [function] [call site] 00032
6 math.isnan [function] [call site] 00033
6 math.isinf [function] [call site] 00034
6 .isinstance [function] [call site] 00037
6 .isinstance [function] [call site] 00038
6 binascii.b2a_base64 [function] [call site] 00039
6 binascii.b2a_base64.decode [function] [call site] 00040
6 .isinstance [function] [call site] 00041
6 .isinstance [function] [call site] 00045
6 jupyter_client.jsonutil.json_clean [function] [call site] 00046
6 .isinstance [function] [call site] 00047
6 obj.items [function] [call site] 00052
6 jupyter_client.jsonutil.json_clean [function] [call site] 00054
6 .isinstance [function] [call site] 00055
6 obj.strftime [function] [call site] 00056
5 warnings.warn [function] [call site] 00057
4 jupyter_client.session.pickle_packer [function] [call site] 00058
5 jupyter_client.jsonutil.squash_dates [function] [call site] 00059
5 pickle.dumps [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 .isinstance [function] [call site] 00063
3 traitlets.utils.importstring.import_item [function] [call site] 00064
3 traitlets.Any [function] [call site] 00065
3 jupyter_client.session.Session._check_packers. [function] [call site] 00066
4 traitlets.utils.importstring.import_item [function] [call site] 00067
4 traitlets.Any [function] [call site] 00068
4 jupyter_client.session.Session._check_packers. [function] [call site] 00069
4 jupyter_client.session.json_unpacker [function] [call site] 00070
5 .isinstance [function] [call site] 00071
5 json.loads [function] [call site] 00073
4 pickle.loads [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.utcnow [function] [call site] 00078
3 traitlets.utils.importstring.import_item [function] [call site] 00079
3 traitlets.Any [function] [call site] 00080
3 jupyter_client.session.Session._check_packers. [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 traitlets.utils.importstring.import_item [function] [call site] 00084
3 traitlets.Any [function] [call site] 00085
3 jupyter_client.session.Session._check_packers. [function] [call site] 00086
3 jupyter_client.session.json_unpacker [function] [call site] 00087
3 pickle.loads [function] [call site] 00088
3 .isinstance [function] [call site] 00089
2 traitlets.utils.importstring.import_item [function] [call site] 00090
2 traitlets.Any [function] [call site] 00091
2 jupyter_client.session.Session._check_packers. [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
2 traitlets.Dict.copy [function] [call site] 00106
1 fdp.ConsumeBytes [function] [call site] 00107
1 .memoryview [function] [call site] 00108
1 fdp.ConsumeBytes [function] [call site] 00109
1 .memoryview [function] [call site] 00110
1 fdp.ConsumeBytes [function] [call site] 00111
1 .memoryview [function] [call site] 00112
1 jupyter_server.services.kernels.connection.base.serialize_binary_message [function] [call site] 00113
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 offsets.append [function] [call site] 00128
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 .isinstance [function] [call site] 00133
3 dateutil.parser.parse.items [function] [call site] 00134
3 jupyter_client.jsonutil.extract_dates [function] [call site] 00135
3 .isinstance [function] [call site] 00136
3 jupyter_client.jsonutil.extract_dates [function] [call site] 00137
3 .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.parse [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.parse.replace [function] [call site] 00145
2 jupyter_client.jsonutil.extract_dates [function] [call site] 00146