C++ Library Manager for Windows, Linux, and MacOS
This report summarizes scanner evidence for microsoft/vcpkg, a CMake project with 27,557 GitHub stars. SynthScan examined 369,517 lines of code across 6829 source files, recording 171 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 0.6 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 135 finding(s).
Are imports declared and package/API names verified? 12 finding(s).
Are wrappers, guards, and repeated structures necessary? 71 finding(s).
Which changes need focused human review? 171 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 171 distinct pattern matches across 8 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/vcpkg_completion.bash | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/ci.baseline.txt | 1 | ########################################################################### | COMMENT |
| LOW | scripts/ci.baseline.txt | 21 | ## | COMMENT |
| LOW | scripts/ci.feature.baseline.txt | 1 | ########################################################################### | COMMENT |
| LOW | scripts/ci.feature.baseline.txt | 21 | ## feature-fails - The listed feature do not build. They are therefore excluded | COMMENT |
| LOW | scripts/azure-pipelines/linux/provision-image.sh | 161 | COMMENT | |
| LOW | scripts/get_cmake_vars/CMakeLists.txt | 201 | COMMENT | |
| LOW | scripts/get_cmake_vars/CMakeLists.txt | 221 | # CMAKE_SHARED_LINKER_FLAGS | COMMENT |
| LOW | …rts/vcpkg-ci-libigl/project/stb_image_implementation.c | 1 | #define STB_IMAGE_IMPLEMENTATION | COMMENT |
| LOW | scripts/test_ports/try-compile/try/try-compile.c | 1 | COMMENT | |
| LOW | …ports/vcpkg-ci-vcpkg-make/test-cl_cpp_wrapper/source.c | 1 | #ifdef EXPECT_SUCCESS | COMMENT |
| LOW | …/vcpkg-ci-alibabacloud-oss-cpp-sdk-v2/project/main.cpp | 1 | #include <alibabacloud/oss2/ClientConfiguration.h> | COMMENT |
| LOW | scripts/test_ports/vcpkg-ci-subversion/project/main.cpp | 1 | #include <svn_client.h> | COMMENT |
| LOW | scripts/test_ports/vcpkg-ci-highway/project/scale.hpp | 1 | #pragma once | COMMENT |
| LOW | …ripts/test_ports/vcpkg-ci-qtwebengine/project/main.cpp | 1 | #ifdef REQUIRE_PDF | COMMENT |
| LOW | …ipts/test_ports/vcpkg-ci-dawn/project/webgpu_glfw3.cpp | 1 | // | COMMENT |
| LOW | …ipts/test_ports/vcpkg-ci-dawn/project/webgpu_glfw3.cpp | 21 | #define DAWN_USE_X11 | COMMENT |
| LOW | scripts/test_ports/vcpkg-ci-dawn/project/main.cpp | 1 | // | COMMENT |
| LOW | .github/workflows/untrustedPR.yml | 81 | git commit -m "tmp" --allow-empty | COMMENT |
| LOW | ports/libuuid/config.linux.h | 1 | #define HAVE_DECL__SC_HOST_NAME_MAX 1 | COMMENT |
| LOW | ports/cityhash/config.h | 61 | #define PACKAGE_URL "" | COMMENT |
| LOW | ports/igraph/arith_osx.h | 1 | /* Suitable for macOS on x86_64 and arm64 */ | COMMENT |
| LOW | ports/igraph/arith_win64.h | 1 | /* Windows 64-bit */ | COMMENT |
| LOW | ports/igraph/arith_win32.h | 1 | /* Windows 32-bit */ | COMMENT |
| LOW | ports/angle/cmake-buildsystem/CMakeLists.txt | 141 | # is being used as a compiler or as a GLES implementation. | COMMENT |
| LOW | ports/xmlsec/CMakeLists.txt | 61 | #define XMLSEC_NO_FTP 1 | COMMENT |
| LOW | ports/foonathan-memory/config_impl.hpp | 1 | #ifndef Z_VCPKG_FOONATHAN_MEMORY_DEBUG | COMMENT |
| LOW | ports/libmspack/config.h | 1 | #define HAVE_LIMITS_H 1 | COMMENT |
| LOW | ports/pdal/h3api.h | 1 | #include <h3/h3api.h> | COMMENT |
| LOW | ports/cgns/cgnsconfig.h | 1 | #ifndef CGNSCONFIG_H | COMMENT |
| LOW | ports/lua/CMakeLists.txt | 1 | # Lua can be compiled as either C or C++. | COMMENT |
| LOW | ports/openblas/openblas_common.h | 1 | #pragma once | COMMENT |
| LOW | ports/openblas/openblas_common.h | 41 | typedef BLASLONG blasint; | COMMENT |
| LOW | …rts/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt | 221 | endif() | COMMENT |
| LOW | …rts/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt | 241 | # CMAKE_CXX_COMPILER | COMMENT |
| LOW | …rts/vcpkg-cmake-get-vars/cmake_get_vars/CMakeLists.txt | 261 | # Additional information: | COMMENT |
| LOW | ports/7zip/CMakeLists.txt | 1 | cmake_minimum_required(VERSION 3.19) | COMMENT |
| LOW | ports/clapack/arith_osx.h | 1 | /* Suitable for macOS on x86_64 and arm64 */ | COMMENT |
| LOW | ports/clapack/arith_win64.h | 1 | /* Windows 64-bit */ | COMMENT |
| LOW | ports/clapack/arith_linux64.h | 1 | #define IEEE_8087 | COMMENT |
| LOW | ports/clapack/arith_win32.h | 1 | /* Windows 32-bit */ | COMMENT |
| LOW | ports/libu2f-server/u2f-server-version.h | 81 | #define U2FS_VERSION_PATCH 0 | COMMENT |
| LOW | ports/chartdir/chartdir.h | 1 | #ifndef __CHARTDIR_H__ | COMMENT |
| LOW | ports/qca/mk-ca-bundle.pl | 1 | #!/usr/bin/perl -w | COMMENT |
| LOW | ports/qca/mk-ca-bundle.pl | 21 | # * | COMMENT |
| LOW | ports/qca/mk-ca-bundle.pl | 401 | ## file (certdata.txt). This file can be found in the mozilla source tree: | COMMENT |
| LOW | ports/vulkan-sdk-components/LICENSE.txt | 81 | While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of | COMMENT |
| LOW | ports/vulkan-sdk-components/LICENSE.txt | 101 | // | COMMENT |
| LOW | ports/vulkan-sdk-components/LICENSE.txt | 121 | #============================================================================= | COMMENT |
| LOW | ports/vulkan-sdk-components/LICENSE.txt | 141 | // | COMMENT |
| LOW | ports/vulkan-sdk-components/LICENSE.txt | 161 | // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | COMMENT |
| LOW | ports/vulkan-sdk-components/LICENSE.txt | 221 | COMMENT | |
| LOW | ports/vulkan-sdk-components/LICENSE.txt | 241 | # contributors may be used to endorse or promote products derived | COMMENT |
| LOW | ports/vulkan-sdk-components/LICENSE.txt | 541 | /// Copyright (c) 2005 - 2014 G-Truc Creation (www.g-truc.net) | COMMENT |
| LOW | ports/webrtc/absl-labels.txt | 1 | //third_party/abseil-cpp:absl | COMMENT |
| LOW | ports/webrtc/absl-labels.txt | 21 | //third_party/abseil-cpp/absl/base:prefetch | COMMENT |
| LOW | ports/webrtc/absl-labels.txt | 41 | //third_party/abseil-cpp/absl/container:hashtable_debug_hooks | COMMENT |
| LOW | ports/webrtc/absl-labels.txt | 61 | //third_party/abseil-cpp/absl/debugging:debugging_internal | COMMENT |
| LOW | ports/webrtc/absl-labels.txt | 81 | //third_party/abseil-cpp/absl/log/internal:conditions | COMMENT |
| LOW | ports/webrtc/absl-labels.txt | 101 | //third_party/abseil-cpp/absl/log:initialize | COMMENT |
| 12 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/update_kf6.py | 15 | # ============================================================ | COMMENT |
| MEDIUM | scripts/update_kf6.py | 17 | # ============================================================ | COMMENT |
| MEDIUM | scripts/update_kf6.py | 58 | # ============================================================ | COMMENT |
| MEDIUM | scripts/update_kf6.py | 60 | # ============================================================ | COMMENT |
| MEDIUM⚡ | scripts/update_kf6.py | 187 | # ============================================================ | COMMENT |
| MEDIUM⚡ | scripts/update_kf6.py | 189 | # ============================================================ | COMMENT |
| MEDIUM | ports/irrlicht/CMakeLists.txt | 10 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ports/irrlicht/CMakeLists.txt | 16 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ports/irrlicht/CMakeLists.txt | 29 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ports/irrlicht/CMakeLists.txt | 41 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ports/irrlicht/CMakeLists.txt | 61 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ports/irrlicht/CMakeLists.txt | 68 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | ports/irrlicht/CMakeLists.txt | 76 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ports/irrlicht/CMakeLists.txt | 129 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ports/irrlicht/CMakeLists.txt | 176 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ports/irrlicht/CMakeLists.txt | 231 | # ------------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | ports/vulkan-sdk-components/LICENSE.txt | 121 | #============================================================================= | COMMENT |
| MEDIUM | ports/vulkan-sdk-components/LICENSE.txt | 131 | #============================================================================= | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/buildsystems/osx/applocal.py | 206 | def normalize_loaderpath_name(filename): | CODE |
| LOW | ports/webrtc/generate_external_third_party.py | 388 | def make_trivial_group_build_gn(*group_names: str) -> str: | STRING |
| LOW | ports/webrtc/generate_external_third_party.py | 393 | def make_config_only_build_gn(config_name: str, | STRING |
| LOW | ports/webrtc/generate_external_third_party.py | 405 | def make_linked_source_set_build_gn( | STRING |
| LOW | ports/webrtc/generate_external_absl.py | 37 | def build_imported_cmake_targets( | CODE |
| LOW | ports/webrtc/generate_external_absl.py | 217 | def should_exclude_imported_target(cmake_body: str) -> bool: | CODE |
| LOW | ports/webrtc/generate_external_absl.py | 244 | def cmake_target_to_gn_lib_name(target: str) -> str: | CODE |
| LOW | ports/webrtc/generate_external_absl.py | 253 | def render_cmake_targets_from_imported_targets( | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 33 | def test_make_header_forwarder_renders_expected_include(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 39 | def test_make_linked_source_set_build_gn_renders_expected_sections( | CODE |
| LOW⚡ | ports/webrtc/generate_external_third_party_test.py | 62 | def test_resolve_spec_normalizes_optional_fields(self) -> None: | CODE |
| LOW⚡ | ports/webrtc/generate_external_third_party_test.py | 72 | def test_resolve_spec_rejects_missing_required_key(self) -> None: | CODE |
| LOW⚡ | ports/webrtc/generate_external_third_party_test.py | 82 | def test_resolve_spec_rejects_invalid_optional_type(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 96 | def test_build_generation_plan_normalizes_output_and_files(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 120 | def test_build_generation_plan_renders_tool_path(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 139 | def test_build_generation_plan_renders_windows_tool_path(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 157 | def test_build_generation_plan_preserves_root_flag(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 174 | def test_plan_generation_uses_resolved_spec(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 192 | def test_plan_generation_exposes_copied_files_tuple(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 206 | def test_apply_generation_plan_writes_planned_files(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 224 | def test_generate_external_dep_applies_plan(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 240 | def test_write_tree_generates_libsrtp_with_substitution(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 257 | def test_write_tree_preserves_existing_root_when_requested(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 272 | def test_write_tree_renders_nasm_tool_path(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 285 | def test_write_tree_generates_nested_testing_tree(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 302 | def test_main_generates_representative_output_tree(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_third_party_test.py | 325 | def test_argparse_rejects_unknown_dep(self) -> None: | CODE |
| LOW⚡ | ports/webrtc/generate_external_absl_test.py | 89 | def test_make_generation_plan_rejects_unexpected_root_target(self) -> None: | CODE |
| LOW⚡ | ports/webrtc/generate_external_absl_test.py | 97 | def test_split_label_returns_path_and_target(self) -> None: | CODE |
| LOW⚡ | ports/webrtc/generate_external_absl_test.py | 107 | def test_split_label_rejects_invalid_prefix(self) -> None: | CODE |
| LOW⚡ | ports/webrtc/generate_external_absl_test.py | 111 | def test_split_label_rejects_missing_target_separator(self) -> None: | CODE |
| LOW⚡ | ports/webrtc/generate_external_absl_test.py | 115 | def test_read_cmake_targets_parses_static_and_interface_targets( | CODE |
| LOW⚡ | ports/webrtc/generate_external_absl_test.py | 151 | def test_read_cmake_targets_rejects_empty_exports(self) -> None: | CODE |
| LOW⚡ | ports/webrtc/generate_external_absl_test.py | 160 | def test_read_cmake_targets_rejects_unparseable_exports(self) -> None: | CODE |
| LOW⚡ | ports/webrtc/generate_external_absl_test.py | 169 | def test_render_cmake_targets_preserves_static_lib_mapping(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 23 | def test_read_labels_filters_deduplicates_and_sorts(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 42 | def test_build_imported_cmake_targets_normalizes_target_groups( | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 63 | def test_make_generation_plan_exposes_normalized_model(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 132 | def test_read_cmake_targets_excludes_targets_with_forbidden_link_libraries( | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 192 | def test_render_absl_gni_contains_templates(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 199 | def test_render_root_build_includes_configs_and_generated_targets( | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 214 | def test_render_subdir_build_includes_targets_and_configs(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 221 | def test_render_cmake_targets_includes_imported_target_lists(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 233 | def test_render_cmake_targets_from_imported_targets_uses_plan_model( | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 247 | def test_cmake_target_to_gn_lib_name_uses_current_prefix_mapping( | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 256 | def test_main_generates_expected_files(self) -> None: | CODE |
| LOW | ports/webrtc/generate_external_absl_test.py | 312 | def test_main_rejects_unexpected_root_label(self) -> None: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | ports/webrtc/generate_external_third_party.py | 60 | if ((is_mac || is_ios) && (current_cpu == "x86" || current_cpu == "x64")) { | CODE |
| HIGH | ports/webrtc/generate_external_third_party.py | 76 | } else if (is_posix || is_fuchsia) { | CODE |
| HIGH | ports/webrtc/generate_external_third_party.py | 306 | enable_libaom = !(is_android && current_cpu != "arm64" && | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/skills/evaluate-new-port/SKILL.md | 35 | ### Step 1: Read the Port Metadata | COMMENT |
| LOW | .github/skills/evaluate-new-port/SKILL.md | 59 | ### Step 2: Clean the Local Working State | COMMENT |
| LOW | .github/skills/evaluate-new-port/SKILL.md | 75 | ### Step 3: Install the Port | COMMENT |
| LOW | .github/skills/evaluate-new-port/SKILL.md | 105 | ### Step 4: Determine the Installed Triplet Directory | COMMENT |
| LOW | .github/skills/evaluate-new-port/SKILL.md | 117 | ### Step 5: Audit the Extracted Source Tree | COMMENT |
| LOW | .github/skills/evaluate-new-port/SKILL.md | 161 | ### Step 6: Audit Installed Content Against the Declared License Metadata | COMMENT |
| LOW | .github/skills/evaluate-new-port/SKILL.md | 180 | ### Step 7: Review the Portfile for Packaging Suggestions | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/generateBaseline.py | 14 | CODE | |
| LOW | scripts/generateBaseline.py | 32 | CODE | |
| LOW | scripts/update_suitesparse.py | 41 | CODE | |
| LOW | scripts/update_suitesparse.py | 60 | CODE | |
| LOW | scripts/update_kf6.py | 112 | CODE | |
| LOW | scripts/buildsystems/osx/applocal.py | 244 | CODE | |
| LOW | scripts/buildsystems/osx/applocal.py | 344 | CODE | |
| LOW | ports/shader-slang/update_shas.py | 31 | CODE | |
| LOW | ports/shader-slang/update_shas.py | 74 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/generatePortVersionsDb.py | 4 | CODE | |
| LOW | scripts/generatePortVersionsDb.py | 6 | CODE | |
| LOW | scripts/generateBaseline.py | 6 | CODE | |
| LOW | scripts/update_kf6.py | 7 | CODE | |
| LOW | scripts/update_kf6.py | 13 | CODE | |
| LOW | ports/webrtc/generate_external_third_party.py | 2 | CODE | |
| LOW | ports/webrtc/generate_external_absl.py | 2 | CODE | |
| LOW | ports/webrtc/generate_external_third_party_test.py | 2 | CODE | |
| LOW | ports/webrtc/generate_external_absl_test.py | 2 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/generateBaseline.py | 62 | print(f'Error: Decoding {port_file_path}\n{e}\n') | CODE |
| LOW | scripts/update_kf6.py | 106 | except Exception as e: | CODE |
| LOW | scripts/update_kf6.py | 157 | except Exception as e: | CODE |
| LOW⚡ | scripts/update_kf6.py | 182 | except Exception as e: | CODE |
| LOW | scripts/buildsystems/osx/applocal.py | 69 | except Exception as exc: | CODE |
| LOW | ports/shader-slang/update_shas.py | 133 | except Exception as exc: | CODE |