Public scan — anyone with this URL can view this analysis. Sign up to track your own repos privately, run scheduled re-scans, and get AI fix prompts via your dashboard.
80 of your 154 findings came from Repobility's proprietary detections. ✓ Repobility tags below mark them.

Scan timing: clone 3.59s · analysis 8.92s · 54.6 MB · GitHub API rate-limit (preflight)

platonai/Browser4

https://github.com/platonai/Browser4 · scanned 2026-06-05 14:32 UTC (5 days, 4 hours ago) · 10 languages

431 raw signals (141 security + 290 graph) 11/13 scanners ran 100th percentile · Kotlin · large (100-500K LoC) System graph score 88 (lower by 2)

UNIFIED Repobility · multi-layer engine · AI coders

Complete repo analysis

Last scanned 5 days, 4 hours ago · v2 · 178 actionable findings from 2 signal sources. 93 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.

JSON
Score breakdown â 2026-05-18-v5
Component Sub-score Weight Contribution
structure_score 60.0 0.15 9.00
security_score 100.0 0.25 25.00
testing_score 95.0 0.20 19.00
documentation_score 75.0 0.15 11.25
practices_score 96.0 0.15 14.40
code_quality 67.0 0.10 6.70
Overall 1.00 85.4
security_score may be inflated — optional security scanners were skipped on this fast scan
Severity distribution — click a segment to filter
Active filters: excluding tests × Reset all
Scan summary Quality grade A- (85/100). Dimensions: security 100, maintainability 60. 141 findings (46 security). 291,764 lines analyzed.

Showing 131 of 178 actionable findings. 271 raw detector signals were grouped into reader-sized issues. Click TP / FP to vote on a finding's accuracy — votes adjust the confidence weighting and improve detection across the platform.

high Security checks security auth conf 0.70 [AUC003] Object-level route lacks visible authorization: A route with an object id-like parameter does not show nearby authentication or authorization evidence. This is a BOLA/IDOR review target. Endpoint: ANY /{id}.
Add ownership, tenant, relationship, or policy checks before reading or mutating the target object.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/ConversationController.kt:68
high Security checks security auth conf 0.70 [AUC003] Object-level route lacks visible authorization: A route with an object id-like parameter does not show nearby authentication or authorization evidence. This is a BOLA/IDOR review target. Endpoint: ANY /{id}/result.
Add ownership, tenant, relationship, or policy checks before reading or mutating the target object.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/SwarmController.kt:127
high Security checks security auth conf 0.70 [AUC003] Object-level route lacks visible authorization: A route with an object id-like parameter does not show nearby authentication or authorization evidence. This is a BOLA/IDOR review target. Endpoint: ANY /{id}/result.
Add ownership, tenant, relationship, or policy checks before reading or mutating the target object.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/ScrapeController.kt:120
high Security checks security auth conf 0.70 [AUC003] Object-level route lacks visible authorization: A route with an object id-like parameter does not show nearby authentication or authorization evidence. This is a BOLA/IDOR review target. Endpoint: ANY /{id}/stream.
Add ownership, tenant, relationship, or policy checks before reading or mutating the target object.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/ConversationController.kt:82
high Security checks security auth conf 0.70 [AUC003] Object-level route lacks visible authorization: A route with an object id-like parameter does not show nearby authentication or authorization evidence. This is a BOLA/IDOR review target. Endpoint: ANY /{uuid}.
Add ownership, tenant, relationship, or policy checks before reading or mutating the target object.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/ExtractionController.kt:51
high Security checks security auth conf 0.70 [AUC003] Object-level route lacks visible authorization: A route with an object id-like parameter does not show nearby authentication or authorization evidence. This is a BOLA/IDOR review target. Endpoint: ANY /{uuid}/stream.
Add ownership, tenant, relationship, or policy checks before reading or mutating the target object.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/ExtractionController.kt:65
low Security checks quality Quality conf 1.00 ✓ Repobility [MINED006] Overcatch Baseexception: except BaseException: ... — prevents Ctrl+C and SystemExit from working.
Review and fix per the pattern semantics. See CWE-705 / for context.
browser4-agentic/src/main/resources/skills/mcp-builder/scripts/connections.py:44
high Security checks quality Quality conf 1.00 ✓ Repobility [MINED029] Kotlin Null Bang: x!! throws NullPointerException if x is null. Bypasses Kotlins null safety.
Review and fix per the pattern semantics. See CWE-476 / for context.
browser4-core/browser4-skeleton/src/main/kotlin/ai/platon/pulsar/skeleton/workflow/parse/ParserConfigReader.kt:57
high Security checks quality Quality conf 1.00 ✓ Repobility [MINED029] Kotlin Null Bang: x!! throws NullPointerException if x is null. Bypasses Kotlins null safety.
Review and fix per the pattern semantics. See CWE-476 / for context.
browser4-core/browser4-browser/src/main/kotlin/ai/platon/browser4/chrome/handler/transport/KtorTransport.kt:79
high Security checks quality Quality conf 1.00 ✓ Repobility 11 occurrences [MINED108] `self.should_skip_file` used but never assigned in __init__: Method `find_documentation_files` of class `LinkChecker` reads `self.should_skip_file`, but no assignment to it exists in __init__ (and no class-level fallback). This raises AttributeError the first time the method runs against an instance.
Initialize `self.should_skip_file = <default>` in __init__, or add a class-level default.
2 files, 11 locations
bin/quality/fix-links.py:129, 135, 181, 302, 312, 317, 346, 350, +2 more (10 hits)
browser4-agentic/src/main/resources/skills/mcp-builder/scripts/connections.py:30
high Security checks software dependencies conf 0.90 ✓ Repobility 4 occurrences [MINED118] Dockerfile FROM `rust:1.94-bookworm` not pinned by digest: `FROM rust:1.94-bookworm` resolves the tag at build time. The registry CAN re-push a different image for the same tag, so every build is potentially different. Production images should pin to `image@sha256:...` for reproducibility + supply-chain integrity.
Replace with: `FROM rust:1.94-bookworm@sha256:<digest>`. Get the digest from `docker manifest inspect`. Re-pin via a scheduled bot (Renovate, Dependabot).
3 files, 4 locations
Dockerfile:2, 41 (2 hits)
Dockerfile.fast:8
cli/docker/Dockerfile.build:2
high Security checks security path traversal conf 0.80 3 occurrences [SEC013] Path Traversal — User Input in File Path: User-controlled input used in file path without sanitization. Allows reading arbitrary files.
Use os.path.realpath() and verify the path starts with your expected base directory. Use secure_filename() for uploads.
3 files, 3 locations
browser4-agentic/src/main/resources/skills/pdf/scripts/create_validation_image.py:16
browser4-agentic/src/main/resources/skills/weather/scripts/get_weather.py:58
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/SwarmController.kt:41
high Security checks software Xxe conf 1.00 [SEC024] XML External Entity (XXE) — Java parser default: Java XML parsers accept external entity references by default. An attacker can craft XML input that reads server files (file://), exfiltrates data via DNS, or causes denial of service via the 'billion laughs' attack.
Disable DTDs and external entities before parsing: factory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); factory.setFeature("http://xml.org/sax/features/external-general-entities", false); factory.setFeature("http://xml.org/sax/features/external-parameter-entities"…
browser4-core/browser4-skeleton/src/main/kotlin/ai/platon/pulsar/skeleton/workflow/parse/ParserConfigReader.kt:40
high Security checks cicd CI/CD security conf 0.84 Database service publishes a host port
Use `expose` for service-to-service access, bind to 127.0.0.1 for local-only access, or protect the port with firewall rules.
docker-compose.yml:1 CI/CD securitycontainers
low Security checks cicd CI/CD security conf 0.90 ✓ Repobility 42 occurrences GitHub Action is tag-pinned rather than SHA-pinned
[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout@v4` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lo…
3 files, 42 locations
.github/workflows/release.yml:105, 111, 269, 585, 593, 734, 739, 812, +11 more (38 hits)
.github/workflows/ci.yml:44 (2 hits)
.github/workflows/nightly.yml:33 (2 hits)
CI/CD securitySupply chainGitHub Actions
medium Security checks cicd CI/CD security conf 0.90 ✓ Repobility 8 occurrences GitHub Action is tag-pinned rather than SHA-pinned
[MINED115] Action `dtolnay/rust-toolchain` pinned to mutable ref `@stable`: `uses: dtolnay/rust-toolchain@stable` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-…
2 files, 8 locations
.github/workflows/ci.yml:74, 77 (4 hits)
.github/workflows/nightly.yml:132, 135 (4 hits)
CI/CD securitySupply chainGitHub Actions
high System graph security security conf 1.00 Insecure pattern 'eval_used' in browser4-core/browser4-browser/src/main/resources/js/stealth.js:4
Found a known-risky pattern (eval_used). Review and replace if possible.
browser4-core/browser4-browser/src/main/resources/js/stealth.js:4 Eval used
high System graph security security conf 1.00 Insecure pattern 'eval_used' in cdp-protocol/js_protocol.json:3226
Found a known-risky pattern (eval_used). Review and replace if possible.
cdp-protocol/js_protocol.json:3226 Eval used
medium Security checks security auth conf 0.92 [AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks but does not define .repobility/access.yml or equivalent authorization documentation.
Add .repobility/access.yml mapping routes to anonymous, authenticated, owner, admin, and super_admin. Keep business-specific rules in the repo so CI can enforce them.
high Security checks security auth conf 0.74 [AUC002] Low visible authorization coverage in route inventory: Only 35.1% of discovered routes show nearby authentication, authorization, middleware, or public-route evidence.
Review the access matrix and add explicit framework auth declarations or policy-file exceptions for intentionally public routes.
high Security checks security auth conf 0.66 [AUC004] Admin route does not show super_admin separation: An administrative route was detected without nearby evidence that platform super_admin access is separated from tenant/application admin access. Endpoint: ANY /api/system.
Define whether this endpoint is admin-only or super_admin-only, then enforce that distinction in code and .repobility/access.yml.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/SystemController.kt:16
high Security checks security auth conf 0.66 [AUC004] Admin route does not show super_admin separation: An administrative route was detected without nearby evidence that platform super_admin access is separated from tenant/application admin access. Endpoint: ANY /health.
Define whether this endpoint is admin-only or super_admin-only, then enforce that distinction in code and .repobility/access.yml.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/SystemController.kt:22
high Security checks security auth conf 0.66 [AUC004] Admin route does not show super_admin separation: An administrative route was detected without nearby evidence that platform super_admin access is separated from tenant/application admin access. Endpoint: ANY /report.
Define whether this endpoint is admin-only or super_admin-only, then enforce that distinction in code and .repobility/access.yml.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/SystemController.kt:40
high Security checks security auth conf 0.68 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears to perform a sensitive function such as export, invite, role, token, billing, or destructive action without elevated policy evidence. Endpoint: ANY /call-tool.
Require an explicit admin, maintainer, super_admin, or scoped service role in code and .repobility/access.yml.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/mcp/controller/MCPToolController.kt:196
high Security checks security auth conf 0.68 [AUC009] Sensitive function route lacks elevated authorization evidence: A route appears to perform a sensitive function such as export, invite, role, token, billing, or destructive action without elevated policy evidence. Endpoint: ANY /tools.
Require an explicit admin, maintainer, super_admin, or scoped service role in code and .repobility/access.yml.
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/mcp/controller/MCPToolController.kt:236
medium Security checks quality Error handling conf 1.00 [ERR002] Empty Catch Block: Empty catch blocks hide errors.
Log the error or rethrow it. Use console.error() at minimum.
browser4-core/browser4-browser/src/main/resources/js/dom_settle.js:41
low Security checks quality Error handling conf 0.55 ✓ Repobility 8 occurrences Broad exception handler needs review
This handler catches Exception/BaseException. It is actionable when it swallows errors without logging, re-raising, or returning a structured error. Handlers that intentionally convert exceptions into typed error results should not be treated as high risk.
3 files, 8 locations
bin/quality/fix-links.py:185, 282, 381, 549 (4 hits)
browser4-agentic/src/main/resources/skills/mcp-builder/scripts/evaluation.py:74, 118 (2 hits)
coworker/scripts/workers/count-total-token-usage.py:134, 224 (2 hits)
Error handlingquality
medium Security checks cicd CI/CD security conf 0.94 3 occurrences Compose service `mongodb` image uses the latest tag
Pin to a maintained version tag or digest and update it deliberately through dependency automation.
lines 1, 18, 26
docker-compose.yml:1, 18, 26 (3 hits)
CI/CD securitycontainers
high Security checks cicd CI/CD security conf 0.82 Docker final stage has no non-root USER
Add a non-root USER in the final runtime stage after files and permissions are prepared.
cli/docker/Dockerfile.build:2 CI/CD securitycontainers
medium Security checks cicd CI/CD security conf 0.76 Dockerfile copies broad context with incomplete .dockerignore
Tighten .dockerignore or replace COPY . with explicit COPY statements.
Dockerfile:15 CI/CD securitycontainers
medium Security checks quality Quality conf 0.78 Public web service has no security.txt
Add /.well-known/security.txt with Contact, Expires, Canonical, Preferred-Languages, and Policy fields. Keep the contact endpoint monitored.
.well-known/security.txt
medium System graph frontend Frontend quality conf 1.00 `dangerouslySetInnerHTML` used in a React component — browser4-tests/browser4-tests-common/src/main/resources/static/assets/react/[email protected]:6
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
Fq dangerous html
medium System graph frontend Frontend quality conf 1.00 `dangerouslySetInnerHTML` used in a React component — browser4-tests/browser4-tests-common/src/main/resources/static/assets/react/[email protected]:26
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
Fq dangerous html
medium System graph frontend Frontend quality conf 1.00 `dangerouslySetInnerHTML` used in a React component — browser4-tests/browser4-tests-common/src/main/resources/static/assets/react/[email protected]:26
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
Fq dangerous html
medium System graph frontend Frontend quality conf 1.00 `dangerouslySetInnerHTML` used in a React component — browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react-dom_15.7.0.js:5470
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
Fq dangerous html
medium System graph frontend Frontend quality conf 1.00 `dangerouslySetInnerHTML` used in a React component — browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react-dom_16.14.0.js:1015
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
Fq dangerous html
medium System graph frontend Frontend quality conf 1.00 `dangerouslySetInnerHTML` used in a React component — browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react-dom_17.0.2.js:309
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
Fq dangerous html
medium System graph frontend Frontend quality conf 1.00 `dangerouslySetInnerHTML` used in a React component — browser4-tests/browser4-tests-common/src/main/resources/static/assets/stress/static/js/main.cc4a7955.js:2
Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library. Why: OWASP basics. Already partially flagged by the security analyzer. Rule id: fq.dangerous-html
Fq dangerous html
medium System graph cicd CI/CD security conf 1.00 GitHub Actions workflow grants broad write permissions
CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions.
.github/workflows/release.yml CI/CD securitySupply chainGithub actions
medium System graph security Coverage conf 1.00 No auth library detected
The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). Either auth lives in custom code, in a separate service, or is missing.
auth
low Security checks cicd CI/CD security conf 0.72 .dockerignore misses sensitive defaults
Add missing patterns such as .env, .git, private keys, certificates, dependency folders, and local databases.
.dockerignore CI/CD securitycontainers
low Security checks security auth conf 0.76 [AUC005] No authorization-focused tests detected: No test files with common authorization, ownership, 403, admin, or super_admin assertions were found.
Add regression tests for anonymous denial, cross-user object denial, admin role limits, and super_admin-only behavior.
high Security checks cicd CI/CD security conf 0.56 2 occurrences Compose service does not declare a runtime user
Set a non-root `user:` in Compose or ensure the final image stage has a non-root USER directive.
lines 18, 26
docker-compose.yml:18, 26 (2 hits)
CI/CD securitycontainers
high Security checks cicd CI/CD security conf 0.62 5 occurrences Compose service lacks no-new-privileges hardening
Add `security_opt: ["no-new-privileges:true"]` unless the service has a documented need for privilege escalation.
2 files, 5 locations
cli/docker/docker-compose.yml:8, 36, 57 (3 hits)
docker-compose.yml:18, 26 (2 hits)
CI/CD securitycontainers
low Security checks cicd CI/CD security conf 0.72 Dockerfile installs recommended OS packages
Add `--no-install-recommends` and explicitly list only packages the image needs.
cli/docker/Dockerfile.build:5 CI/CD securitycontainers
low Security checks quality Quality conf 0.60 7 occurrences Duplicated implementation block across source files
Duplicate implementation blocks are maintenance debt. Keep them visible, but they are not a high-severity defect unless the duplicated logic is security-sensitive or drifting.
7 files, 7 locations
browser4-apps/browser4-standalone/src/main/kotlin/ai/platon/pulsar/apps/Browser4StandaloneApplication.kt:18
browser4-core/browser4-browser/src/main/kotlin/ai/platon/pulsar/browser/detail/ScriptLoader.kt:88
browser4-core/browser4-skeleton/src/main/kotlin/ai/platon/pulsar/skeleton/workflow/common/url/StatefulListenableHyperlink.kt:8
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/controller/SystemController.kt:16
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/api/service/ScrapeService.kt:41
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/mcp/controller/ArgumentNormalizers.kt:19
browser4-rest/src/main/kotlin/ai/platon/pulsar/rest/mcp/controller/MCPToolController.kt:54
duplicationquality
low Security checks quality Quality conf 0.64 Public docs site has no llms.txt
Add llms.txt with the product summary, canonical docs, API endpoints, security guidance, and preferred CLI workflow for AI agents.
llms.txt
low Security checks quality Quality conf 0.50 Public web app has no humans.txt
Add humans.txt with team ownership, contact URL, key documentation links, and the last-updated date.
humans.txt
low System graph quality Maintenance conf 1.00 400 TODO/FIXME markers
High count of TODO/FIXME/HACK markers — track them as issues so they're not forgotten.
low System graph hardware Coverage conf 1.00 Containers defined but no K8s/orchestration manifest found
Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo.
Deployment
low System graph hardware Supply chain conf 1.00 Docker base image is tag-pinned but not digest-pinned: eclipse-temurin:21-jre-alpine
Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter.
Dockerfile:41 containersPinned dependencies
low System graph hardware Supply chain conf 1.00 Docker base image is tag-pinned but not digest-pinned: maven:3.9.9-eclipse-temurin-21-alpine
Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter.
Dockerfile:2 containersPinned dependencies
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-agentic/src/main/resources/skills/pdf/scripts/check_fillable_fields.py
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-agentic/src/test/resources/skills/script-runner/scripts/echo_args.py
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-core/browser4-browser/src/main/resources/js/configs.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-core/browser4-browser/src/main/resources/js/feature_calculator.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-core/browser4-browser/src/main/resources/js/node_ext.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/axe-core/accessible-text.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/axe-core/implicit-role.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/dummy_bad_browser_executable.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/es6/es6import.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/es6/es6module.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/es6/es6pathimport.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/extension-with-logging/background.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/extension-with-logging/content.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/frames/script.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/injectedfile.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/jscoverage/script1.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/jscoverage/script2.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/load-event/module.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/network-tab/script.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/prefetch.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/sectionselectorengine.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/selenium-grid/broken-selenium-driver.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/serviceworkers/empty/sw.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/serviceworkers/fetch/sw.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/serviceworkers/fetchdummy/sw.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/serviceworkers/stub/sw.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/shared-worker/shared-worker.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/simple-extension/content-script.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/stress/static/js/787.2f3b90fa.chunk.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/worker/import-me.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: browser4-tests/browser4-tests-common/src/main/resources/static/assets/worker/worker-http-import.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: cli/browser4-cli/jest.config.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: cli/scripts/check-npm-publish-needed.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: cli/scripts/check-version-sync.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: cli/scripts/copy-native.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: cli/scripts/sync-version.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph software Dead code candidate conf 1.00 File has no detected symbols: examples/browser4-examples/src/main/resources/custom-js/custom-scripts.js
Source file with no class/function declarations — possible config, dead code, or scratch file.
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `didWarnPropTypesDeprecated` in browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react_15.7.0.js:202
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `idxInOld` in browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/vue_2.6.14.js:6215
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph quality Integrity conf 1.00 Old/deprecated-named symbol `isBatchingLegacy` in browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react_18.1.0.js:83
Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version.
old markerDead code
low System graph cicd CI/CD security conf 1.00 package.json defines install-time lifecycle scripts
preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access.
cli/package.json CI/CD securitySupply chainNpm
low System graph software Dead code conf 1.00 Possibly dead Python function: patched_get_inherited
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
browser4-agentic/src/main/resources/skills/pdf/scripts/fill_fillable_fields.py:96
low System graph software Dead code conf 1.00 Possibly dead Python function: sort_key
No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler.
browser4-agentic/src/main/resources/skills/pdf/scripts/extract_form_field_info.py:126
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-core/browser4-browser/src/main/resources/js/__pulsar_utils__.js:1102
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-core/browser4-browser/src/main/resources/js/__vision_utils__.js:408
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/extension-with-logging/background.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/extension-with-logging/content.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/frames/script.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/jscoverage/script1.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/jscoverage/script2.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/load-event/module.js:2
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/simple-extension/content-script.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/worker/import-me.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/worker/worker-http-import.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — browser4-tests/browser4-tests-common/src/main/resources/static/assets/worker/worker.js:1
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — cli/scripts/check-npm-publish-needed.js:18
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — cli/scripts/check-version-sync.js:51
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — cli/scripts/copy-native.js:36
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — cli/scripts/npm-publish-check.js:34
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — cli/scripts/postinstall.js:116
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — cli/scripts/publish-if-needed.js:21
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — cli/scripts/sync-version.js:23
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph frontend Frontend quality conf 1.00 Stray `console.log` in TS/JS — examples/browser4-examples/src/main/resources/custom-js/custom-scripts.js:114
Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable. Why: Hygiene — easy to leak debug output. Rule id: fq.console-leak
Fq console leak
low System graph quality Complexity conf 1.00 Very large file: browser4-core/browser4-browser/src/main/resources/js/__pulsar_utils__.js (1797 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/modernizr/modernizr.js (4147 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react-dom_15.7.0.js (18853 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react-dom_16.14.0.js (25147 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react-dom_17.0.2.js (26292 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react_15.7.0.js (4268 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react_16.14.0.js (3318 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react_17.0.2.js (3357 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/react_18.1.0.js (3340 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/vue_2.6.14.js (12014 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: browser4-tests/browser4-tests-common/src/main/resources/static/assets/reading-list/vue_3.1.5.js (14997 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: cli/browser4-cli/src/commands.rs (2208 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: cli/browser4-cli/src/daemon.rs (3103 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: cli/browser4-cli/src/main.rs (5041 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: cli/browser4-cli/tests/e2e.rs (4205 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
low System graph quality Complexity conf 1.00 Very large file: cli/browser4-cli/tests/e2e/scenarios/mock_server.rs (2295 lines)
Files with >800 lines often hide complexity hotspots and discourage tests.
For AI agents: Voting guide (TP/FP) MCP manifest Stdio wrapper SARIF Integrate Findings queue Vote TP/FP on findings to calibrate the engine.
For AI agents + API integrations
Email me when this repo regresses
Free. We re-scan periodically; new criticals → your inbox. No signup required for the scan itself.
API access

This page is publicly accessible at: https://repobility.com/scan/cbf6d4c7-1089-41a0-b635-c49b8192e888/

To check status programmatically (no auth required):

curl -s https://repobility.com/api/v1/public/scan/cbf6d4c7-1089-41a0-b635-c49b8192e888/

Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.