Fuzz introspector: fuzz_jwt_roundtrip
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
132 176 google.auth.jwt.decode call site: 00176 google.oauth2.service_account.IDTokenCredentials._make_authorization_grant_assertion
117 38 google.auth.jwt.encode call site: 00038 google.auth.iam.Signer._make_signing_request
13 9 google.auth.crypt._cryptography_rsa.RSASigner.from_string call site: 00009 google.auth.crypt._python_rsa.RSASigner.from_string
2 23 ...fuzz_jwt_roundtrip.test_roundtrip_unverified call site: 00023 fdp.ConsumeString
2 26 ...fuzz_jwt_roundtrip.test_roundtrip_unverified call site: 00026 google.auth.jwt.encode
2 32 google.auth.jwt.encode call site: 00032 google.auth._helpers.unpadded_urlsafe_b64encode
2 35 google.auth._helpers.unpadded_urlsafe_b64encode call site: 00035 google.auth._helpers.unpadded_urlsafe_b64encode
1 0 EP call site: 00000 ...fuzz_jwt_roundtrip.test_roundtrip_unverified
1 2 ...fuzz_jwt_roundtrip.test_roundtrip_unverified call site: 00002 google.auth.crypt._cryptography_rsa.RSASigner.from_string
1 30 google.auth.jwt.encode call site: 00030 header.update
1 157 google.auth.exceptions.GoogleAuthError.__init__ call site: 00157 google.auth.jwt.decode

Fuzzer calltree

0 ...fuzz_jwt_roundtrip.TestOneInput [function] [call site] 00000
1 ...fuzz_jwt_roundtrip.test_roundtrip_unverified [function] [call site] 00001
2 atheris.FuzzedDataProvider [function] [call site] 00002
2 google.auth.crypt._cryptography_rsa.RSASigner.from_string [function] [call site] 00003
3 google.auth._helpers.to_bytes [function] [call site] 00004
4 <builtin>.isinstance [function] [call site] 00005
4 value.encode [function] [call site] 00006
4 <builtin>.isinstance [function] [call site] 00007
3 cryptography.hazmat.primitives.serialization.load_pem_private_key [function] [call site] 00008
3 google.auth.crypt._cryptography_rsa.RSASigner.__init__ [function] [call site] 00009
2 google.auth.crypt._python_rsa.RSASigner.from_string [function] [call site] 00010
3 google.auth._helpers.from_bytes [function] [call site] 00011
4 <builtin>.isinstance [function] [call site] 00012
4 value.decode [function] [call site] 00013
4 <builtin>.isinstance [function] [call site] 00014
3 pyasn1_modules.pem.readPemBlocksFromFile [function] [call site] 00015
3 io.StringIO [function] [call site] 00016
3 rsa.key.PrivateKey.load_pkcs1 [function] [call site] 00017
3 pyasn1.codec.der.decoder.decode [function] [call site] 00018
3 key_info.getComponentByName [function] [call site] 00019
3 rsa.key.PrivateKey.load_pkcs1 [function] [call site] 00020
3 private_key_info.asOctets [function] [call site] 00021
3 google.auth.crypt._python_rsa.RSASigner.__init__ [function] [call site] 00022
2 fdp.ConsumeIntInRange [function] [call site] 00023
2 fdp.ConsumeString [function] [call site] 00024
2 fdp.ConsumeIntInRange [function] [call site] 00025
2 fdp.ConsumeString [function] [call site] 00026
2 fdp.ConsumeString [function] [call site] 00027
2 google.auth.jwt.encode [function] [call site] 00028
3 header.update [function] [call site] 00029
3 <builtin>.isinstance [function] [call site] 00030
3 header.update [function] [call site] 00031
3 header.update [function] [call site] 00032
3 json.dumps [function] [call site] 00033
3 google.auth._helpers.unpadded_urlsafe_b64encode [function] [call site] 00034
4 base64.urlsafe_b64encode [function] [call site] 00035
3 json.dumps [function] [call site] 00036
3 google.auth._helpers.unpadded_urlsafe_b64encode [function] [call site] 00037
3 google.auth.iam.Signer.sign [function] [call site] 00038
4 google.auth.iam.Signer._make_signing_request [function] [call site] 00039
5 google.auth._exponential_backoff.ExponentialBackoff.__iter__ [function] [call site] 00040
6 google.auth._exponential_backoff._BaseExponentialBackoff._reset [function] [call site] 00041
5 google.auth._exponential_backoff.ExponentialBackoff.__next__ [function] [call site] 00042
6 google.auth._exponential_backoff._BaseExponentialBackoff._calculate_jitter [function] [call site] 00043
7 random.uniform [function] [call site] 00044
6 time.sleep [function] [call site] 00045
5 google.auth._helpers.to_bytes [function] [call site] 00046
5 _IAM_SIGN_ENDPOINT.replace [function] [call site] 00047
5 json.dumps [function] [call site] 00048
5 base64.b64encode [function] [call site] 00049
5 google.auth._exponential_backoff.ExponentialBackoff.__init__ [function] [call site] 00050
6 <builtin>.super [function] [call site] 00051
5 google.auth.credentials.Credentials.before_request [function] [call site] 00052
6 google.auth.credentials.Credentials._non_blocking_refresh [function] [call site] 00053
7 google.auth._refresh_worker.RefreshThreadManager.start_refresh [function] [call site] 00054
8 threading.Thread.is_alive [function] [call site] 00055
8 copy.deepcopy [function] [call site] 00056
8 google.auth._refresh_worker.RefreshThread.__init__ [function] [call site] 00057
9 <builtin>.super [function] [call site] 00058
8 threading.Thread.start [function] [call site] 00059
7 google.auth.external_account_authorized_user.Credentials.refresh [function] [call site] 00060
8 google.auth._helpers.utcnow [function] [call site] 00061
9 datetime.datetime.now [function] [call site] 00062
9 now.replace [function] [call site] 00063
8 google.auth.external_account_authorized_user.Credentials._make_sts_request [function] [call site] 00064
9 google.oauth2.sts.Client.refresh_token [function] [call site] 00065
10 google.oauth2.sts.Client._make_request [function] [call site] 00066
11 _URLENCODED_HEADERS.copy [function] [call site] 00067
11 <builtin>.dict [function] [call site] 00068
11 google.oauth2.utils.OAuthClientAuthHandler.apply_client_authentication_options [function] [call site] 00069
12 google.oauth2.utils.OAuthClientAuthHandler._inject_authenticated_headers [function] [call site] 00070
13 base64.b64encode [function] [call site] 00071
12 google.oauth2.utils.OAuthClientAuthHandler._inject_authenticated_request_body [function] [call site] 00072
11 urllib.parse.urlencode [function] [call site] 00073
11 response.data.decode [function] [call site] 00074
11 <builtin>.hasattr [function] [call site] 00075
11 google.oauth2.utils.handle_error_response [function] [call site] 00076
12 json.loads [function] [call site] 00077
12 error_components.append [function] [call site] 00078
12 error_components.append [function] [call site] 00079
12 error_components.append [function] [call site] 00080
11 json.loads [function] [call site] 00081
8 response_data.get [function] [call site] 00082
8 response_data.get [function] [call site] 00083
8 datetime.timedelta [function] [call site] 00084
7 google.auth.app_engine.Credentials.refresh [function] [call site] 00085
8 google.appengine.api.app_identity.get_access_token [function] [call site] 00086
8 datetime.datetime.utcfromtimestamp [function] [call site] 00087
7 google.auth.external_account.Credentials.refresh [function] [call site] 00088
8 google.auth.external_account.Credentials._mtls_required [function] [call site] 00089
8 functools.partial [function] [call site] 00090
8 google.auth.external_account.Credentials._get_mtls_cert_and_key_paths [function] [call site] 00091
8 google.auth.external_account.Credentials._should_initialize_impersonated_credentials [function] [call site] 00092
8 google.auth.external_account.Credentials._initialize_impersonated_credentials [function] [call site] 00093
9 google.auth.external_account.Credentials._constructor_args [function] [call site] 00094
10 copy.deepcopy [function] [call site] 00095
10 copy.deepcopy [function] [call site] 00096
10 args.pop [function] [call site] 00097
9 kwargs.update [function] [call site] 00098
9 google.auth.impersonated_credentials.Credentials.__init__ [function] [call site] 00099
10 <builtin>.super [function] [call site] 00100
10 copy.copy [function] [call site] 00101
10 <builtin>.isinstance [function] [call site] 00102
10 <builtin>.hasattr [function] [call site] 00103
10 google.auth._helpers.utcnow [function] [call site] 00104
8 google.auth.app_engine.Credentials.refresh [function] [call site] 00105
8 google.auth.external_account.Credentials.refresh [function] [call site] 00106
8 google.auth._helpers.utcnow [function] [call site] 00107
8 google.auth.metrics.byoid_metrics_header [function] [call site] 00108
9 google.auth.metrics.python_and_auth_lib_version [function] [call site] 00109
10 platform.python_version [function] [call site] 00110
9 metrics_options.items [function] [call site] 00111
8 google.oauth2.sts.Client.exchange_token [function] [call site] 00112
9 json.dumps [function] [call site] 00113
9 urllib.parse.quote [function] [call site] 00114
9 <builtin>.dict [function] [call site] 00115
9 google.oauth2.sts.Client._make_request [function] [call site] 00116
8 google.auth.external_account.Credentials.retrieve_subject_token [function] [call site] 00117
8 response_data.get [function] [call site] 00118
8 response_data.get [function] [call site] 00119
8 <builtin>.isinstance [function] [call site] 00120
8 <builtin>.int [function] [call site] 00121
8 datetime.timedelta [function] [call site] 00122
7 google.auth.api_key.Credentials.refresh [function] [call site] 00123
7 google.oauth2.service_account.IDTokenCredentials.refresh [function] [call site] 00124
8 google.oauth2.service_account.IDTokenCredentials._refresh_with_iam_endpoint [function] [call site] 00125
9 google.auth.jwt.Credentials.from_signing_credentials [function] [call site] 00126
10 kwargs.setdefault [function] [call site] 00127
10 kwargs.setdefault [function] [call site] 00128
10 google.auth.jwt.Credentials.__init__ [function] [call site] 00129
11 <builtin>.super [function] [call site] 00130
9 jwt_credentials.refresh [function] [call site] 00131
9 google.oauth2._client.call_iam_generate_id_token_endpoint [function] [call site] 00132
10 google.oauth2._client._token_endpoint_request [function] [call site] 00133
11 google.oauth2._client._token_endpoint_request_no_throw [function] [call site] 00134
12 google.auth._exponential_backoff.ExponentialBackoff.__iter__ [function] [call site] 00135
12 google.auth._exponential_backoff.ExponentialBackoff.__next__ [function] [call site] 00136
12 json.dumps [function] [call site] 00137
12 urllib.parse.urlencode [function] [call site] 00138
12 headers_to_use.update [function] [call site] 00139
12 google.auth._exponential_backoff.ExponentialBackoff.__init__ [function] [call site] 00140
12 response.data.decode [function] [call site] 00141
12 <builtin>.hasattr [function] [call site] 00142
12 json.loads [function] [call site] 00143
12 google.oauth2._client._can_retry [function] [call site] 00144
13 response_data.get [function] [call site] 00145
13 response_data.get [function] [call site] 00146
13 <builtin>.isinstance [function] [call site] 00147
13 <builtin>.isinstance [function] [call site] 00148
13 <builtin>.any [function] [call site] 00149
11 google.oauth2._client._handle_error_response [function] [call site] 00150
12 <builtin>.isinstance [function] [call site] 00151
12 response_data.get [function] [call site] 00152
12 json.dumps [function] [call site] 00153
10 iam_id_token_endpoint.replace [function] [call site] 00154
10 google.auth.exceptions.GoogleAuthError.__init__ [function] [call site] 00155
11 <builtin>.super [function] [call site] 00156
11 kwargs.get [function] [call site] 00157
10 google.auth.jwt.decode [function] [call site] 00158
11 google.auth.jwt._unverified_decode [function] [call site] 00159
12 google.auth._helpers.to_bytes [function] [call site] 00160
12 token.count [function] [call site] 00161
12 token.split [function] [call site] 00162
12 google.auth._helpers.padded_urlsafe_b64decode [function] [call site] 00163
13 google.auth._helpers.to_bytes [function] [call site] 00164
13 <builtin>.len [function] [call site] 00165
13 base64.urlsafe_b64decode [function] [call site] 00166
12 google.auth.jwt._decode_jwt_segment [function] [call site] 00167
13 google.auth._helpers.padded_urlsafe_b64decode [function] [call site] 00168
13 section_bytes.decode [function] [call site] 00169
13 json.loads [function] [call site] 00170
13 google.auth.exceptions.GoogleAuthError.__init__ [function] [call site] 00171
12 google.auth.jwt._decode_jwt_segment [function] [call site] 00172
12 <builtin>.isinstance [function] [call site] 00173
12 <builtin>.isinstance [function] [call site] 00174
11 header.get [function] [call site] 00175
11 header.get [function] [call site] 00176
11 <builtin>.isinstance [function] [call site] 00177
11 certs.values [function] [call site] 00178
11 google.auth.crypt.verify_signature [function] [call site] 00179
12 <builtin>.isinstance [function] [call site] 00180
12 verifier_cls.from_string [function] [call site] 00181
12 verifier.verify [function] [call site] 00182
11 google.auth.jwt._verify_iat_and_exp [function] [call site] 00183
12 google.auth._helpers.utcnow [function] [call site] 00184
12 google.auth._helpers.datetime_to_secs [function] [call site] 00185
13 value.utctimetuple [function] [call site] 00186
13 calendar.timegm [function] [call site] 00187
11 payload.get [function] [call site] 00188
11 <builtin>.isinstance [function] [call site] 00189
10 datetime.datetime.utcfromtimestamp [function] [call site] 00190
9 jwt_credentials.token.decode [function] [call site] 00191
8 google.oauth2.service_account.IDTokenCredentials._make_authorization_grant_assertion [function] [call site] 00192
9 google.auth._helpers.utcnow [function] [call site] 00193
9 datetime.timedelta [function] [call site] 00194
9 google.auth._helpers.datetime_to_secs [function] [call site] 00195
9 google.auth._helpers.datetime_to_secs [function] [call site] 00196
9 payload.update [function] [call site] 00197
9 google.auth.jwt.encode [function] [call site] 00198
8 google.oauth2._client.id_token_jwt_grant [function] [call site] 00199
9 google.oauth2._client._token_endpoint_request [function] [call site] 00200
9 google.auth.metrics.token_request_id_token_sa_assertion [function] [call site] 00201
10 google.auth.metrics.python_and_auth_lib_version [function] [call site] 00202
9 google.auth.exceptions.GoogleAuthError.__init__ [function] [call site] 00203
9 google.auth.jwt.decode [function] [call site] 00204
9 datetime.datetime.utcfromtimestamp [function] [call site] 00205
7 google.oauth2.gdch_credentials.ServiceAccountCredentials.refresh [function] [call site] 00206
8 <builtin>.isinstance [function] [call site] 00207
8 google.oauth2.gdch_credentials.ServiceAccountCredentials._create_jwt [function] [call site] 00208
9 google.auth._helpers.utcnow [function] [call site] 00209
9 google.auth._helpers.datetime_to_secs [function] [call site] 00210
9 google.auth._helpers.datetime_to_secs [function] [call site] 00211
9 google.auth.jwt.encode [function] [call site] 00212
9 google.auth._helpers.from_bytes [function] [call site] 00213
8 google.oauth2._client._token_endpoint_request [function] [call site] 00214
8 google.oauth2._client._handle_refresh_grant_response [function] [call site] 00215
9 google.auth.exceptions.GoogleAuthError.__init__ [function] [call site] 00216
9 response_data.get [function] [call site] 00217
9 google.oauth2._client._parse_expiry [function] [call site] 00218
10 response_data.get [function] [call site] 00219
10 <builtin>.isinstance [function] [call site] 00220
10 <builtin>.int [function] [call site] 00221
10 google.auth._helpers.utcnow [function] [call site] 00222
10 datetime.timedelta [function] [call site] 00223
7 google.auth.impersonated_credentials.IDTokenCredentials.refresh [function] [call site] 00224
8 iam._IAM_IDTOKEN_ENDPOINT.replace [function] [call site] 00225
8 google.auth.metrics.token_request_id_token_impersonate [function] [call site] 00226
9 google.auth.metrics.python_and_auth_lib_version [function] [call site] 00227
8 google.auth.transport.requests.AuthorizedSession.__init__ [function] [call site] 00228
9 <builtin>.super [function] [call site] 00229
9 requests.Session [function] [call site] 00230
9 requests.adapters.HTTPAdapter [function] [call site] 00231
9 google.auth.transport.requests.Request.__init__ [function] [call site] 00232
10 requests.Session [function] [call site] 00233
9 <builtin>.isinstance [function] [call site] 00234
8 requests.Session.post [function] [call site] 00235
8 json.dumps [function] [call site] 00236
8 google.auth.transport.requests.AuthorizedSession.close [function] [call site] 00237
9 <builtin>.super [function] [call site] 00238
8 response.json [function] [call site] 00239
8 datetime.datetime.utcfromtimestamp [function] [call site] 00240
8 google.auth.jwt.decode [function] [call site] 00241
7 google.oauth2.credentials.Credentials.refresh [function] [call site] 00242
8 google.oauth2.credentials.Credentials.refresh_handler [function] [call site] 00243
9 <builtin>.callable [function] [call site] 00244
8 <builtin>.isinstance [function] [call site] 00245
8 <builtin>.isinstance [function] [call site] 00246
8 google.auth._helpers.utcnow [function] [call site] 00247
8 google.oauth2.reauth.refresh_grant [function] [call site] 00248
9 google.auth.metrics.token_request_user [function] [call site] 00249
10 google.auth.metrics.python_and_auth_lib_version [function] [call site] 00250
9 google.oauth2._client._token_endpoint_request_no_throw [function] [call site] 00251
9 <builtin>.isinstance [function] [call site] 00252
9 response_data.get [function] [call site] 00253
9 response_data.get [function] [call site] 00254
9 response_data.get [function] [call site] 00255
9 google.oauth2.reauth.get_rapt_token [function] [call site] 00256
10 sys.stderr.write [function] [call site] 00257
10 google.oauth2._client.refresh_grant [function] [call site] 00258
11 google.oauth2._client._token_endpoint_request [function] [call site] 00259
11 google.oauth2._client._handle_refresh_grant_response [function] [call site] 00260
10 google.oauth2.reauth._obtain_rapt [function] [call site] 00261
11 google.oauth2.reauth._get_challenges [function] [call site] 00262
12 google.auth.metrics.reauth_start [function] [call site] 00263
13 google.auth.metrics.python_and_auth_lib_version [function] [call site] 00264
12 google.oauth2._client._token_endpoint_request [function] [call site] 00265
11 challenges.AVAILABLE_CHALLENGES.keys [function] [call site] 00266
11 <builtin>.list [function] [call site] 00267
11 <builtin>.range [function] [call site] 00268
11 google.oauth2.reauth.is_interactive [function] [call site] 00269
12 sys.stdin.isatty [function] [call site] 00270
11 google.oauth2.reauth._run_next_challenge [function] [call site] 00271
12 challenges.AVAILABLE_CHALLENGES.get [function] [call site] 00272
12 c.obtain_challenge_input [function] [call site] 00273
12 google.oauth2.reauth._send_challenge_result [function] [call site] 00274
13 google.auth.metrics.reauth_continue [function] [call site] 00275
14 google.auth.metrics.python_and_auth_lib_version [function] [call site] 00276
13 google.oauth2._client._token_endpoint_request [function] [call site] 00277
10 sys.stderr.write [function] [call site] 00278
9 google.oauth2._client._token_endpoint_request_no_throw [function] [call site] 00279
9 google.oauth2._client._handle_error_response [function] [call site] 00280
9 google.oauth2._client._handle_refresh_grant_response [function] [call site] 00281
8 grant_response.get [function] [call site] 00282
8 <builtin>.frozenset [function] [call site] 00283
8 <builtin>.frozenset [function] [call site] 00284
8 _LOGGER.warning [function] [call site] 00285
7 google.auth._refresh_worker.RefreshThreadManager.clear_error [function] [call site] 00286
6 google.auth.credentials.Credentials._blocking_refresh [function] [call site] 00287
7 google.auth.external_account_authorized_user.Credentials.refresh [function] [call site] 00288
7 google.auth.app_engine.Credentials.refresh [function] [call site] 00289
7 google.auth.external_account.Credentials.refresh [function] [call site] 00290
7 google.auth.api_key.Credentials.refresh [function] [call site] 00291
7 google.oauth2.service_account.IDTokenCredentials.refresh [function] [call site] 00292
7 google.oauth2.gdch_credentials.ServiceAccountCredentials.refresh [function] [call site] 00293
7 google.auth.impersonated_credentials.IDTokenCredentials.refresh [function] [call site] 00294
7 google.oauth2.credentials.Credentials.refresh [function] [call site] 00295
6 google.auth.credentials.Credentials._metric_header_for_usage [function] [call site] 00296
6 google.auth.impersonated_credentials.Credentials._metric_header_for_usage [function] [call site] 00297
6 google.auth.compute_engine.credentials.Credentials._metric_header_for_usage [function] [call site] 00298
6 google.oauth2.credentials.Credentials._metric_header_for_usage [function] [call site] 00299
6 google.oauth2.service_account.Credentials._metric_header_for_usage [function] [call site] 00300
7 google.oauth2.service_account.Credentials._use_self_signed_jwt [function] [call site] 00301
6 google.auth.metrics.add_metric_header [function] [call site] 00302
6 google.auth.api_key.Credentials.apply [function] [call site] 00303
5 google.auth.api_key.Credentials.before_request [function] [call site] 00304
6 google.auth.api_key.Credentials.apply [function] [call site] 00305
5 response.data.decode [function] [call site] 00306
5 json.loads [function] [call site] 00307
4 base64.b64decode [function] [call site] 00308
3 google.auth._helpers.unpadded_urlsafe_b64encode [function] [call site] 00309
3 segments.append [function] [call site] 00310
2 google.auth.jwt.decode [function] [call site] 00311