1*33edd672SMarkload("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_jvm_library") 2*33edd672SMarkload("@fmeum_rules_jni//jni:defs.bzl", "java_jni_library") 3*33edd672SMarkload("//bazel:compat.bzl", "SKIP_ON_MACOS", "SKIP_ON_WINDOWS") 4*33edd672SMarkload("//bazel:fuzz_target.bzl", "java_fuzz_target_test") 5*33edd672SMarkload("//bazel:kotlin.bzl", "ktlint") 6*33edd672SMark 7*33edd672SMarkjava_fuzz_target_test( 8*33edd672SMark name = "Autofuzz", 9*33edd672SMark allowed_findings = ["java.lang.ArrayIndexOutOfBoundsException"], 10*33edd672SMark fuzzer_args = [ 11*33edd672SMark "--autofuzz=com.google.json.JsonSanitizer::sanitize", 12*33edd672SMark ], 13*33edd672SMark runtime_deps = [ 14*33edd672SMark "@maven//:com_mikesamuel_json_sanitizer", 15*33edd672SMark ], 16*33edd672SMark) 17*33edd672SMark 18*33edd672SMarkjava_fuzz_target_test( 19*33edd672SMark name = "ExampleFuzzer", 20*33edd672SMark srcs = ["src/main/java/com/example/ExampleFuzzer.java"], 21*33edd672SMark allowed_findings = ["com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium"], 22*33edd672SMark hook_jar = "ExampleFuzzerHooks_deploy.jar", 23*33edd672SMark target_class = "com.example.ExampleFuzzer", 24*33edd672SMark # Does not crash due to not using the hook. 25*33edd672SMark verify_crash_reproducer = False, 26*33edd672SMark) 27*33edd672SMark 28*33edd672SMarkjava_binary( 29*33edd672SMark name = "ExampleFuzzerHooks", 30*33edd672SMark srcs = ["src/main/java/com/example/ExampleFuzzerHooks.java"], 31*33edd672SMark create_executable = False, 32*33edd672SMark # Comment out the next line to keep the ExampleFuzzer running indefinitely - without the hook, it will never be able 33*33edd672SMark # to pass the comparison with the random number. 34*33edd672SMark deploy_manifest_lines = ["Jazzer-Hook-Classes: com.example.ExampleFuzzerHooks"], 35*33edd672SMark deps = ["//src/main/java/com/code_intelligence/jazzer/api:hooks"], 36*33edd672SMark) 37*33edd672SMark 38*33edd672SMarkjava_jni_library( 39*33edd672SMark name = "example_fuzzer_with_native_lib", 40*33edd672SMark srcs = [ 41*33edd672SMark "src/main/java/com/example/ExampleFuzzerWithNative.java", 42*33edd672SMark ], 43*33edd672SMark native_libs = [ 44*33edd672SMark "//examples/src/main/native/com/example:native_asan", 45*33edd672SMark "//examples/src/main/native/com/example:native_ubsan", 46*33edd672SMark ], 47*33edd672SMark visibility = ["//examples/src/main/native/com/example:__pkg__"], 48*33edd672SMark deps = [ 49*33edd672SMark "//deploy:jazzer-api", 50*33edd672SMark ], 51*33edd672SMark) 52*33edd672SMark 53*33edd672SMarkjava_fuzz_target_test( 54*33edd672SMark name = "ExampleFuzzerWithASan", 55*33edd672SMark allowed_findings = ["native"], 56*33edd672SMark env = {"EXAMPLE_NATIVE_LIB": "native_asan"}, 57*33edd672SMark env_inherit = ["CC"], 58*33edd672SMark fuzzer_args = [ 59*33edd672SMark "--asan", 60*33edd672SMark ], 61*33edd672SMark # The shell launcher generated by Jazzer is killed in CI, even with codesigning disabled on the 62*33edd672SMark # Java binary. This is not reproducible locally or with JDK 17. 63*33edd672SMark tags = ["no-macos-x86_64-jdk8"], 64*33edd672SMark target_class = "com.example.ExampleFuzzerWithNative", 65*33edd672SMark target_compatible_with = SKIP_ON_WINDOWS, 66*33edd672SMark verify_crash_reproducer = False, 67*33edd672SMark runtime_deps = [ 68*33edd672SMark ":example_fuzzer_with_native_lib", 69*33edd672SMark ], 70*33edd672SMark) 71*33edd672SMark 72*33edd672SMarkjava_fuzz_target_test( 73*33edd672SMark name = "ExampleFuzzerWithUBSan", 74*33edd672SMark allowed_findings = ["native"], 75*33edd672SMark env = {"EXAMPLE_NATIVE_LIB": "native_ubsan"}, 76*33edd672SMark env_inherit = ["CC"], 77*33edd672SMark fuzzer_args = [ 78*33edd672SMark "--ubsan", 79*33edd672SMark ], 80*33edd672SMark # The shell launcher generated by Jazzer is killed in CI, even with codesigning disabled on the 81*33edd672SMark # Java binary. This is not reproducible locally or with JDK 17. 82*33edd672SMark tags = ["no-macos-x86_64-jdk8"], 83*33edd672SMark target_class = "com.example.ExampleFuzzerWithNative", 84*33edd672SMark # Crashes at runtime without an error message. 85*33edd672SMark target_compatible_with = SKIP_ON_WINDOWS, 86*33edd672SMark verify_crash_reproducer = False, 87*33edd672SMark runtime_deps = [ 88*33edd672SMark ":example_fuzzer_with_native_lib", 89*33edd672SMark ], 90*33edd672SMark) 91*33edd672SMark 92*33edd672SMarkjava_binary( 93*33edd672SMark name = "ExamplePathTraversalFuzzerHooks", 94*33edd672SMark srcs = ["src/main/java/com/example/ExamplePathTraversalFuzzerHooks.java"], 95*33edd672SMark create_executable = False, 96*33edd672SMark deploy_manifest_lines = ["Jazzer-Hook-Classes: com.example.ExamplePathTraversalFuzzerHooks"], 97*33edd672SMark deps = ["//src/main/java/com/code_intelligence/jazzer/api:hooks"], 98*33edd672SMark) 99*33edd672SMark 100*33edd672SMarkjava_fuzz_target_test( 101*33edd672SMark name = "ExamplePathTraversalFuzzer", 102*33edd672SMark srcs = [ 103*33edd672SMark "src/main/java/com/example/ExamplePathTraversalFuzzer.java", 104*33edd672SMark ], 105*33edd672SMark allowed_findings = ["com.code_intelligence.jazzer.api.FuzzerSecurityIssueHigh"], 106*33edd672SMark hook_jar = "ExamplePathTraversalFuzzerHooks_deploy.jar", 107*33edd672SMark target_class = "com.example.ExamplePathTraversalFuzzer", 108*33edd672SMark verify_crash_reproducer = False, 109*33edd672SMark) 110*33edd672SMark 111*33edd672SMarkjava_fuzz_target_test( 112*33edd672SMark name = "ExampleValueProfileFuzzer", 113*33edd672SMark srcs = [ 114*33edd672SMark "src/main/java/com/example/ExampleValueProfileFuzzer.java", 115*33edd672SMark ], 116*33edd672SMark allowed_findings = ["com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow"], 117*33edd672SMark # Comment out the next line to keep the fuzzer running indefinitely. 118*33edd672SMark fuzzer_args = ["-use_value_profile=1"], 119*33edd672SMark target_class = "com.example.ExampleValueProfileFuzzer", 120*33edd672SMark) 121*33edd672SMark 122*33edd672SMarkjava_fuzz_target_test( 123*33edd672SMark name = "MazeFuzzer", 124*33edd672SMark srcs = [ 125*33edd672SMark "src/main/java/com/example/MazeFuzzer.java", 126*33edd672SMark ], 127*33edd672SMark allowed_findings = ["com.example.MazeFuzzer$$TreasureFoundException"], 128*33edd672SMark fuzzer_args = ["-use_value_profile=1"], 129*33edd672SMark target_class = "com.example.MazeFuzzer", 130*33edd672SMark) 131*33edd672SMark 132*33edd672SMarkjava_fuzz_target_test( 133*33edd672SMark name = "ExampleOutOfMemoryFuzzer", 134*33edd672SMark timeout = "short", 135*33edd672SMark srcs = [ 136*33edd672SMark "src/main/java/com/example/ExampleOutOfMemoryFuzzer.java", 137*33edd672SMark ], 138*33edd672SMark allowed_findings = [ 139*33edd672SMark "com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow", 140*33edd672SMark "java.lang.OutOfMemoryError", 141*33edd672SMark ], 142*33edd672SMark fuzzer_args = ["--jvm_args=-Xmx512m"], 143*33edd672SMark target_class = "com.example.ExampleOutOfMemoryFuzzer", 144*33edd672SMark) 145*33edd672SMark 146*33edd672SMarkjava_fuzz_target_test( 147*33edd672SMark name = "ExampleStackOverflowFuzzer", 148*33edd672SMark srcs = [ 149*33edd672SMark "src/main/java/com/example/ExampleStackOverflowFuzzer.java", 150*33edd672SMark ], 151*33edd672SMark allowed_findings = [ 152*33edd672SMark "com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow", 153*33edd672SMark "java.lang.StackOverflowError", 154*33edd672SMark ], 155*33edd672SMark target_class = "com.example.ExampleStackOverflowFuzzer", 156*33edd672SMark # Crashes with a segfault before any stack trace printing is reached. 157*33edd672SMark target_compatible_with = SKIP_ON_MACOS, 158*33edd672SMark) 159*33edd672SMark 160*33edd672SMark# WARNING: This fuzz target uses a vulnerable version of log4j, which could result in the execution 161*33edd672SMark# of arbitrary code during fuzzing if executed with an older JDK. Use at your own risk. 162*33edd672SMarkjava_fuzz_target_test( 163*33edd672SMark name = "Log4jFuzzer", 164*33edd672SMark timeout = "long", 165*33edd672SMark srcs = [ 166*33edd672SMark "src/main/java/com/example/Log4jFuzzer.java", 167*33edd672SMark ], 168*33edd672SMark fuzzer_args = [ 169*33edd672SMark "-fork=4", 170*33edd672SMark "-use_value_profile=1", 171*33edd672SMark ], 172*33edd672SMark # Finding this bug takes ~5 minutes on a decent laptop, but the GitHub Actions machines are not 173*33edd672SMark # powerful enough to run it as part of our test suite. 174*33edd672SMark tags = ["manual"], 175*33edd672SMark target_class = "com.example.Log4jFuzzer", 176*33edd672SMark deps = [ 177*33edd672SMark "@maven//:org_apache_logging_log4j_log4j_api", 178*33edd672SMark "@maven//:org_apache_logging_log4j_log4j_core", 179*33edd672SMark ], 180*33edd672SMark) 181*33edd672SMark 182*33edd672SMark# WARNING: This fuzz target uses a vulnerable version of Apache Commons Text, which could result in the execution 183*33edd672SMark# of arbitrary code during fuzzing if executed with an older JDK. Use at your own risk. 184*33edd672SMarkjava_fuzz_target_test( 185*33edd672SMark name = "CommonsTextFuzzer", 186*33edd672SMark size = "enormous", 187*33edd672SMark srcs = [ 188*33edd672SMark "src/main/java/com/example/CommonsTextFuzzer.java", 189*33edd672SMark ], 190*33edd672SMark fuzzer_args = [ 191*33edd672SMark "-fork=8", 192*33edd672SMark "-use_value_profile=1", 193*33edd672SMark ], 194*33edd672SMark tags = ["manual"], 195*33edd672SMark target_class = "com.example.CommonsTextFuzzer", 196*33edd672SMark verify_crash_reproducer = False, 197*33edd672SMark deps = [ 198*33edd672SMark "@maven//:org_apache_commons_commons_text", 199*33edd672SMark ], 200*33edd672SMark) 201*33edd672SMark 202*33edd672SMarkjava_fuzz_target_test( 203*33edd672SMark name = "JpegImageParserFuzzer", 204*33edd672SMark size = "enormous", 205*33edd672SMark srcs = [ 206*33edd672SMark "src/main/java/com/example/JpegImageParserFuzzer.java", 207*33edd672SMark ], 208*33edd672SMark allowed_findings = ["java.lang.NegativeArraySizeException"], 209*33edd672SMark fuzzer_args = [ 210*33edd672SMark "-fork=2", 211*33edd672SMark ], 212*33edd672SMark tags = ["exclusive-if-local"], 213*33edd672SMark target_class = "com.example.JpegImageParserFuzzer", 214*33edd672SMark # The exit codes of the forked libFuzzer processes are not picked up correctly. 215*33edd672SMark target_compatible_with = SKIP_ON_MACOS, 216*33edd672SMark deps = [ 217*33edd672SMark "@maven//:org_apache_commons_commons_imaging", 218*33edd672SMark ], 219*33edd672SMark) 220*33edd672SMark 221*33edd672SMarkjava_fuzz_target_test( 222*33edd672SMark name = "GifImageParserFuzzer", 223*33edd672SMark srcs = [ 224*33edd672SMark "src/main/java/com/example/GifImageParserFuzzer.java", 225*33edd672SMark ], 226*33edd672SMark allowed_findings = [ 227*33edd672SMark "java.lang.ArrayIndexOutOfBoundsException", 228*33edd672SMark "java.lang.IllegalArgumentException", 229*33edd672SMark "java.lang.OutOfMemoryError", 230*33edd672SMark ], 231*33edd672SMark target_class = "com.example.GifImageParserFuzzer", 232*33edd672SMark deps = [ 233*33edd672SMark "@maven//:org_apache_commons_commons_imaging", 234*33edd672SMark ], 235*33edd672SMark) 236*33edd672SMark 237*33edd672SMarkjava_fuzz_target_test( 238*33edd672SMark name = "TiffImageParserFuzzer", 239*33edd672SMark srcs = [ 240*33edd672SMark "src/main/java/com/example/TiffImageParserFuzzer.java", 241*33edd672SMark ], 242*33edd672SMark tags = ["manual"], 243*33edd672SMark target_class = "com.example.TiffImageParserFuzzer", 244*33edd672SMark deps = [ 245*33edd672SMark "@maven//:org_apache_commons_commons_imaging", 246*33edd672SMark ], 247*33edd672SMark) 248*33edd672SMark 249*33edd672SMarkjava_fuzz_target_test( 250*33edd672SMark name = "JsonSanitizerCrashFuzzer", 251*33edd672SMark srcs = [ 252*33edd672SMark "src/main/java/com/example/JsonSanitizerCrashFuzzer.java", 253*33edd672SMark ], 254*33edd672SMark allowed_findings = ["java.lang.IndexOutOfBoundsException"], 255*33edd672SMark target_class = "com.example.JsonSanitizerCrashFuzzer", 256*33edd672SMark deps = [ 257*33edd672SMark "@maven//:com_mikesamuel_json_sanitizer", 258*33edd672SMark ], 259*33edd672SMark) 260*33edd672SMark 261*33edd672SMarkjava_fuzz_target_test( 262*33edd672SMark name = "JsonSanitizerDenylistFuzzer", 263*33edd672SMark srcs = [ 264*33edd672SMark "src/main/java/com/example/JsonSanitizerDenylistFuzzer.java", 265*33edd672SMark ], 266*33edd672SMark allowed_findings = ["java.lang.AssertionError"], 267*33edd672SMark target_class = "com.example.JsonSanitizerDenylistFuzzer", 268*33edd672SMark deps = [ 269*33edd672SMark "@maven//:com_mikesamuel_json_sanitizer", 270*33edd672SMark ], 271*33edd672SMark) 272*33edd672SMark 273*33edd672SMarkjava_binary( 274*33edd672SMark name = "JsonSanitizerReplayerCrash", 275*33edd672SMark data = [ 276*33edd672SMark ":json_sanitizer_denylist_crash", 277*33edd672SMark ], 278*33edd672SMark main_class = "com.code_intelligence.jazzer.replay.Replayer", 279*33edd672SMark runtime_deps = [ 280*33edd672SMark ":JsonSanitizerDenylistFuzzer_target_deploy.jar", 281*33edd672SMark "//src/main/java/com/code_intelligence/jazzer/replay:Replayer_deploy.jar", 282*33edd672SMark ], 283*33edd672SMark) 284*33edd672SMark 285*33edd672SMarksh_test( 286*33edd672SMark name = "JsonSanitizerReplayerCrashTest", 287*33edd672SMark srcs = ["check_for_finding.sh"], 288*33edd672SMark args = [ 289*33edd672SMark "jazzer/$(rootpath :JsonSanitizerReplayerCrash)", 290*33edd672SMark "com.example.JsonSanitizerDenylistFuzzer", 291*33edd672SMark "jazzer/$(rootpath :json_sanitizer_denylist_crash)", 292*33edd672SMark ], 293*33edd672SMark data = [ 294*33edd672SMark ":JsonSanitizerReplayerCrash", 295*33edd672SMark ":json_sanitizer_denylist_crash", 296*33edd672SMark ], 297*33edd672SMark deps = [ 298*33edd672SMark "@bazel_tools//tools/bash/runfiles", 299*33edd672SMark ], 300*33edd672SMark) 301*33edd672SMark 302*33edd672SMarkjava_fuzz_target_test( 303*33edd672SMark name = "JsonSanitizerIdempotenceFuzzer", 304*33edd672SMark srcs = [ 305*33edd672SMark "src/main/java/com/example/JsonSanitizerIdempotenceFuzzer.java", 306*33edd672SMark ], 307*33edd672SMark allowed_findings = ["java.lang.AssertionError"], 308*33edd672SMark target_class = "com.example.JsonSanitizerIdempotenceFuzzer", 309*33edd672SMark deps = [ 310*33edd672SMark "@maven//:com_mikesamuel_json_sanitizer", 311*33edd672SMark ], 312*33edd672SMark) 313*33edd672SMark 314*33edd672SMarkjava_fuzz_target_test( 315*33edd672SMark name = "JsonSanitizerValidJsonFuzzer", 316*33edd672SMark srcs = [ 317*33edd672SMark "src/main/java/com/example/JsonSanitizerValidJsonFuzzer.java", 318*33edd672SMark ], 319*33edd672SMark allowed_findings = ["com.code_intelligence.jazzer.api.FuzzerSecurityIssueLow"], 320*33edd672SMark target_class = "com.example.JsonSanitizerValidJsonFuzzer", 321*33edd672SMark deps = [ 322*33edd672SMark "@maven//:com_google_code_gson_gson", 323*33edd672SMark "@maven//:com_mikesamuel_json_sanitizer", 324*33edd672SMark ], 325*33edd672SMark) 326*33edd672SMark 327*33edd672SMarkjava_fuzz_target_test( 328*33edd672SMark name = "JacksonCborFuzzer", 329*33edd672SMark srcs = [ 330*33edd672SMark "src/main/java/com/example/JacksonCborFuzzer.java", 331*33edd672SMark ], 332*33edd672SMark allowed_findings = ["java.lang.NullPointerException"], 333*33edd672SMark target_class = "com.example.JacksonCborFuzzer", 334*33edd672SMark deps = [ 335*33edd672SMark "@maven//:com_fasterxml_jackson_core_jackson_core", 336*33edd672SMark "@maven//:com_fasterxml_jackson_core_jackson_databind", 337*33edd672SMark "@maven//:com_fasterxml_jackson_dataformat_jackson_dataformat_cbor", 338*33edd672SMark ], 339*33edd672SMark) 340*33edd672SMark 341*33edd672SMarkjava_fuzz_target_test( 342*33edd672SMark name = "FastJsonFuzzer", 343*33edd672SMark srcs = [ 344*33edd672SMark "src/main/java/com/example/FastJsonFuzzer.java", 345*33edd672SMark ], 346*33edd672SMark allowed_findings = ["java.lang.NumberFormatException"], 347*33edd672SMark target_class = "com.example.FastJsonFuzzer", 348*33edd672SMark deps = [ 349*33edd672SMark "@maven//:com_alibaba_fastjson", 350*33edd672SMark ], 351*33edd672SMark) 352*33edd672SMark 353*33edd672SMarkkt_jvm_library( 354*33edd672SMark name = "KlaxonFuzzTarget", 355*33edd672SMark srcs = [ 356*33edd672SMark "src/main/java/com/example/KlaxonFuzzer.kt", 357*33edd672SMark ], 358*33edd672SMark deps = [ 359*33edd672SMark "//deploy:jazzer-api", 360*33edd672SMark "@maven//:com_beust_klaxon", 361*33edd672SMark ], 362*33edd672SMark) 363*33edd672SMark 364*33edd672SMarkjava_fuzz_target_test( 365*33edd672SMark name = "KlaxonFuzzer", 366*33edd672SMark allowed_findings = [ 367*33edd672SMark "java.lang.ClassCastException", 368*33edd672SMark "java.lang.IllegalStateException", 369*33edd672SMark "java.lang.NumberFormatException", 370*33edd672SMark "java.lang.NullPointerException", 371*33edd672SMark ], 372*33edd672SMark fuzzer_args = [ 373*33edd672SMark "--keep_going=7", 374*33edd672SMark ], 375*33edd672SMark target_class = "com.example.KlaxonFuzzer", 376*33edd672SMark runtime_deps = [":KlaxonFuzzTarget"], 377*33edd672SMark) 378*33edd672SMark 379*33edd672SMarkkt_jvm_library( 380*33edd672SMark name = "ExampleKotlinFuzzTarget", 381*33edd672SMark srcs = [ 382*33edd672SMark "src/main/java/com/example/ExampleKotlinFuzzer.kt", 383*33edd672SMark ], 384*33edd672SMark deps = [ 385*33edd672SMark "//deploy:jazzer-api", 386*33edd672SMark ], 387*33edd672SMark) 388*33edd672SMark 389*33edd672SMarkjava_fuzz_target_test( 390*33edd672SMark name = "ExampleKotlinFuzzer", 391*33edd672SMark allowed_findings = [ 392*33edd672SMark "com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium", 393*33edd672SMark ], 394*33edd672SMark target_class = "com.example.ExampleKotlinFuzzer", 395*33edd672SMark runtime_deps = [":ExampleKotlinFuzzTarget"], 396*33edd672SMark) 397*33edd672SMark 398*33edd672SMarkkt_jvm_library( 399*33edd672SMark name = "ExampleKotlinValueProfileFuzzTarget", 400*33edd672SMark srcs = [ 401*33edd672SMark "src/main/java/com/example/ExampleKotlinValueProfileFuzzer.kt", 402*33edd672SMark ], 403*33edd672SMark deps = [ 404*33edd672SMark "//deploy:jazzer-api", 405*33edd672SMark ], 406*33edd672SMark) 407*33edd672SMark 408*33edd672SMarkjava_fuzz_target_test( 409*33edd672SMark name = "ExampleKotlinValueProfileFuzzer", 410*33edd672SMark allowed_findings = [ 411*33edd672SMark "com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium", 412*33edd672SMark ], 413*33edd672SMark fuzzer_args = [ 414*33edd672SMark "-use_value_profile=1", 415*33edd672SMark ], 416*33edd672SMark target_class = "com.example.ExampleKotlinValueProfileFuzzer", 417*33edd672SMark runtime_deps = [":ExampleKotlinValueProfileFuzzTarget"], 418*33edd672SMark) 419*33edd672SMark 420*33edd672SMarkjava_fuzz_target_test( 421*33edd672SMark name = "TurboJpegFuzzer", 422*33edd672SMark srcs = [ 423*33edd672SMark "src/main/java/com/example/TurboJpegFuzzer.java", 424*33edd672SMark ], 425*33edd672SMark data = [ 426*33edd672SMark "@libjpeg_turbo//:turbojpeg_native", 427*33edd672SMark ], 428*33edd672SMark fuzzer_args = [ 429*33edd672SMark "-rss_limit_mb=8196", 430*33edd672SMark "--jvm_args=-Djava.library.path=../libjpeg_turbo", 431*33edd672SMark "--ubsan", 432*33edd672SMark ], 433*33edd672SMark tags = ["manual"], 434*33edd672SMark target_class = "com.example.TurboJpegFuzzer", 435*33edd672SMark deps = [ 436*33edd672SMark "@libjpeg_turbo//:turbojpeg_java", 437*33edd672SMark ], 438*33edd672SMark) 439*33edd672SMark 440*33edd672SMarkjava_fuzz_target_test( 441*33edd672SMark name = "BatikTranscoderFuzzer", 442*33edd672SMark srcs = [ 443*33edd672SMark "src/main/java/com/example/BatikTranscoderFuzzer.java", 444*33edd672SMark ], 445*33edd672SMark allowed_findings = [ 446*33edd672SMark "com.code_intelligence.jazzer.api.FuzzerSecurityIssueMedium", 447*33edd672SMark ], 448*33edd672SMark target_class = "com.example.BatikTranscoderFuzzer", 449*33edd672SMark verify_crash_reproducer = False, 450*33edd672SMark deps = [ 451*33edd672SMark "@maven//:org_apache_xmlgraphics_batik_anim", 452*33edd672SMark "@maven//:org_apache_xmlgraphics_batik_bridge", 453*33edd672SMark "@maven//:org_apache_xmlgraphics_batik_css", 454*33edd672SMark "@maven//:org_apache_xmlgraphics_batik_transcoder", 455*33edd672SMark "@maven//:org_apache_xmlgraphics_batik_util", 456*33edd672SMark ], 457*33edd672SMark) 458*33edd672SMark 459*33edd672SMarkjava_binary( 460*33edd672SMark name = "examples", 461*33edd672SMark create_executable = False, 462*33edd672SMark visibility = ["//visibility:public"], 463*33edd672SMark runtime_deps = [ 464*33edd672SMark ":BatikTranscoderFuzzer_target_deploy.jar", 465*33edd672SMark ":ExampleFuzzer_target_deploy.jar", 466*33edd672SMark ":ExampleValueProfileFuzzer_target_deploy.jar", 467*33edd672SMark ":FastJsonFuzzer_target_deploy.jar", 468*33edd672SMark ":JacksonCborFuzzer_target_deploy.jar", 469*33edd672SMark ":JpegImageParserFuzzer_target_deploy.jar", 470*33edd672SMark ":JsonSanitizerDenylistFuzzer_target_deploy.jar", 471*33edd672SMark ], 472*33edd672SMark) 473*33edd672SMark 474*33edd672SMarkktlint() 475