Fuzz introspector: fuzz_find_urls
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
7 63 urlextract.urlextract_core.URLExtract._is_domain_valid call site: 00063 urlextract.urlextract_core.dns_cache_install
6 52 urlextract.urlextract_core.URLExtract._is_domain_valid call site: 00052 s.islower
4 47 urlextract.urlextract_core.URLExtract._is_domain_valid call site: 00047 url_parts.getport
3 86 urlextract.urlextract_core.URLExtract.gen_urls call site: 00086 collections.OrderedDict.fromkeys
2 23 urlextract.urlextract_core.URLExtract._remove_enclosure_from_url call site: 00023 text_url.rfind
2 92 urlextract.urlextract_core.URLExtract.find_urls call site: 00092 collections.OrderedDict.fromkeys
1 13 urlextract.urlextract_core.URLExtract._complete_url call site: 00013 .ord
1 36 urlextract.urlextract_core.URLExtract._complete_url call site: 00036 enclosure_map.values
1 84 urlextract.urlextract_core.URLExtract.gen_urls call site: 00084 .len

Fuzzer calltree

0 ...fuzz_find_urls.TestOneInput [function] [call site] 00000
1 atheris.FuzzedDataProvider [function] [call site] 00001
1 fdp.ConsumeIntInRange [function] [call site] 00002
1 fdp.ConsumeUnicodeNoSurrogates [function] [call site] 00003
1 urlextract.urlextract_core.URLExtract.find_urls [function] [call site] 00004
2 urlextract.urlextract_core.URLExtract.gen_urls [function] [call site] 00005
3 matched_tlds.pop [function] [call site] 00006
3 tmp_text.find [function] [call site] 00007
3 urlextract.urlextract_core.URLExtract._validate_tld_match [function] [call site] 00008
4 <builtin>.len [function] [call site] 00009
4 <builtin>.len [function] [call site] 00010
4 <builtin>.len [function] [call site] 00011
3 urlextract.urlextract_core.URLExtract._complete_url [function] [call site] 00012
4 <builtin>.len [function] [call site] 00013
4 <builtin>.ord [function] [call site] 00014
4 <builtin>.len [function] [call site] 00015
4 <builtin>.len [function] [call site] 00016
4 extended_tld.endswith [function] [call site] 00017
4 urlextract.urlextract_core.URLExtract._split_markdown [function] [call site] 00018
5 text_url.find [function] [call site] 00019
5 text_url.find [function] [call site] 00020
5 text_url.rfind [function] [call site] 00021
4 urlextract.urlextract_core.URLExtract._remove_enclosure_from_url [function] [call site] 00022
5 <builtin>.max [function] [call site] 00023
5 text_url.rfind [function] [call site] 00024
5 enclosure_map.keys [function] [call site] 00025
5 enclosure_map.get [function] [call site] 00026
5 <builtin>.min [function] [call site] 00027
5 <builtin>.len [function] [call site] 00028
5 <builtin>.max [function] [call site] 00029
5 <builtin>.range [function] [call site] 00030
5 <builtin>.len [function] [call site] 00031
5 <builtin>.len [function] [call site] 00032
5 <builtin>.len [function] [call site] 00033
5 enclosure_map.values [function] [call site] 00034
5 urlextract.urlextract_core.URLExtract._remove_enclosure_from_url [function] [call site] 00035
4 <builtin>.any [function] [call site] 00036
4 enclosure_map.values [function] [call site] 00037
4 enclosure_map.keys [function] [call site] 00038
4 urlextract.urlextract_core.URLExtract._remove_enclosure_from_url [function] [call site] 00039
4 complete_url.strip [function] [call site] 00040
4 complete_url.startswith [function] [call site] 00041
4 complete_url.startswith [function] [call site] 00042
4 urlextract.urlextract_core.URLExtract._is_domain_valid [function] [call site] 00043
5 uritools.urisplit [function] [call site] 00045
5 url_parts.authority.startswith [function] [call site] 00046
5 url_parts.getuserinfo [function] [call site] 00047
5 url_parts.getport [function] [call site] 00048
5 url_parts.getpath [function] [call site] 00049
5 url_parts.getquery [function] [call site] 00050
5 url_parts.getfragment [function] [call site] 00051
5 url_parts.gethost [function] [call site] 00052
5 s.islower [function] [call site] 00053
5 s.isalpha [function] [call site] 00054
5 <builtin>.all [function] [call site] 00055
5 s.isupper [function] [call site] 00056
5 s.isalpha [function] [call site] 00057
5 <builtin>.all [function] [call site] 00058
5 <builtin>.isinstance [function] [call site] 00059
5 host.split [function] [call site] 00060
5 <builtin>.len [function] [call site] 00061
5 host_tld.lower [function] [call site] 00062
5 tld.lower [function] [call site] 00063
5 urlextract.urlextract_core.dns_cache_install [function] [call site] 00064
6 dns_cache.resolver.ExceptionCachingResolver [function] [call site] 00065
6 dns.resolver.LRUCache [function] [call site] 00066
6 dns.resolver.Resolver [function] [call site] 00067
6 dns.resolver.LRUCache [function] [call site] 00068
6 dns.resolver.override_system_resolver [function] [call site] 00069
5 socket.gethostbyname [function] [call site] 00070
3 urlextract.urlextract_core.URLExtract._get_tld_pos [function] [call site] 00071
4 uritools.urisplit [function] [call site] 00073
4 url_parts.gethost [function] [call site] 00074
4 <builtin>.str [function] [call site] 00075
4 url.lower [function] [call site] 00076
4 tld.lower [function] [call site] 00077
4 host.rfind [function] [call site] 00078
3 <builtin>.len [function] [call site] 00079
3 <builtin>.len [function] [call site] 00080
3 <builtin>.len [function] [call site] 00081
3 rest_url.find [function] [call site] 00082
3 <builtin>.len [function] [call site] 00083
3 matched_tlds.pop [function] [call site] 00084
3 <builtin>.len [function] [call site] 00085
3 <builtin>.len [function] [call site] 00086
2 collections.OrderedDict.fromkeys [function] [call site] 00087
2 <builtin>.list [function] [call site] 00088
2 <builtin>.list [function] [call site] 00089
2 <builtin>.next [function] [call site] 00090
2 result_urls.append [function] [call site] 00091
2 <builtin>.next [function] [call site] 00092
2 collections.OrderedDict.fromkeys [function] [call site] 00093
2 <builtin>.list [function] [call site] 00094