diff -ruN a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt	2026-02-20 06:22:51.000000000 +0800
+++ b/CMakeLists.txt	2026-05-17 17:49:13.440411351 +0800
@@ -19,6 +19,15 @@
 option(FUZZTEST_BUILD_FLATBUFFERS "Building the flatbuffers support." OFF)
 option(FUZZTEST_FUZZING_MODE "Building the fuzztest in fuzzing mode." OFF)
 set(FUZZTEST_COMPATIBILITY_MODE "" CACHE STRING "Compatibility mode. Available options: <empty>, libfuzzer")
+
+if (FUZZTEST_BUILD_TESTING)
+  message(FATAL_ERROR "Patched FuzzTest integration disables upstream tests to avoid protobuf dependency paths")
+endif ()
+
+if (FUZZTEST_BUILD_FLATBUFFERS)
+  message(FATAL_ERROR "Patched FuzzTest integration disables flatbuffers support")
+endif ()
+
 set(CMAKE_CXX_STANDARD 17)
 
 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
@@ -54,10 +63,6 @@
 include(cmake/CompatibilityModeLinkLibFuzzer.cmake)
 
 if (FUZZTEST_BUILD_TESTING)
-  enable_testing()
-
-  set(protobuf_PROTOC_EXE "${protobuf_BINARY_DIR}/protoc")
-  include(${protobuf_SOURCE_DIR}/cmake/protobuf-generate.cmake)
 endif ()
 
 add_subdirectory(common)
diff -ruN a/cmake/BuildDependencies.cmake b/cmake/BuildDependencies.cmake
--- a/cmake/BuildDependencies.cmake	2026-02-20 06:22:51.000000000 +0800
+++ b/cmake/BuildDependencies.cmake	2026-05-17 17:49:13.440411351 +0800
@@ -14,107 +14,47 @@
 
 cmake_minimum_required(VERSION 3.19)
 
-include(FetchContent)
-
-set(absl_URL https://github.com/abseil/abseil-cpp.git)
-set(absl_TAG 20260107.1)
-
-set(re2_URL https://github.com/google/re2.git)
-set(re2_TAG 2025-11-05)
-
-set(gtest_URL https://github.com/google/googletest.git)
-set(gtest_TAG v1.17.0)
-
-# From https://www.antlr.org/download.html
-set(antlr_cpp_URL https://www.antlr.org/download/antlr4-cpp-runtime-4.13.2-source.zip)
-set(antlr_cpp_MD5 bac8aef215ffd7b23a1dde2fcfe3c842)
-
-set(proto_URL https://github.com/protocolbuffers/protobuf.git)
-set(proto_TAG v33.5)
-
-set(nlohmann_json_URL https://github.com/nlohmann/json.git)
-set(nlohmann_json_TAG v3.12.0)
-
-set(flatbuffers_URL https://github.com/google/flatbuffers.git)
-set(flatbuffers_TAG v25.12.19)
-
-if(POLICY CMP0135)
-	cmake_policy(SET CMP0135 NEW)
-	set(CMAKE_POLICY_DEFAULT_CMP0135 NEW)
-endif()
-
-FetchContent_Declare(
-  abseil-cpp
-  GIT_REPOSITORY ${absl_URL}
-  GIT_TAG        ${absl_TAG}
-)
-
-FetchContent_Declare(
-  re2
-  GIT_REPOSITORY ${re2_URL}
-  GIT_TAG        ${re2_TAG}
-)
-
-FetchContent_Declare(
-  googletest
-  GIT_REPOSITORY ${gtest_URL}
-  GIT_TAG        ${gtest_TAG}
-)
-
-FetchContent_Declare(
-  antlr_cpp
-  URL      ${antlr_cpp_URL}
-  URL_HASH MD5=${antlr_cpp_MD5}
-)
-
-if (FUZZTEST_BUILD_FLATBUFFERS)
-  FetchContent_Declare(
-    flatbuffers
-    GIT_REPOSITORY ${flatbuffers_URL}
-    GIT_TAG        ${flatbuffers_TAG}
-  )
-endif()
-
-if (FUZZTEST_BUILD_TESTING)
-
-  FetchContent_Declare(
-    protobuf
-    GIT_REPOSITORY ${proto_URL}
-    GIT_TAG        ${proto_TAG}
-  )
-
-  FetchContent_Declare(
-    nlohmann_json
-    GIT_REPOSITORY ${nlohmann_json_URL}
-    GIT_TAG        ${nlohmann_json_TAG}
-  )
+function(fuzztest_require_target target_name)
+  if (NOT TARGET ${target_name})
+    message(FATAL_ERROR "Patched FuzzTest requires pre-provided target: ${target_name}")
+  endif ()
+endfunction()
+
+fuzztest_require_target(absl::flat_hash_map)
+fuzztest_require_target(absl::random_bit_gen_ref)
+fuzztest_require_target(absl::status)
+fuzztest_require_target(absl::statusor)
+fuzztest_require_target(absl::strings)
+fuzztest_require_target(absl::string_view)
+fuzztest_require_target(absl::span)
+fuzztest_require_target(absl::flags)
+fuzztest_require_target(absl::flags_parse)
+fuzztest_require_target(re2::re2)
+fuzztest_require_target(GTest::gtest)
+fuzztest_require_target(GTest::gmock)
+fuzztest_require_target(antlr4_static)
 
+if (NOT DEFINED ANTLR4_RUNTIME_INCLUDE_DIR OR ANTLR4_RUNTIME_INCLUDE_DIR STREQUAL "")
+  message(FATAL_ERROR "Patched FuzzTest requires ANTLR4_RUNTIME_INCLUDE_DIR")
 endif ()
 
-set(ABSL_PROPAGATE_CXX_STD ON)
-set(ABSL_ENABLE_INSTALL ON)
-FetchContent_MakeAvailable(abseil-cpp)
-
-set(RE2_BUILD_TESTING OFF)
-FetchContent_MakeAvailable(re2)
-
-set(GTEST_HAS_ABSL ON)
-FetchContent_MakeAvailable(googletest)
-
-FetchContent_MakeAvailable(antlr_cpp)
-
-if (FUZZTEST_BUILD_TESTING)
-
-  set(protobuf_BUILD_TESTS OFF)
-  set(protobuf_INSTALL OFF)
-  FetchContent_MakeAvailable(protobuf)
+if (TARGET protobuf::libprotobuf)
+  message(FATAL_ERROR "Patched FuzzTest forbids protobuf::libprotobuf")
+endif ()
 
-  FetchContent_MakeAvailable(nlohmann_json)
 
+if (TARGET flatbuffers)
+  message(FATAL_ERROR "Patched FuzzTest forbids flatbuffers")
 endif ()
 
-if (FUZZTEST_BUILD_FLATBUFFERS)
-  set(FLATBUFFERS_BUILD_TESTS OFF)
-  set(FLATBUFFERS_BUILD_INSTALL OFF)
-  FetchContent_MakeAvailable(flatbuffers)
-endif()
+set(FUZZTEST_BUILD_TESTING OFF CACHE BOOL "Patched FuzzTest disables upstream tests" FORCE)
+set(FUZZTEST_BUILD_FLATBUFFERS OFF CACHE BOOL "Patched FuzzTest disables flatbuffers" FORCE)
+
+# Dependency versions mirrored by the template dependency inventory:
+#   Abseil: 20260107.1
+#   RE2: 2025-11-05
+#   GoogleTest/GMock: v1.17.0, isolated from the normal C++14 test lane
+#   ANTLR C++ runtime: 4.13.2
+#
+# The parent project owns all archive acquisition and provides the targets above
+# before adding FuzzTest.
diff -ruN a/grammar_codegen/generated_antlr_parser/CMakeLists.txt b/grammar_codegen/generated_antlr_parser/CMakeLists.txt
--- a/grammar_codegen/generated_antlr_parser/CMakeLists.txt	2026-02-20 06:22:51.000000000 +0800
+++ b/grammar_codegen/generated_antlr_parser/CMakeLists.txt	2026-05-17 17:49:13.440411351 +0800
@@ -16,6 +16,6 @@
 target_include_directories(
   generated_antlr_parser
   PUBLIC
-  ${antlr_cpp_SOURCE_DIR}/runtime/src
+  ${ANTLR4_RUNTIME_INCLUDE_DIR}
   ${CMAKE_CURRENT_SOURCE_DIR}
 )
\ No newline at end of file
