Private, fast, and honest web browser
This report summarizes scanner evidence for imputnet/helium, a C++ project with 22,228 GitHub stars. SynthScan examined 125,590 lines of code across 174 source files, recording 78 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 0.9 (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? 57 finding(s).
Are imports declared and package/API names verified? 12 finding(s).
Are wrappers, guards, and repeated structures necessary? 34 finding(s).
Which changes need focused human review? 78 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 78 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 |
|---|---|---|---|---|
| HIGH | utils/third_party/schema.py | 255 | except SchemaError: | CODE |
| HIGH | devutils/validate_patches.py | 364 | except _NotInRepoError: | CODE |
| HIGH | devutils/validate_patches.py | 379 | except _NotInRepoError: | CODE |
| HIGH | devutils/validate_patches.py | 308 | except ValueError: | CODE |
| HIGH | devutils/update_lists.py | 311 | except ValueError: | CODE |
| HIGH | devutils/update_platform_patches.py | 65 | except FileNotFoundError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/downloads.py | 242 | def _chromium_hashes_generator(hashes_path): | CODE |
| LOW | utils/patches.py | 153 | def generate_patches_from_series(patches_dir, resolve=False): | CODE |
| LOW | utils/make_domsub_script.py | 17 | def make_domain_substitution_script(regex_path, files_path, backup_type, output_path): | CODE |
| LOW | utils/name_substitution_utils.py | 37 | def strip_message_text_for_fp(text): | CODE |
| LOW | utils/name_substitution_utils.py | 147 | def dedup_translations_in_place(translation, seen): | CODE |
| LOW | utils/tests/test_patches.py | 16 | def test_find_and_check_patch(): | CODE |
| LOW | utils/tests/test_domain_substitution.py | 39 | def test_substitute_path_preserves_docs_and_help_hosts(): | CODE |
| LOW | utils/tests/test_domain_substitution.py | 81 | def test_substitute_path_skips_cache_when_only_preserved_hosts_match(): | CODE |
| LOW | devutils/validate_patches.py | 146 | def _download_googlesource_file(download_session, repo_url, version, relative_path): | CODE |
| LOW⚡ | devutils/validate_patches.py | 225 | def _get_last_chromium_modification(): | CODE |
| LOW⚡ | devutils/validate_patches.py | 234 | def _get_gitiles_git_log_date(log_entry): | CODE |
| LOW⚡ | devutils/validate_patches.py | 239 | def _get_gitiles_commit_before_date(repo_url, target_branch, target_datetime): | CODE |
| LOW | devutils/validate_patches.py | 318 | def _get_target_file_deps_node(download_session, root_deps_tree, target_file): | CODE |
| LOW⚡ | devutils/_lint_tests.py | 30 | def a_all_patches_in_series_exist(): | CODE |
| LOW⚡ | devutils/_lint_tests.py | 36 | def a_all_patches_in_tree_are_in_series(): | CODE |
| LOW⚡ | devutils/_lint_tests.py | 45 | def b_all_patches_have_meaningful_contents(): | CODE |
| LOW⚡ | devutils/_lint_tests.py | 51 | def b_all_patches_have_no_trailing_whitespace(): | CODE |
| LOW⚡ | devutils/_lint_tests.py | 61 | def c_all_new_files_have_license_header(): | CODE |
| LOW | devutils/_lint_tests.py | 76 | def c_all_new_headers_have_correct_guard(): | CODE |
| LOW | devutils/_lint_tests.py | 120 | def d_no_whitespace_only_changes(): | CODE |
| LOW | devutils/i18n_generate.py | 77 | def extract_strings_from_hunk(hunk, clean=False): | CODE |
| LOW | devutils/i18n_forage.py | 21 | def get_untranslated_strings_by_xtb(source, lang, xtb_index): | CODE |
| LOW | devutils/tests/test_check_patch_files.py | 24 | def test_check_series_duplicates(): | CODE |
| LOW | devutils/third_party/unidiff/patch.py | 281 | def _add_no_newline_marker_to_last_hunk(self): | CODE |
| LOW | devutils/third_party/unidiff/patch.py | 289 | def _append_trailing_empty_line(self): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/filescfg.py | 52 | CODE | |
| LOW | utils/prune_binaries.py | 219 | CODE | |
| LOW | utils/generate_resources.py | 32 | CODE | |
| LOW | utils/downloads.py | 294 | CODE | |
| LOW | utils/downloads.py | 333 | CODE | |
| LOW | utils/downloads.py | 93 | CODE | |
| LOW | utils/domain_substitution.py | 186 | CODE | |
| LOW | utils/_extraction.py | 158 | CODE | |
| LOW | utils/third_party/schema.py | 234 | CODE | |
| LOW | devutils/validate_patches.py | 183 | CODE | |
| LOW | devutils/validate_patches.py | 406 | CODE | |
| LOW | devutils/validate_patches.py | 486 | CODE | |
| LOW | devutils/validate_patches.py | 553 | CODE | |
| LOW | devutils/validate_patches.py | 610 | CODE | |
| LOW | devutils/validate_patches.py | 623 | CODE | |
| LOW | devutils/run_other_pylint.py | 33 | CODE | |
| LOW | devutils/update_lists.py | 264 | CODE | |
| LOW | devutils/update_lists.py | 289 | CODE | |
| LOW | devutils/i18n_translate.py | 199 | CODE | |
| LOW | devutils/check_patch_files.py | 50 | CODE | |
| LOW | devutils/_lint_tests.py | 76 | CODE | |
| LOW | devutils/_lint_tests.py | 120 | CODE | |
| LOW | devutils/i18n_generate.py | 77 | CODE | |
| LOW | devutils/third_party/unidiff/patch.py | 217 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | devutils/third_party/unidiff/patch.py | 27 | CODE | |
| LOW | devutils/third_party/unidiff/constants.py | 27 | CODE | |
| LOW | devutils/third_party/unidiff/__init__.py | 27 | CODE | |
| LOW | devutils/third_party/unidiff/__init__.py | 30 | CODE | |
| LOW | devutils/third_party/unidiff/__init__.py | 30 | CODE | |
| LOW | devutils/third_party/unidiff/__init__.py | 30 | CODE | |
| LOW | devutils/third_party/unidiff/__init__.py | 30 | CODE | |
| LOW | devutils/third_party/unidiff/__init__.py | 30 | CODE | |
| LOW | devutils/third_party/unidiff/__init__.py | 30 | CODE | |
| LOW | devutils/third_party/unidiff/__init__.py | 30 | CODE | |
| LOW | devutils/third_party/unidiff/__init__.py | 30 | CODE | |
| LOW | devutils/third_party/unidiff/errors.py | 27 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | devutils/pytest.ini | 1 | [pytest] | COMMENT |
| LOW | devutils/third_party/unidiff/patch.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | devutils/third_party/unidiff/constants.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | devutils/third_party/unidiff/__init__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | devutils/third_party/unidiff/__version__.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| LOW | devutils/third_party/unidiff/errors.py | 1 | # -*- coding: utf-8 -*- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/downloads.py | 316 | # Read file in chunks. Default is 262144 bytes. | COMMENT |
| LOW | devutils/validate_patches.py | 541 | # Write file to patch | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | utils/domain_substitution.py | 165 | def _update_timestamp(path: os.PathLike, set_new: bool) -> None: | CODE |
| LOW | utils/third_party/schema.py | 8 | __all__ = ['Schema', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | devutils/lint.py | 40 | except Exception: | CODE |