Repository Analysis

daijro/camoufox

🦊 Anti-detect browser

16.7 Moderate AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of daijro/camoufox, a C++ project with 11,514 GitHub stars. SynthScan v2.0 examined 112,860 lines of code across 366 source files, recording 1742 pattern matches distributed across 18 syntactic categories. The overall adjusted score of 16.7 places this repository in the Moderate AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

16.7
Adjusted Score
16.7
Raw Score
100%
Time Factor
2026-08-26
Last Push
11.5K
Stars
C++
Language
112.9K
Lines of Code
366
Files
1.7K
Pattern Hits
2026-08-29
Scan Date
0.14
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 0HIGH 50MEDIUM 58LOW 1634

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 1742 distinct pattern matches across 18 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hyper-Verbose Identifiers1131 hits · 1088 pts
SeverityFileLineSnippetContext
LOWadditions/juggler/TargetRegistry.js1096function fromProtocolReducedMotion(reducedMotion) {CODE
LOWadditions/juggler/NetworkObserver.js837function restoreInterceptedHeaderOrder(httpChannel, extraHTTPHeaders) {CODE
LOWtests/server.py257 def send_on_web_socket_connection(self, data: bytes) -> None:CODE
LOWtests/server.py260 def once_web_socket_connection(self, handler: Callable[["WebSocketProtocol"], None]) -> None:CODE
LOWtests/utils.py74def chromium_version_less_than(a: str, b: str) -> bool:CODE
LOWtests/patches/humanize-mouse-trajectory.py64async def _humanized_click_hits_target():STRING
LOWtests/async/test_page_select_option.py21async def test_select_option_should_select_single_option(page: Page, server: Server) -> None:CODE
LOWtests/async/test_page_select_option.py28async def test_select_option_should_select_single_option_by_value(CODE
LOWtests/async/test_page_select_option.py37async def test_select_option_should_select_single_option_by_label(CODE
LOWtests/async/test_page_select_option.py46async def test_select_option_should_select_single_option_by_handle(CODE
LOWtests/async/test_page_select_option.py55async def test_select_option_should_select_single_option_by_index(CODE
LOWtests/async/test_page_select_option.py64async def test_select_option_should_select_only_first_option(page: Page, server: Server) -> None:CODE
LOWtests/async/test_page_select_option.py71async def test_select_option_should_not_throw_when_select_causes_navigation(CODE
LOWtests/async/test_page_select_option.py107async def test_select_option_should_respect_event_bubbling(page: Page, server: Server) -> None:CODE
LOWtests/async/test_page_select_option.py114async def test_select_option_should_throw_when_element_is_not_a__select_(CODE
LOWtests/async/test_page_select_option.py123async def test_select_option_should_return_on_no_matched_values(page: Page, server: Server) -> None:CODE
LOWtests/async/test_page_select_option.py130async def test_select_option_should_return_an_array_of_matched_values(CODE
LOWtests/async/test_page_select_option.py139async def test_select_option_should_return_an_array_of_one_element_when_multiple_is_not_set(CODE
LOWtests/async/test_page_select_option.py147async def test_select_option_should_return_on_no_values(page: Page, server: Server) -> None:CODE
LOWtests/async/test_page_select_option.py153async def test_select_option_should_not_allow_null_items(page: Page, server: Server) -> None:CODE
LOWtests/async/test_page_select_option.py161async def test_select_option_should_unselect_with_null(page: Page, server: Server) -> None:CODE
LOWtests/async/test_page_select_option.py84async def test_select_option_should_select_multiple_options(page: Page, server: Server) -> None:CODE
LOWtests/async/test_page_select_option.py92async def test_select_option_should_select_multiple_options_with_attributes(CODE
LOWtests/async/test_page_select_option.py173async def test_select_option_should_deselect_all_options_when_passed_no_values_for_a_multiple_select(CODE
LOWtests/async/test_page_select_option.py186async def test_select_option_should_deselect_all_options_when_passed_no_values_for_a_select_without_multiple(CODE
LOWtests/async/test_page_select_option.py198async def test_select_option_should_work_when_re_defining_top_level_event_class(CODE
LOWtests/async/test_page_select_option.py208async def test_select_options_should_fall_back_to_selecting_by_label(CODE
LOWtests/async/test_defaultbrowsercontext.py186async def test_should_support_viewport_option(CODE
LOWtests/async/test_defaultbrowsercontext.py196async def test_should_support_device_scale_factor_option(CODE
LOWtests/async/test_defaultbrowsercontext.py204async def test_should_support_user_agent_option(CODE
LOWtests/async/test_defaultbrowsercontext.py255async def test_should_support_offline_option(CODE
LOWtests/async/test_defaultbrowsercontext.py264async def test_should_support_has_touch_option(CODE
LOWtests/async/test_defaultbrowsercontext.py274async def test_should_work_in_persistent_context(CODE
LOWtests/async/test_defaultbrowsercontext.py286async def test_should_support_color_scheme_option(CODE
LOWtests/async/test_defaultbrowsercontext.py294async def test_should_support_timezone_id_option(CODE
LOWtests/async/test_defaultbrowsercontext.py304async def test_should_support_locale_option(CODE
LOWtests/async/test_defaultbrowsercontext.py311async def test_should_support_geolocation_and_permission_option(CODE
LOWtests/async/test_defaultbrowsercontext.py394async def test_should_have_default_url_when_launching_browser(CODE
LOWtests/async/test_defaultbrowsercontext.py403async def test_should_throw_if_page_argument_is_passed(CODE
LOWtests/async/test_defaultbrowsercontext.py412async def test_should_fire_close_event_for_a_persistent_context(CODE
LOWtests/async/test_defaultbrowsercontext.py422async def test_should_support_reduced_motion(CODE
LOWtests/async/test_defaultbrowsercontext.py430async def test_should_support_har_option(CODE
LOWtests/async/test_defaultbrowsercontext.py58async def test_context_cookies_should_work(CODE
LOWtests/async/test_defaultbrowsercontext.py87async def test_context_add_cookies_should_work(CODE
LOWtests/async/test_defaultbrowsercontext.py119async def test_context_clear_cookies_should_work(CODE
LOWtests/async/test_defaultbrowsercontext.py138async def test_should_not_block_third_party_cookies(CODE
LOWtests/async/test_defaultbrowsercontext.py218async def test_should_support_bypass_csp_option(CODE
LOWtests/async/test_defaultbrowsercontext.py228async def test_should_support_javascript_enabled_option(CODE
LOWtests/async/test_defaultbrowsercontext.py242async def test_should_support_http_credentials_option(CODE
LOWtests/async/test_defaultbrowsercontext.py327async def test_should_support_ignore_https_errors_option(CODE
LOWtests/async/test_defaultbrowsercontext.py337async def test_should_support_extra_http_headers_option(CODE
LOWtests/async/test_defaultbrowsercontext.py349async def test_should_accept_user_data_dir(CODE
LOWtests/async/test_browsercontext_request_fallback.py57async def test_should_fall_back_async_delayed(CODE
LOWtests/async/test_browsercontext_request_fallback.py93async def test_should_fall_back_after_exception(CODE
LOWtests/async/test_browsercontext_request_fallback.py109async def test_should_amend_http_headers(CODE
LOWtests/async/test_browsercontext_request_fallback.py133async def test_should_delete_header_with_undefined_value(CODE
LOWtests/async/test_browsercontext_request_fallback.py208async def test_should_override_request_url(CODE
LOWtests/async/test_browsercontext_request_fallback.py244async def test_should_amend_post_data(page: Page, context: BrowserContext, server: Server) -> None:CODE
LOWtests/async/test_browsercontext_request_fallback.py264async def test_should_amend_binary_post_data(CODE
LOWtests/async/test_add_init_script.py23async def test_add_init_script_evaluate_before_anything_else_on_the_page(CODE
1071 more matches not shown…
Over-Commented Block274 hits · 194 pts
SeverityFileLineSnippetContext
LOWsettings/camoufox.cfg21// Camoufox already replaces the candidate IPs in the SDP layerCOMMENT
LOWsettings/camoufox.cfg41// UDP STUN request around a TCP proxy (which would reveal the real IP toCOMMENT
LOWsettings/camoufox.cfg321COMMENT
LOWsettings/camoufox.cfg341// is a cross-site correlation surface and a deviation from stock Firefox. #577COMMENT
LOWsettings/camoufox.cfg501COMMENT
LOWsettings/camoufox.cfg581COMMENT
LOWsettings/camoufox.cfg641// Dislabe newtabpageCOMMENT
LOWadditions/juggler/TargetRegistry.js341 globalNewPageChain = result.catch(error => { /* swallow errors to keep chain running */ });COMMENT
LOWadditions/juggler/TargetRegistry.js881 //COMMENT
LOWadditions/juggler/NetworkObserver.js121 this.navigationId = redirectedFrom.navigationId;COMMENT
LOWadditions/juggler/NetworkObserver.js821COMMENT
LOWadditions/juggler/pipe/nsRemoteDebuggingPipe.cpp1/* This Source Code Form is subject to the terms of the Mozilla PublicCOMMENT
LOWadditions/juggler/content/Runtime.js81// page's real global is deliberately not one of them. The wire format is theCOMMENT
LOWadditions/juggler/content/Runtime.js281 if (result && typeof result.then === 'function')COMMENT
LOWadditions/juggler/content/FrameTree.js541 } else {COMMENT
LOWadditions/juggler/content/FrameTree.js561 // for another. It is the alias UMD and webpack bundles reach for, so anCOMMENT
LOWadditions/juggler/protocol/PageHandler.js641 // input dispatch is serialized on activateAndRun()'s process-global chain,COMMENT
LOWadditions/juggler/screencast/nsScreencastService.cpp1/* This Source Code Form is subject to the terms of the Mozilla PublicCOMMENT
LOWadditions/juggler/screencast/HeadlessWindowCapturer.h1/* This Source Code Form is subject to the terms of the Mozilla PublicCOMMENT
LOWadditions/camoucfg/json.hpp21#include <algorithm> // all_of, find, for_eachCOMMENT
LOWadditions/camoucfg/json.hpp41// SPDX-License-Identifier: MITCOMMENT
LOWadditions/camoucfg/json.hpp61 #if defined(NLOHMANN_JSON_VERSION_MAJOR) && defined(NLOHMANN_JSON_VERSION_MINOR) && defined(NLOHMANN_JSON_VERSION_PACOMMENT
LOWadditions/camoucfg/json.hpp81 #define NLOHMANN_JSON_ABI_TAG_DIAGNOSTICS _diagCOMMENT
LOWadditions/camoucfg/json.hpp141#endifCOMMENT
LOWadditions/camoucfg/json.hpp161#include <array> // arrayCOMMENT
LOWadditions/camoucfg/json.hpp181COMMENT
LOWadditions/camoucfg/json.hpp201COMMENT
LOWadditions/camoucfg/json.hpp221// __ _____ _____ _____COMMENT
LOWadditions/camoucfg/json.hpp321// __ _____ _____ _____COMMENT
LOWadditions/camoucfg/json.hpp341 #undef JSON_HEDLEY_STRINGIFY_EXCOMMENT
LOWadditions/camoucfg/json.hpp361 #undef JSON_HEDLEY_CONCAT3_EXCOMMENT
LOWadditions/camoucfg/json.hpp381 #undef JSON_HEDLEY_VERSION_DECODE_MINORCOMMENT
LOWadditions/camoucfg/json.hpp401#endifCOMMENT
LOWadditions/camoucfg/json.hpp421#endifCOMMENT
LOWadditions/camoucfg/json.hpp441#if defined(JSON_HEDLEY_INTEL_VERSION_CHECK)COMMENT
LOWadditions/camoucfg/json.hpp461 #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ECOMMENT
LOWadditions/camoucfg/json.hpp481COMMENT
LOWadditions/camoucfg/json.hpp501 #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0)COMMENT
LOWadditions/camoucfg/json.hpp521 #undef JSON_HEDLEY_ARM_VERSIONCOMMENT
LOWadditions/camoucfg/json.hpp541#if defined(__ibmxl__)COMMENT
LOWadditions/camoucfg/json.hpp561#if \COMMENT
LOWadditions/camoucfg/json.hpp581COMMENT
LOWadditions/camoucfg/json.hpp601#if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__)COMMENT
LOWadditions/camoucfg/json.hpp621#if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK)COMMENT
LOWadditions/camoucfg/json.hpp641 #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCCOMMENT
LOWadditions/camoucfg/json.hpp661COMMENT
LOWadditions/camoucfg/json.hpp681#if defined(_CRAYC)COMMENT
LOWadditions/camoucfg/json.hpp701#if defined(__IAR_SYSTEMS_ICC__)COMMENT
LOWadditions/camoucfg/json.hpp721#if defined(__TINYC__)COMMENT
LOWadditions/camoucfg/json.hpp741#if defined(JSON_HEDLEY_DMC_VERSION_CHECK)COMMENT
LOWadditions/camoucfg/json.hpp761 #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ECOMMENT
LOWadditions/camoucfg/json.hpp781COMMENT
LOWadditions/camoucfg/json.hpp821 #undef JSON_HEDLEY_GCC_VERSION_CHECKCOMMENT
LOWadditions/camoucfg/json.hpp841COMMENT
LOWadditions/camoucfg/json.hpp861 #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTECOMMENT
LOWadditions/camoucfg/json.hpp881 (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0))COMMENT
LOWadditions/camoucfg/json.hpp901#elseCOMMENT
LOWadditions/camoucfg/json.hpp921#endifCOMMENT
LOWadditions/camoucfg/json.hpp941#if defined(JSON_HEDLEY_GNUC_HAS_FEATURE)COMMENT
LOWadditions/camoucfg/json.hpp961#endifCOMMENT
214 more matches not shown…
Cross-Language Confusion43 hits · 164 pts
SeverityFileLineSnippetContext
HIGHtests/patches/main-world-eval.py84 ("array", "[1, 'two', null]", [1, "two", None]),STRING
HIGHtests/patches/trusted-events.py66 target: e.target.id || e.target.tagName,CODE
HIGHtests/patches/trusted-events.py72 if (e.target instanceof Element) window.log.push(desc(e));CODE
HIGHtests/patches/humanize-mouse-trajectory.py41 addEventListener("mousemove", e => moves.push([e.clientX, e.clientY]));CODE
HIGHtests/patches/config-overrides.py63 results.push(ctx.measureText(testStr).width);STRING
HIGHtests/async/test_jshandle.py131 undefined: undefined,STRING
HIGHtests/async/test_jshandle.py132 null: null,STRING
HIGHtests/async/test_navigation.py794 await page.evaluate("window.open('about:blank', null, 'noopener') && 1")CODE
HIGHtests/async/test_navigation.py818 await page.evaluate("url => window.open(url, null, 'noopener') && 1", server.EMPTY_PAGE)CODE
HIGHtests/async/test_navigation.py196 window.addEventListener('beforeunload', () => history.replaceState(null, 'initial', window.location.href), falseSTRING
HIGHtests/async/test_input.py331 e.addEventListener('input', () => events.push('input'));STRING
HIGHtests/async/test_input.py332 e.addEventListener('change', () => events.push('change'));STRING
HIGHtests/async/test_console.py144 if (!frame.contentDocument || frame.contentDocument.readyState !== 'complete')STRING
HIGHtests/async/test_fetch_global.py441 ({"foo": None}, '{"foo": null}'),CODE
HIGHtests/async/test_page_evaluate.py154 '({ a, b }) => Object.is(a, null) && Object.is(b, "foo")',CODE
HIGHtests/async/test_emulation_focus.py72 document.onclick = () => window.click_count = (window.click_count || 0) + 1;CODE
HIGHtests/async/test_emulation_focus.py141 element.onfocus = element.onblur = (e) => self._events.push(e.type);CODE
HIGHtests/async/test_page.py1205 events.push({STRING
HIGHtests/async/test_page.py1212 events.push({STRING
HIGHtests/async/test_locators.py714 events.push({CODE
HIGHtests/async/test_locators.py721 events.push({CODE
HIGHtests/async/test_page_route.py215 request.send(null);STRING
HIGHtests/async/test_keyboard.py108 document.addEventListener('keydown', e => events.push(e.type));STRING
HIGHtests/async/test_keyboard.py109 document.addEventListener('keyup', e => events.push(e.type));STRING
HIGHtests/async/test_keyboard.py110 document.addEventListener('keypress', e => events.push(e.type));STRING
HIGHtests/async/test_keyboard.py111 document.addEventListener('input', e => events.push(e.type));STRING
HIGHtests/async/test_keyboard.py40 lastEvent.keyIdentifier = 'keyIdentifier' in e && e.keyIdentifier;STRING
HIGHtests/async/test_keyboard.py450 if (event.key === 'a' && (event.metaKey || event.ctrlKey))STRING
HIGHtests/async/test_headful.py163 """() => window.outerWidth === 500 && window.outerHeight === 450"""STRING
HIGHtests/async/test_tap.py234 target.addEventListener(event, () => events.push(event), false);STRING
HIGHtests/async/test_browsertype_connect.py294 e.addEventListener('input', () => events.push('input'));STRING
HIGHtests/async/test_browsertype_connect.py295 e.addEventListener('change', () => events.push('change'));STRING
HIGHpythonlib/tests/test_voices.py7 cd pythonlib && python -m pytest tests/test_voices.py -vSTRING
HIGHpythonlib/tests/test_launch_geometry.py5 cd pythonlib && python -m pytest tests/test_launch_geometry.py -vSTRING
HIGHpythonlib/tests/test_virtdisplay.py7 cd pythonlib && python -m pytest tests/test_virtdisplay.py -vSTRING
HIGHpythonlib/tests/test_display.py9 cd pythonlib && python -m pytest tests/test_display.py -vSTRING
HIGHpythonlib/tests/test_server.py14 cd pythonlib && python -m pytest tests/test_server.py -vSTRING
HIGHpythonlib/tests/test_fingerprint_fixes.py6 cd pythonlib && python -m pytest tests/test_fingerprint_fixes.py -vSTRING
HIGHscripts/bootstrap.py33Try running `cd %s && hg pull https://hg.mozilla.org/mozilla-unified` manually,CODE
HIGHscripts/patch.py43 run('git reset --hard unpatched && ./mach clobber && git clean -fdx')CODE
HIGHbuild-tester/scripts/runner.py49 "() => { const n = document.getElementById(%r); return n ? n.textContent : null; }" % _RESULTS_NODECODE
HIGHbuild-tester/scripts/runner.py167 hardwareConcurrency: navigator.hardwareConcurrency || 0,CODE
HIGHbuild-tester/scripts/runner.py286 " Run: pip install playwright && python -m playwright install firefox\n"CODE
Decorative Section Separators36 hits · 112 pts
SeverityFileLineSnippetContext
MEDIUMservice-tester/_constants.py4# ─── Paths ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMservice-tester/_constants.py9# ─── Check category labels ────────────────────────────────────────────────────COMMENT
MEDIUMservice-tester/_constants.py35# ─── ANSI colors ──────────────────────────────────────────────────────────────COMMENT
MEDIUMservice-tester/_constants.py59# ─── Certificate box drawing ──────────────────────────────────────────────────COMMENT
MEDIUMservice-tester/_constants.py81# ─── ASCII art ────────────────────────────────────────────────────────────────COMMENT
MEDIUMservice-tester/run_tests.py186 # ── Final summary ──────────────────────────────────────────────────────────COMMENT
MEDIUMservice-tester/run_tests.sh126# ── Phase 1: locally compiled binary ─────────────────────────────────────────COMMENT
MEDIUMservice-tester/run_tests.sh143# ── Phase 2: fetched binary (--browser-version) ──────────────────────────────COMMENT
MEDIUMscripts/install-deps.sh20# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh40# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh54# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh56# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh91# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh93# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh109# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh111# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh146# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh148# ---------------------------------------------------------------------------COMMENT
MEDIUMscripts/install-deps.sh177# ---------------------------------------------------------------------------COMMENT
MEDIUMbuild-tester/scripts/runner.py40# ─── Per-Context Phase ────────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/runner.py214# ─── Main Test Runner ─────────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/runner.py295 # ── Per-context phase ──────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/runner.py317 # ── Global phase ───────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/runner.py380 # ── Final summary ──────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/grading.py8# ─── Grading ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/grading.py71# ─── Match Verification ───────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/grading.py119# ─── Cross-Profile Analysis ───────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/certificate.py16# ─── Box Drawing ──────────────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/certificate.py61# ─── Profile Result Printing ──────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/certificate.py84# ─── Certificate Generation ───────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/certificate.py218# ─── ASCII Certificate Display ────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/presets.py12# ─── Preset Generation ────────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/presets.py81# ─── Preset Injection ─────────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/presets.py102# ─── Profile Config ───────────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/constants.py7# ─── Test Configuration ───────────────────────────────────────────────────────COMMENT
MEDIUMbuild-tester/scripts/constants.py51# ─── ANSI Colors ──────────────────────────────────────────────────────────────COMMENT
Excessive Try-Catch Wrapping74 hits · 88 pts
SeverityFileLineSnippetContext
LOWjsonvv/jsonvv/validator.py69 except Exception as e:CODE
LOWjsonvv/jsonvv/types.py177 except Exception:CODE
LOWtests/conftest.py243 except Exception:CODE
LOWtests/server.py269 except Exception:CODE
LOWtests/server.py287 except Exception:CODE
LOWtests/patches/main-world-eval.py118 except Exception as exc: # noqa: BLE001 - the message is the pointSTRING
LOWtests/patches/main-world-eval.py149 except Exception as exc: # noqa: BLE001STRING
LOWtests/patches/main-world-eval.py184 except Exception as exc: # noqa: BLE001STRING
LOWtests/patches/main-world-eval.py197 except Exception as exc: # noqa: BLE001STRING
LOWtests/async/test_browsercontext_request_fallback.py101 except Exception:CODE
LOWtests/async/test_page_evaluate.py230 except Exception as e:CODE
LOWtests/async/test_request_continue.py101 except Exception as e:CODE
LOWtests/async/test_page_request_fallback.py135 except Exception:CODE
LOWpythonlib/camoufox/geolocation.py184 except Exception as e:CODE
LOWpythonlib/camoufox/multiversion.py451 except Exception as e:CODE
MEDIUMpythonlib/camoufox/multiversion.py452 rprint(f"Error: {e}", fg="red")CODE
LOWpythonlib/camoufox/addons.py91 except Exception as e:CODE
LOWpythonlib/camoufox/virtdisplay.py181 except Exception:CODE
LOWpythonlib/camoufox/pkgman.py149 except Exception:CODE
LOWpythonlib/camoufox/pkgman.py457 except Exception as e:CODE
LOWpythonlib/camoufox/pkgman.py692 except Exception as e:CODE
LOWpythonlib/camoufox/display.py56 except Exception:CODE
LOWpythonlib/camoufox/display.py77 except Exception:CODE
MEDIUMpythonlib/camoufox/utils.py98 print(f"Error updating config: {e}")CODE
LOWpythonlib/camoufox/utils.py110 except Exception as e:CODE
MEDIUMpythonlib/camoufox/utils.py111 print(f"Error setting {env_name}: {e}")CODE
LOWpythonlib/camoufox/utils.py428 except Exception:CODE
LOWpythonlib/camoufox/utils.py454 except Exception:CODE
LOWpythonlib/camoufox/utils.py747 except Exception:CODE
LOWpythonlib/camoufox/utils.py755 except Exception:CODE
LOWpythonlib/camoufox/sync_api.py149 except Exception:CODE
LOWpythonlib/camoufox/async_api.py152 except Exception:CODE
LOWpythonlib/camoufox/fingerprints.py617 except Exception:CODE
LOWpythonlib/camoufox/fingerprints.py630 except Exception:CODE
LOWpythonlib/camoufox/fingerprints.py782 except Exception:CODE
LOWpythonlib/camoufox/fingerprints.py789 except Exception:CODE
LOWpythonlib/camoufox/fingerprints.py818 except Exception:CODE
LOWpythonlib/camoufox/__main__.py117 except Exception:CODE
LOWpythonlib/camoufox/__main__.py158 except Exception as e:CODE
LOWpythonlib/camoufox/__main__.py316 except Exception as e:CODE
MEDIUMpythonlib/camoufox/__main__.py322 rprint(f"Error: {msg}", fg="red")CODE
LOWpythonlib/camoufox/gui/backend.py88 except Exception as e:CODE
LOWpythonlib/camoufox/gui/backend.py149 except Exception as e:CODE
LOWpythonlib/camoufox/gui/backend.py164 except Exception as e:CODE
LOWpythonlib/camoufox/gui/backend.py571 except Exception:CODE
LOWpythonlib/camoufox/gui/backend.py794 except Exception as e:CODE
LOWpythonlib/camoufox/gui/backend.py850 except Exception:CODE
LOWpythonlib/camoufox/gui/backend.py921 except Exception as e:CODE
LOWpythonlib/camoufox/gui/backend.py977 except Exception:CODE
MEDIUMpythonlib/camoufox/gui/backend.py58def run(self):CODE
MEDIUMpythonlib/camoufox/gui/backend.py103def run(self):CODE
MEDIUMpythonlib/camoufox/gui/backend.py158def run(self):CODE
MEDIUMpythonlib/camoufox/gui/backend.py566def _pkg_version(pkg):CODE
LOWpythonlib/tests/test_virtdisplay.py45 except Exception:CODE
LOWservice-tester/run_tests.py122 except Exception as e:CODE
LOWservice-tester/run_tests.py168 except Exception as e:CODE
LOWservice-tester/run_tests.py179 except Exception:CODE
LOWservice-tester/run_tests.py182 except Exception as e:CODE
LOWservice-tester/_proxies.py58 except Exception:CODE
MEDIUMscripts/package.py157 print(f"Error: No package file found matching pattern: {search_path}")CODE
14 more matches not shown…
Unused Imports52 hits · 50 pts
SeverityFileLineSnippetContext
LOWjsonvv/jsonvv/__init__.py1CODE
LOWjsonvv/jsonvv/__init__.py1CODE
LOWjsonvv/jsonvv/__init__.py1CODE
LOWjsonvv/jsonvv/__init__.py1CODE
LOWjsonvv/jsonvv/__init__.py1CODE
LOWjsonvv/jsonvv/__init__.py1CODE
LOWjsonvv/jsonvv/__init__.py1CODE
LOWjsonvv/jsonvv/__init__.py10CODE
LOWtests/patches/helpers.py10CODE
LOWtests/patches/helpers.py10CODE
LOWtests/async/test_navigation.py23CODE
LOWtests/async/test_download.py18CODE
LOWtests/async/test_browsercontext_proxy.py15CODE
LOWtests/async/test_browsercontext_proxy.py17CODE
LOWtests/async/test_browsercontext_proxy.py17CODE
LOWtests/async/test_browsercontext_proxy.py22CODE
LOWtests/async/test_browsercontext_route.py17CODE
LOWtests/async/test_browsercontext_route.py17CODE
LOWtests/async/test_fetch_browser_context.py18CODE
LOWtests/async/test_page.py19CODE
LOWtests/async/test_page.py23CODE
LOWtests/async/test_request_continue.py16CODE
LOWtests/async/test_worker.py21CODE
LOWtests/async/test_proxy.py15CODE
LOWtests/async/test_proxy.py17CODE
LOWtests/async/test_proxy.py21CODE
LOWtests/async/test_route_request_fingerprint.py18CODE
LOWtests/async/test_route_request_fingerprint.py18CODE
LOWtests/async/test_browsercontext.py20CODE
LOWpythonlib/camoufox/__init__.py1CODE
LOWpythonlib/camoufox/__init__.py2CODE
LOWpythonlib/camoufox/__init__.py2CODE
LOWpythonlib/camoufox/__init__.py2CODE
LOWpythonlib/camoufox/__init__.py3CODE
LOWpythonlib/camoufox/__init__.py3CODE
LOWpythonlib/camoufox/__init__.py3CODE
LOWpythonlib/camoufox/__init__.py4CODE
LOWpythonlib/camoufox/pkgman.py11CODE
LOWpythonlib/camoufox/sync_api.py3CODE
LOWpythonlib/camoufox/async_api.py5CODE
LOWpythonlib/camoufox/fingerprints.py6CODE
LOWpythonlib/camoufox/__main__.py23CODE
LOWpythonlib/camoufox/webgl/__init__.py1CODE
LOWpythonlib/camoufox/gui/__init__.py14CODE
LOWservice-tester/_certificate.py11CODE
LOWservice-tester/_certificate.py11CODE
LOWservice-tester/_grading.py3CODE
LOWscripts/bootstrap.py311CODE
LOWscripts/patch.py14CODE
LOWscripts/patch.py20CODE
LOWbuild-tester/scripts/certificate.py11CODE
LOWbuild-tester/scripts/presets.py9CODE
Deep Nesting47 hits · 46 pts
SeverityFileLineSnippetContext
LOWjsonvv/jsonvv/validator.py105CODE
LOWjsonvv/jsonvv/validator.py31CODE
LOWjsonvv/jsonvv/types.py87CODE
LOWjsonvv/jsonvv/parser.py73CODE
LOWjsonvv/jsonvv/parser.py237CODE
LOWjsonvv/jsonvv/strings.py10CODE
LOWtests/utils.py21CODE
LOWtests/async/test_navigation.py1046CODE
LOWtests/async/test_network.py657CODE
LOWpythonlib/camoufox/geolocation.py130CODE
LOWpythonlib/camoufox/multiversion.py278CODE
LOWpythonlib/camoufox/multiversion.py386CODE
LOWpythonlib/camoufox/virtdisplay.py113CODE
LOWpythonlib/camoufox/pkgman.py834CODE
LOWpythonlib/camoufox/pkgman.py892CODE
LOWpythonlib/camoufox/pkgman.py443CODE
LOWpythonlib/camoufox/utils.py174CODE
LOWpythonlib/camoufox/utils.py466CODE
LOWpythonlib/camoufox/fingerprints.py188CODE
LOWpythonlib/camoufox/fingerprints.py546CODE
LOWpythonlib/camoufox/fingerprints.py727CODE
LOWpythonlib/camoufox/__main__.py74CODE
LOWpythonlib/camoufox/__main__.py329CODE
LOWpythonlib/camoufox/__main__.py428CODE
LOWpythonlib/camoufox/__main__.py684CODE
LOWpythonlib/camoufox/gui/backend.py574CODE
LOWpythonlib/camoufox/gui/backend.py696CODE
LOWpythonlib/camoufox/gui/backend.py929CODE
LOWpythonlib/camoufox/gui/backend.py996CODE
LOWpythonlib/camoufox/gui/backend.py1140CODE
LOWservice-tester/_certificate.py52CODE
LOWservice-tester/_certificate.py116CODE
LOWservice-tester/run_tests.py43CODE
LOWservice-tester/_grading.py19CODE
LOWservice-tester/_grading.py32CODE
LOWscripts/package.py16CODE
LOWscripts/patch.py53CODE
LOWscripts/patch.py115CODE
LOWscripts/run-pw.py54CODE
LOWscripts/developer.py29CODE
LOWscripts/developer.py185CODE
LOWbuild-tester/scripts/runner.py82CODE
LOWbuild-tester/scripts/runner.py216CODE
LOWbuild-tester/scripts/grading.py23CODE
LOWbuild-tester/scripts/grading.py36CODE
LOWbuild-tester/scripts/certificate.py86CODE
LOWbuild-tester/scripts/certificate.py111CODE
Self-Referential Comments10 hits · 30 pts
SeverityFileLineSnippetContext
MEDIUMjsonvv/jsonvv/validator.py17 # Create a registry for reference types and parsed type definitionsCOMMENT
MEDIUMjsonvv/jsonvv/validator.py115 # Create a new registry for this scope, inheriting from parent if it existsCOMMENT
MEDIUMjsonvv/jsonvv/parser.py292 # Create a DictType for dictionary referencesCOMMENT
MEDIUMpatches/librewolf/pack_vs.py44 # Create an archive containing all the paths in lowercase form forCOMMENT
MEDIUMpatches/librewolf/pack_vs.py76 # Create an overlay file for use with clang's -ivfsoverlay flag.COMMENT
MEDIUMtests/async/test_browsercontext.py65 # Create a page in first incognito context.COMMENT
MEDIUMtests/async/test_browsercontext.py78 # Create a page in second incognito context.COMMENT
MEDIUMpythonlib/camoufox/addons.py54 # Create a temporary file to store the downloaded zipCOMMENT
MEDIUMscripts/patch.py66 # Create the base mozconfig fileCOMMENT
MEDIUMscripts/developer.py33 # Create a display list with status labels and a reverse lookup mappingCOMMENT
Cross-File Repetition6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHtests/async/test_defaultbrowsercontext.py0() => { document.cookie = 'username=john doe'; return document.cookie; }STRING
HIGHtests/async/test_browsercontext_cookies.py0() => { document.cookie = 'username=john doe'; return document.cookie; }STRING
HIGHtests/async/test_headful.py0() => { document.cookie = 'username=john doe'; return document.cookie; }STRING
HIGHtests/async/test_defaultbrowsercontext.py0src => { let fulfill; const promise = new promise(x => fulfill = x); const iframe = document.createelement('iframe'); doSTRING
HIGHtests/async/test_headful.py0src => { let fulfill; const promise = new promise(x => fulfill = x); const iframe = document.createelement('iframe'); doSTRING
HIGHtests/async/test_browsercontext_add_cookies.py0src => { let fulfill; const promise = new promise(x => fulfill = x); const iframe = document.createelement('iframe'); doSTRING
Redundant / Tautological Comments13 hits · 20 pts
SeverityFileLineSnippetContext
LOWjsonvv/jsonvv/parser.py270 # Check if all required patterns were matchedCOMMENT
LOWjsonvv/jsonvv/strings.py21 # Check if comma is escapedCOMMENT
LOWtests/run-tests.sh26# Check if venv exists, if not run setup-venv.shCOMMENT
LOWbundle/fonts/cleanfonts.sh19 # Check if the file exists to avoid errors if no .ttf or .otf files are foundCOMMENT
LOWpythonlib/camoufox/addons.py77 # Check if the addon is already extractedCOMMENT
LOWpythonlib/camoufox/__main__.py338 # Check if latest for this channel is already installedCOMMENT
LOWpythonlib/camoufox/__main__.py916 # Check if installed version is the latest in its own channelCOMMENT
LOWscripts/patch.py255 # Check if the folder existsCOMMENT
LOWscripts/copy-additions.sh6# Check if correct number of arguments are providedCOMMENT
LOWscripts/developer.py216 # Check if the patch can be applied or reversedCOMMENT
LOWscripts/developer.py265 # Add the patch to the listCOMMENT
LOWscripts/developer.py285 # Display messageCOMMENT
LOWscripts/generate-assets-car.sh13# Check if running on macOSCOMMENT
Modern Structural Boilerplate14 hits · 15 pts
SeverityFileLineSnippetContext
LOWjsonvv/jsonvv/__init__.py12__all__ = [CODE
LOWtests/server.py229 def set_auth(self, path: str, username: str, password: str) -> None:CODE
LOWtests/server.py232 def set_csp(self, path: str, value: str) -> None:CODE
LOWtests/server.py243 def set_route(self, path: str, callback: Callable[[TestServerRequest], Any]) -> None:CODE
LOWtests/server.py249 def set_redirect(self, from_: str, to: str) -> None:CODE
LOWpythonlib/camoufox/multiversion.py350def set_active(relative_path: str) -> None:CODE
LOWpythonlib/camoufox/__init__.py6__all__ = [CODE
LOWpythonlib/camoufox/pkgman.py620 def set_version(self) -> None:CODE
LOWpythonlib/camoufox/utils.py237def update_fonts(config: Dict[str, Any], target_os: str) -> None:CODE
LOWpythonlib/camoufox/utils.py305def set_into(target: Dict[str, Any], key: str, value: Any) -> None:CODE
LOWpythonlib/camoufox/fingerprints.py455def set_media_devices_defaults(config: Dict[str, Any]) -> None:CODE
LOWpythonlib/camoufox/webgl/__init__.py3__all__ = ['sample_webgl']CODE
LOWpythonlib/camoufox/gui/__init__.py16__all__ = ['main']CODE
LOWscripts/_mixin.py126__all__ = [CODE
Fake / Example Data14 hits · 14 pts
SeverityFileLineSnippetContext
LOWtests/async/test_defaultbrowsercontext.py178 "value": "John Doe",CODE
LOWtests/async/test_defaultbrowsercontext.py76 "value": "John Doe",CODE
LOWtests/async/test_defaultbrowsercontext.py99 "value": "John Doe",CODE
LOWtests/async/test_defaultbrowsercontext.py108 "value": "John Doe",CODE
LOWtests/async/test_selectors_get_by.py29 input.setAttribute('placeholder', 'hello my\\nwo"rld');STRING
LOWtests/async/test_selectors_get_by.py49 input.setAttribute('placeholder', 'hello my\\nworld');STRING
LOWtests/async/test_selectors_get_by.py70 input.setAttribute('placeholder', 'foo >> bar');STRING
LOWtests/async/test_browsercontext_cookies.py46 "value": "John Doe",CODE
LOWtests/async/test_browsercontext_cookies.py89 "value": "John Doe",CODE
LOWtests/async/test_browsercontext_cookies.py184 "value": "John Doe",CODE
LOWtests/async/test_fetch_browser_context.py69 "value": "John Doe",CODE
LOWtests/async/test_fetch_browser_context.py131 "value": "John Doe",CODE
LOWtests/async/test_headful.py129 "value": "John Doe",CODE
LOWtests/async/test_browsercontext_add_cookies.py409 "value": "John Doe",CODE
Structural Annotation Overuse7 hits · 14 pts
SeverityFileLineSnippetContext
LOWdocs/patch-upgrading-guide.md69### Step 1: Apply Base Patch and Identify RejectsCOMMENT
LOWdocs/patch-upgrading-guide.md82### Step 2: Analyze Each Reject FileCOMMENT
LOWdocs/patch-upgrading-guide.md95### Step 3: Locate the Correct Position in Firefox CodeCOMMENT
LOWdocs/patch-upgrading-guide.md103### Step 4: Apply Changes ManuallyCOMMENT
LOWdocs/patch-upgrading-guide.md107### Step 5: Remove Reject FilesCOMMENT
LOWdocs/patch-upgrading-guide.md116### Step 6: Generate Updated PatchCOMMENT
LOWdocs/patch-upgrading-guide.md130### Step 7: Verify Patch Applies CleanlyCOMMENT
Overly Generic Function Names12 hits · 10 pts
SeverityFileLineSnippetContext
LOWtests/async/test_navigation.py852 def handle_request(request: TestServerRequest) -> None:CODE
LOWtests/async/test_network.py41 async def handle_request(route: Route, request: Request) -> None:CODE
LOWtests/async/test_network.py71 async def handle_request(route: Route, request: Request, intercepted: List[bool]) -> None:CODE
LOWtests/async/test_network.py665 def handle_request(request: TestServerRequest) -> None:CODE
LOWtests/async/test_network.py762 def handle_request(request: Request) -> None:CODE
LOWtests/async/test_page_route.py39 async def handle_request(route: Route, request: Request) -> None:CODE
LOWtests/async/test_page_route.py136 async def handle_request(route: Route) -> None:CODE
LOWtests/async/test_page_route.py249 def handle_request(request: Request) -> None:CODE
LOWtests/async/test_page_route.py403 def handle_request(request: TestServerRequest, hits: List[bool]) -> None:CODE
LOWtests/async/test_page_route.py968 async def handle_request(route: Route) -> None:CODE
LOWtests/async/test_page_route.py1007 async def handle_request(route: Route) -> None:CODE
LOWtests/async/test_browsertype_connect.py253 async def handle_request(route: Route) -> None:CODE
AI Structural Patterns5 hits · 5 pts
SeverityFileLineSnippetContext
LOWjsonvv/jsonvv/parser.py198CODE
LOWjsonvv/jsonvv/strings.py64CODE
LOWjsonvv/jsonvv/strings.py36CODE
LOWpythonlib/camoufox/utils.py466CODE
LOWpythonlib/camoufox/gui/backend.py240CODE
Docstring Block Structure1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHpythonlib/camoufox/webgl/sample.py17 Sample a random WebGL vendor/renderer combination and its data based on OS probabilities. Optionally use a specSTRING
Example Usage Blocks2 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/install-deps.sh14# Usage:COMMENT
LOWscripts/install-local-build.sh4# Usage:COMMENT
AI Slop Vocabulary1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/run-pw.py71 # Or else just use firefox-binCOMMENT