🌐 The open-source Agentic browser; alternative to ChatGPT Atlas, Perplexity Comet, Dia.
This report summarizes scanner evidence for browseros-ai/BrowserOS, a TypeScript project with 13,869 GitHub stars. SynthScan examined 441,856 lines of code across 2470 source files, recording 2126 pattern matches distributed across 21 syntactic categories. The legacy adjusted pattern signal is 5.3 (Moderate 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.
Can maintainers explain intent, assumptions, and trade-offs? 1823 finding(s).
Are imports declared and package/API names verified? 130 finding(s).
Are wrappers, guards, and repeated structures necessary? 1796 finding(s).
Which changes need focused human review? 2126 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 2126 distinct pattern matches across 21 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/release_secrets/sync.py | 307 | def _skip_blank_and_comment_lines( | CODE |
| LOW | tools/release_secrets/sync.py | 372 | def _decode_double_quoted_escape(char: str) -> str: | CODE |
| LOW | tools/release_secrets/sync.py | 387 | def _consume_trailing_comment( | CODE |
| LOW | tools/release_secrets/sync.py | 508 | def scan_secret_refs_from_text(text: str) -> set[str]: | CODE |
| LOW | tools/release_secrets/sync.py | 515 | def scan_workflow_secret_refs(repo_root: Path) -> set[str]: | CODE |
| LOW | tools/release_secrets/sync_test.py | 19 | def test_multiline_quoted_values_round_trip(self): | CODE |
| LOW | tools/release_secrets/sync_test.py | 40 | def test_quotes_escapes_and_inline_comments(self): | CODE |
| LOW⚡ | tools/release_secrets/sync_test.py | 57 | def test_crlf_input_normalizes_multiline_values(self): | CODE |
| LOW⚡ | tools/release_secrets/sync_test.py | 64 | def test_unterminated_quote_raises_without_value_echo(self): | CODE |
| LOW⚡ | tools/release_secrets/sync_test.py | 73 | def test_scans_dotted_and_bracket_secret_references(self): | CODE |
| LOW | tools/release_secrets/sync_test.py | 99 | def test_server_ota_workflow_is_registered_with_signing_secrets(self): | CODE |
| LOW | tools/release_secrets/sync_test.py | 123 | def test_browserclaw_build_key_is_required_and_host_is_optional(self): | CODE |
| LOW | tools/release_secrets/sync_test.py | 155 | def test_slack_webhook_is_not_in_release_workflow_allowlist(self): | CODE |
| LOW | tools/release_secrets/sync_test.py | 160 | def test_esigner_credential_id_is_optional_in_check(self): | CODE |
| LOW | packages/browseros-agent/scripts/run-bun-test.ts | 209 | function extractTopLevelTestsuites(xml: string): string[] { | CODE |
| LOW | packages/browseros-agent/scripts/generate-models.ts | 312 | export function deriveChatGptSubscription( | CODE |
| LOW | packages/browseros-agent/scripts/codegen/claw-api.ts | 210 | function rewriteTypeScriptImportTarget( | CODE |
| LOW | packages/browseros-agent/scripts/codegen/claw-api.ts | 267 | function namespaceRustModelHelpers(model: string, body: string): string { | CODE |
| LOW | packages/browseros-agent/scripts/codegen/claw-api.ts | 346 | function compareTypeScriptImportKeys(left: string, right: string): number { | CODE |
| LOW | …owseros-agent/packages/agent-mcp-manager/src/agents.ts | 61 | export async function resolveAgentMcpConfigPath( | CODE |
| LOW | …ros-agent/packages/acpx-ai-provider/src/json-output.ts | 134 | export function createJsonCleanupTransform(): TransformStream< | CODE |
| LOW | …eros-agent/packages/browser-mcp/src/tool-output-dir.ts | 49 | export async function writeToolOutputBinaryFile( | CODE |
| LOW | …os-agent/packages/browser-mcp/src/tools/output-file.ts | 18 | export function createBrowserOutputFileAccess(): BrowserOutputFileAccess { | CODE |
| LOW | …os-agent/packages/browser-mcp/src/tools/output-file.ts | 72 | export async function writeTempToolOutputBinaryFile(args: { | CODE |
| LOW | …agent/packages/browser-mcp/src/tools/token-estimate.ts | 9 | export function sliceTextByEstimatedTokens( | CODE |
| LOW | …os-agent/packages/browser-core/src/content-markdown.ts | 8 | export function buildContentMarkdownExpression( | CODE |
| LOW | …ros-agent/packages/browser-core/src/core/screenshot.ts | 60 | export async function captureScreenshotWithAnnotations({ | CODE |
| LOW | …ros-agent/packages/browser-core/src/core/screenshot.ts | 99 | async function captureAnnotatedScreenshot({ | CODE |
| LOW | …os-agent/packages/browser-core/src/core/input/input.ts | 442 | function isRetryableCdpSessionError(error: unknown): boolean { | CODE |
| LOW | …os-agent/packages/browser-core/src/core/input/input.ts | 467 | function didScrollInExpectedDirection( | CODE |
| LOW | …t/packages/shared/src/mcp/claude-code-transport-tag.ts | 35 | export async function ensureClaudeCodeHttpTransportTag({ | CODE |
| LOW | …/browseros-agent/packages/diagnostics/src/extension.ts | 63 | export async function collectBrowserDiagnostics( | CODE |
| LOW | …/browseros-agent/packages/diagnostics/src/collector.ts | 30 | export function createDiagnosticsCollector(deps: { | CODE |
| LOW | …s/browseros-agent/packages/claw-api-client/src/urls.ts | 33 | export function buildSessionScreenshotUrl( | CODE |
| LOW | …/browseros-agent/packages/build-server-tools/src/r2.ts | 207 | export async function recoverImmutableFileFromObject( | CODE |
| LOW | …/browseros-agent/packages/build-server-tools/src/r2.ts | 225 | export async function uploadImmutableFileToObject( | CODE |
| LOW | …seros-agent/packages/build-server-tools/src/archive.ts | 180 | async function normalizeArchiveTimestamps(path: string): Promise<void> { | CODE |
| LOW | …seros-agent/packages/build-server-tools/src/archive.ts | 195 | export async function archiveAndUploadArtifacts( | CODE |
| LOW | …wseros-agent/packages/build-server-tools/src/config.ts | 80 | function ambientEnvWithoutDemotions(resolved: ResolvedEnv): NodeJS.ProcessEnv { | CODE |
| LOW | …nt/apps/claw-onboard/src/modules/api/client.helpers.ts | 11 | export function normalizeLoopbackApiRootUrl( | CODE |
| LOW | …nt/apps/claw-onboard/src/modules/api/client.helpers.ts | 31 | export function resolveApiBaseUrlFromSources( | CODE |
| LOW | …gent/apps/claw-onboard/src/modules/api/mcp-endpoint.ts | 58 | export function buildCanonicalMcpEndpointUrl(): string { | CODE |
| LOW | …gent/apps/claw-onboard/src/modules/api/mcp-endpoint.ts | 62 | export function buildCanonicalMcpCliCommand(): string { | CODE |
| LOW | …-onboard/src/onboarding/browseros-onboarding-bridge.ts | 176 | export function createBrowserOSOnboardingBridge( | CODE |
| LOW | …s/claw-onboard/src/onboarding/onboarding-v2.helpers.ts | 109 | export function defaultImportItemsForSource( | CODE |
| LOW | …s/claw-onboard/src/onboarding/onboarding-v2.helpers.ts | 154 | export function importSourceSelectionChangeFor( | CODE |
| LOW | …s/claw-onboard/src/onboarding/onboarding-v2.helpers.ts | 213 | export function needsMacKeychainPermission( | CODE |
| LOW | …nboard/src/onboarding/components/MacKeychainNotice.tsx | 43 | export function MacKeychainPermissionNote() { | CODE |
| LOW | …ent/apps/app/screens/ai-settings/NewProviderDialog.tsx | 150 | function isProviderTypeOptionSupported( | CODE |
| LOW | …ent/apps/app/screens/ai-settings/NewProviderDialog.tsx | 161 | function getVisibleProviderTypeOptions( | CODE |
| LOW | …t/apps/app/screens/ai-settings/provider-form-schema.ts | 148 | export function isCredentiallessProviderType( | CODE |
| LOW | …t/apps/app/screens/ai-settings/provider-form-schema.ts | 154 | export function normalizeProviderFormValues( | CODE |
| LOW | …browseros-agent/apps/app/screens/ai-settings/models.ts | 89 | export function getReasoningEffortOptions( | CODE |
| LOW | …app/screens/ai-settings/default-chat-target.helpers.ts | 25 | export function resolveEffectiveDefaultTarget({ | CODE |
| LOW | …app/screens/customization/ToolbarSettingsCard.test.tsx | 58 | function resolveStaticFeatureSupport({ | CODE |
| LOW | …app/screens/customization/ToolbarSettingsCard.test.tsx | 75 | function resolveFeatureStaticSupport({ | CODE |
| LOW | …apps/app/screens/agent-command/home-compose.helpers.ts | 3 | export function resolveHomeLlmRoutingMode({ | CODE |
| LOW | …wseros-agent/apps/app/lib/execution-history/storage.ts | 39 | function createConversationHistory( | CODE |
| LOW | …wseros-agent/apps/app/lib/execution-history/storage.ts | 49 | export async function upsertConversationExecutionTask( | CODE |
| LOW | …wseros-agent/apps/app/lib/execution-history/storage.ts | 63 | export async function removeConversationExecutionHistory( | CODE |
| 1550 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 9 | // ─── CDP WebSocket Client ──────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 113 | // ─── Target resolution ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 140 | // ─── Session helpers ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 173 | // ─── Snapshot: AX tree ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 286 | // ─── Element center: 3-tier fallback ───────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 361 | // ─── Commands ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 631 | // ─── press_key ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 805 | // ─── scroll ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 857 | // ─── wait_for ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 909 | // ─── hover ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 951 | // ─── select_option ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 1053 | // ─── Help ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/scripts/dev/inspect-ui.ts | 1095 | // ─── Main ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/apps/cli/scripts/install.sh | 17 | # ── Parse arguments ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/apps/cli/scripts/install.sh | 43 | # ── Resolve latest version ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/apps/cli/scripts/install.sh | 62 | # ── Detect platform ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/apps/cli/scripts/install.sh | 79 | # ── Download and extract ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/apps/cli/scripts/install.sh | 127 | # ── Install ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros-agent/apps/cli/scripts/install.sh | 137 | # ── PATH hint ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 2 | # ========================================= | COMMENT |
| MEDIUM⚡ | …s/bos_build/scripts/icon_generation/generate_icons.txt | 21 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | …s/bos_build/scripts/icon_generation/generate_icons.txt | 23 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | …s/bos_build/scripts/icon_generation/generate_icons.txt | 29 | # ============================================================================== | COMMENT |
| MEDIUM⚡ | …s/bos_build/scripts/icon_generation/generate_icons.txt | 31 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 56 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 58 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 74 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 76 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 95 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 97 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 111 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 113 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 124 | # ============================================================================== | COMMENT |
| MEDIUM | …s/bos_build/scripts/icon_generation/generate_icons.txt | 126 | # ============================================================================== | COMMENT |
| MEDIUM | packages/browseros/chromium_patches/.features.yaml | 3 | # ── LAYER 0: BUILD-OWNED OUTPUTS ───────────────────────── | COMMENT |
| MEDIUM | packages/browseros/chromium_patches/.features.yaml | 22 | # ── LAYER 1: CORE & BRANDING ────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros/chromium_patches/.features.yaml | 92 | # ── LAYER 2: PLATFORM PATCHES ───────────────────────────── | COMMENT |
| MEDIUM | packages/browseros/chromium_patches/.features.yaml | 113 | # ── LAYER 3: INFRASTRUCTURE SERVICES ────────────────────── | COMMENT |
| MEDIUM | packages/browseros/chromium_patches/.features.yaml | 178 | # ── LAYER 4: FEATURES ───────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros/chromium_patches/.features.yaml | 398 | # ── LAYER 5: FIXES ──────────────────────────────────────── | COMMENT |
| MEDIUM | packages/browseros/chromium_patches/.features.yaml | 453 | # ── LAYER 6: SERIES (upstream/external patches) ─────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …owseros/tools/vendor_uploads/vendor_uploads/support.py | 117 | except Exception as e: | CODE |
| LOW | …/browseros/tools/vendor_uploads/vendor_uploads/main.py | 216 | except Exception as exc: | CODE |
| LOW | …/browseros/tools/vendor_uploads/vendor_uploads/main.py | 285 | except Exception as exc: | CODE |
| LOW | …/browseros/tools/vendor_uploads/vendor_uploads/main.py | 339 | except Exception as exc: | CODE |
| LOW | …/browseros/tools/vendor_uploads/vendor_uploads/main.py | 397 | except Exception as exc: | CODE |
| LOW | …/browseros/tools/vendor_uploads/vendor_uploads/main.py | 989 | except Exception as exc: | CODE |
| MEDIUM | packages/browseros/bos_build/ci_workflow_test.py | 1221 | print("An error occurred (404) when calling HeadObject: Not Found", file=sys.stderr) | CODE |
| LOW | packages/browseros/bos_build/patchkit/extract/common.py | 129 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 120 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 370 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 430 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 448 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 479 | except Exception as e: | CODE |
| LOW⚡ | packages/browseros/bos_build/patchkit/extract/utils.py | 511 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 599 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/core/planner.py | 538 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/core/runner.py | 104 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/core/runner.py | 124 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/core/runner.py | 214 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/release/r2_allocations.py | 40 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/release/r2_allocations.py | 137 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/release/plan.py | 112 | except Exception as error: | CODE |
| LOW | packages/browseros/bos_build/release/plan.py | 162 | except Exception as error: | CODE |
| LOW | …ages/browseros/bos_build/release/prepared_resources.py | 416 | except Exception: | CODE |
| LOW | packages/browseros/bos_build/release/suite_artifact.py | 97 | except Exception as error: | CODE |
| LOW | packages/browseros/bos_build/release/suite_artifact.py | 137 | except Exception as error: | CODE |
| LOW | packages/browseros/bos_build/release/common.py | 225 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/release/common.py | 297 | except Exception: | CODE |
| LOW | packages/browseros/bos_build/release/common.py | 379 | except Exception: | CODE |
| LOW | packages/browseros/bos_build/release/common.py | 388 | except Exception: | CODE |
| LOW | packages/browseros/bos_build/release/github.py | 318 | except Exception: | CODE |
| LOW | packages/browseros/bos_build/release/github.py | 331 | except Exception: | CODE |
| LOW | packages/browseros/bos_build/release/github.py | 661 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/release/github.py | 670 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/release/github.py | 686 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/release/github.py | 704 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/release/github.py | 710 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/release/github.py | 734 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/release/github.py | 750 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/release/publish.py | 33 | except Exception as e: | CODE |
| LOW | …ages/browseros/bos_build/release/extensions/release.py | 89 | except Exception as e: | CODE |
| LOW | …ages/browseros/bos_build/release/extensions/release.py | 169 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/release/feeds/render.py | 103 | except Exception: | CODE |
| LOW | packages/browseros/bos_build/release/feeds/render.py | 248 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/release/feeds/publisher.py | 989 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/release/ota/server.py | 401 | except Exception as error: | CODE |
| LOW | packages/browseros/bos_build/release/ota/server.py | 429 | except Exception as error: | CODE |
| LOW | packages/browseros/bos_build/release/ota/sign_binary.py | 79 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/release/ota/sign_binary.py | 97 | except Exception: | CODE |
| LOW | packages/browseros/bos_build/release/ota/sign_binary.py | 205 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/release/ota/sign_binary.py | 235 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/release/ota/common.py | 89 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/cli/dev.py | 40 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/cli/dev.py | 257 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/cli/dev.py | 362 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/cli/source.py | 104 | except Exception as e: | CODE |
| LOW | packages/browseros/bos_build/cli/source.py | 137 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/cli/source.py | 166 | except Exception as exc: | CODE |
| LOW | packages/browseros/bos_build/cli/source.py | 182 | except Exception as exc: | CODE |
| LOW | …rowseros/bos_build/steps/resources/chromium_replace.py | 105 | except Exception as e: | CODE |
| 44 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/release_secrets/sync.py | 8 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/batch_apply.py | 16 | CODE | |
| LOW | …kages/browseros/bos_build/patchkit/extract/__init__.py | 10 | CODE | |
| LOW | …kages/browseros/bos_build/patchkit/extract/__init__.py | 10 | CODE | |
| LOW | …kages/browseros/bos_build/patchkit/extract/__init__.py | 11 | CODE | |
| LOW | …kages/browseros/bos_build/patchkit/extract/__init__.py | 11 | CODE | |
| LOW | …kages/browseros/bos_build/patchkit/extract/__init__.py | 11 | CODE | |
| LOW | …kages/browseros/bos_build/patchkit/extract/__init__.py | 16 | CODE | |
| LOW | packages/browseros/bos_build/core/__init__.py | 3 | CODE | |
| LOW | packages/browseros/bos_build/core/__init__.py | 3 | CODE | |
| LOW | packages/browseros/bos_build/core/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/core/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/suite.py | 10 | CODE | |
| LOW | packages/browseros/bos_build/release/suite_artifact.py | 10 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/suite_rolling.py | 9 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 4 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 14 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 14 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 14 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 14 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 14 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 14 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/common.py | 8 | CODE | |
| LOW | packages/browseros/bos_build/steps/__init__.py | 8 | CODE | |
| LOW | packages/browseros/bos_build/steps/__init__.py | 8 | CODE | |
| LOW | packages/browseros/bos_build/steps/__init__.py | 9 | CODE | |
| LOW | packages/browseros/bos_build/steps/__init__.py | 10 | CODE | |
| LOW | packages/browseros/bos_build/steps/__init__.py | 10 | CODE | |
| LOW | packages/browseros/bos_build/steps/__init__.py | 10 | CODE | |
| LOW | packages/browseros/bos_build/steps/__init__.py | 11 | CODE | |
| LOW | packages/browseros/bos_build/steps/__init__.py | 12 | CODE | |
| 42 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .claude/skills/write-docs/SKILL.md | 14 | ### Step 1: Understand the Feature | COMMENT |
| LOW | .claude/skills/write-docs/SKILL.md | 28 | ### Step 2: Gather Screenshots | COMMENT |
| LOW | .claude/skills/write-docs/SKILL.md | 36 | ### Step 3: Write the Documentation | COMMENT |
| LOW | .claude/skills/write-docs/SKILL.md | 65 | ### Step 4: Update Navigation | COMMENT |
| LOW | .claude/skills/write-docs/SKILL.md | 69 | ### Step 5: Preview | COMMENT |
| LOW | .claude/skills/write-internal-docs/SKILL.md | 48 | ### Step 0: Pre-flight | COMMENT |
| LOW | .claude/skills/write-internal-docs/SKILL.md | 64 | ### Step 1: Scope the doc | COMMENT |
| LOW⚡ | .claude/skills/write-internal-docs/SKILL.md | 75 | ### Step 2: Zoom out | COMMENT |
| LOW⚡ | .claude/skills/write-internal-docs/SKILL.md | 83 | ### Step 3: Draft the Markdown | COMMENT |
| LOW⚡ | .claude/skills/write-internal-docs/SKILL.md | 93 | ### Step 4: Voice check | COMMENT |
| LOW⚡ | .claude/skills/write-internal-docs/SKILL.md | 99 | ### Step 5: Clone, write, render HTML | COMMENT |
| LOW | .claude/skills/write-internal-docs/SKILL.md | 120 | ### Step 6: Tidy pass | COMMENT |
| LOW | .claude/skills/write-internal-docs/SKILL.md | 156 | ### Step 7: Open the PR | COMMENT |
| LOW | .claude/skills/write-internal-docs/SKILL.md | 182 | ### Step 8: Report and clean up | COMMENT |
| LOW | .claude/skills/ask-internal/SKILL.md | 41 | ### Step 0: Pre-flight | COMMENT |
| LOW | .claude/skills/ask-internal/SKILL.md | 54 | ### Step 1: Parse the question | COMMENT |
| LOW | .claude/skills/ask-internal/SKILL.md | 62 | ### Step 2: Multi-source search | COMMENT |
| LOW⚡ | .claude/skills/ask-internal/SKILL.md | 84 | ### Step 3: Synthesize answer | COMMENT |
| LOW⚡ | .claude/skills/ask-internal/SKILL.md | 94 | ### Step 4: Offer execution (only if commands surfaced) | COMMENT |
| LOW⚡ | .claude/skills/ask-internal/SKILL.md | 104 | ### Step 5: Doc-not-found path | COMMENT |
| LOW⚡ | .claude/skills/ask-internal/SKILL.md | 112 | ### Step 6: Completion status | COMMENT |
| LOW | …s/browseros-agent/.claude/commands/browseros-review.md | 13 | ### Step 1: Determine Review Scope | COMMENT |
| LOW | …s/browseros-agent/.claude/commands/browseros-review.md | 35 | ### Step 2: Initial Screening | COMMENT |
| LOW⚡ | …s/browseros-agent/.claude/commands/browseros-review.md | 47 | ### Step 3: Documentation Discovery | COMMENT |
| LOW⚡ | …s/browseros-agent/.claude/commands/browseros-review.md | 53 | ### Step 4: Change Summary | COMMENT |
| LOW⚡ | …s/browseros-agent/.claude/commands/browseros-review.md | 57 | ### Step 5: Parallel Multi-Agent Review | COMMENT |
| LOW | …s/browseros-agent/.claude/commands/browseros-review.md | 123 | ### Step 6: Issue Validation | COMMENT |
| LOW | …ckages/browseros-agent/.claude/skills/test-ui/SKILL.md | 25 | ## Step 1: Start the dev environment | COMMENT |
| LOW | …ckages/browseros-agent/.claude/skills/test-ui/SKILL.md | 56 | ## Step 2: Discover targets | COMMENT |
| LOW | …ckages/browseros-agent/.claude/skills/test-ui/SKILL.md | 71 | ## Step 3: Navigate to the main UI | COMMENT |
| LOW | …ckages/browseros-agent/.claude/skills/test-ui/SKILL.md | 99 | ## Step 4: Test the new tab page (left sidebar) | COMMENT |
| LOW | …ckages/browseros-agent/.claude/skills/test-ui/SKILL.md | 144 | ## Step 5: Open and test the right side panel | COMMENT |
| LOW | …ckages/browseros-agent/.claude/skills/test-ui/SKILL.md | 192 | ## Step 6: Verify and iterate | COMMENT |
| LOW⚡ | …ent/apps/server/src/lib/clients/oauth/copilot-fetch.ts | 100 | // Step 1: scale longest side to 2048 | COMMENT |
| LOW⚡ | …ent/apps/server/src/lib/clients/oauth/copilot-fetch.ts | 107 | // Step 2: scale shortest side to 768 | COMMENT |
| LOW | …/browseros/bos_build/patchkit/extract/extract_range.py | 75 | # Step 1: Validate commits | COMMENT |
| LOW | …/browseros/bos_build/patchkit/extract/extract_range.py | 188 | # Step 6: Log summary | COMMENT |
| LOW⚡ | packages/browseros/bos_build/patchkit/extract/common.py | 173 | # Step 1: Get files changed in commit WITH their status (A/M/D/R/C) | COMMENT |
| LOW⚡ | packages/browseros/bos_build/patchkit/extract/common.py | 183 | # Step 2: Process each file based on its status | COMMENT |
| LOW | …browseros/bos_build/patchkit/extract/extract_commit.py | 41 | # Step 1: Validate commit | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/release_secrets/sync.py | 467 | CODE | |
| LOW | …/browseros/tools/vendor_uploads/vendor_uploads/main.py | 711 | CODE | |
| LOW | …/browseros/tools/vendor_uploads/vendor_uploads/main.py | 730 | CODE | |
| LOW | …/browseros/tools/vendor_uploads/vendor_uploads/main.py | 747 | CODE | |
| LOW | packages/browseros/bos_build/ci_workflow_test.py | 984 | CODE | |
| LOW | packages/browseros/bos_build/ci_workflow_test.py | 1600 | CODE | |
| LOW | packages/browseros/bos_build/ci_workflow_test.py | 1732 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/batch_apply.py | 201 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/doctor.py | 78 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/doctor.py | 114 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/features_io.py | 126 | CODE | |
| LOW | …/browseros/bos_build/patchkit/extract/extract_range.py | 61 | CODE | |
| LOW | …/browseros/bos_build/patchkit/extract/extract_range.py | 199 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/extract/common.py | 64 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/extract/common.py | 156 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 48 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 207 | CODE | |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 549 | CODE | |
| LOW | packages/browseros/bos_build/core/resume.py | 411 | CODE | |
| LOW | packages/browseros/bos_build/core/resume.py | 593 | CODE | |
| LOW | packages/browseros/bos_build/core/resume.py | 779 | CODE | |
| LOW | packages/browseros/bos_build/core/resume.py | 942 | CODE | |
| LOW | …ckages/browseros/bos_build/release/browser_finalize.py | 298 | CODE | |
| LOW | packages/browseros/bos_build/release/suite.py | 1576 | CODE | |
| LOW | packages/browseros/bos_build/release/suite.py | 1669 | CODE | |
| LOW | packages/browseros/bos_build/release/resource_pins.py | 395 | CODE | |
| LOW | packages/browseros/bos_build/release/common.py | 42 | CODE | |
| LOW | packages/browseros/bos_build/release/candidate.py | 395 | CODE | |
| LOW | packages/browseros/bos_build/release/suite_test.py | 1307 | CODE | |
| LOW | packages/browseros/bos_build/release/github.py | 509 | CODE | |
| LOW | packages/browseros/bos_build/release/github.py | 604 | CODE | |
| LOW | packages/browseros/bos_build/release/lane.py | 342 | CODE | |
| LOW | packages/browseros/bos_build/release/lane.py | 527 | CODE | |
| LOW | …browseros/bos_build/release/extensions/release_test.py | 382 | CODE | |
| LOW | …owseros/bos_build/release/extensions/manifests_test.py | 166 | CODE | |
| LOW | …owseros/bos_build/release/extensions/manifests_test.py | 228 | CODE | |
| LOW | packages/browseros/bos_build/release/feeds/publisher.py | 588 | CODE | |
| LOW | packages/browseros/bos_build/release/ota/common.py | 73 | CODE | |
| LOW | packages/browseros/bos_build/cli/build.py | 550 | CODE | |
| LOW | packages/browseros/bos_build/cli/release_component.py | 42 | CODE | |
| LOW | packages/browseros/bos_build/cli/dev.py | 106 | CODE | |
| LOW | …es/browseros/bos_build/steps/patches/series_patches.py | 145 | CODE | |
| LOW | …rowseros/bos_build/steps/resources/chromium_replace.py | 58 | CODE | |
| LOW | …kages/browseros/bos_build/steps/resources/resources.py | 54 | CODE | |
| LOW | …browseros/bos_build/steps/resources/string_replaces.py | 33 | CODE | |
| LOW | …ges/browseros/bos_build/steps/source/provision_test.py | 128 | CODE | |
| LOW | packages/browseros/bos_build/steps/source/workspace.py | 172 | CODE | |
| LOW | packages/browseros/bos_build/steps/setup/windows_sdk.py | 144 | CODE | |
| LOW | packages/browseros/bos_build/steps/setup/windows_sdk.py | 243 | CODE | |
| LOW | packages/browseros/bos_build/steps/setup/windows_sdk.py | 260 | CODE | |
| LOW | packages/browseros/bos_build/steps/setup/clean.py | 117 | CODE | |
| LOW | packages/browseros/bos_build/steps/setup/clean_test.py | 102 | CODE | |
| LOW | …ges/browseros/bos_build/steps/storage/download_test.py | 29 | CODE | |
| LOW | packages/browseros/bos_build/steps/storage/upload.py | 245 | CODE | |
| LOW | …seros/bos_build/steps/extensions/bundled_extensions.py | 191 | CODE | |
| LOW | packages/browseros/bos_build/steps/sign/macos.py | 814 | CODE | |
| LOW | packages/browseros/bos_build/steps/sign/macos.py | 1161 | CODE | |
| LOW | packages/browseros/bos_build/steps/sign/windows_test.py | 112 | CODE | |
| LOW | packages/browseros/bos_build/steps/sign/windows.py | 255 | CODE | |
| LOW | packages/browseros/bos_build/steps/sign/macos_test.py | 608 | CODE | |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .cargo/config.toml | 1 | [build] | COMMENT |
| LOW | packages/browseros-agent/bunfig.toml | 1 | # Bun configuration | COMMENT |
| LOW | …nt/crates/browseros-core/tests/captured_cdp_fixture.rs | 1 | //! Structural regression guard over REAL `Accessibility.getFullAXTree` | COMMENT |
| LOW | …eros-agent/crates/browseros-cdp/tests/link_recovery.rs | 201 | !client.is_connected(), | COMMENT |
| LOW | …/browseros-agent/crates/browseros-mcp/src/framework.rs | 81 | } | COMMENT |
| LOW | …wseros-agent/crates/browseros-mcp/src/downloads_api.rs | 1 | //! Reading the browser's own record of a download. | COMMENT |
| LOW | …seros-agent/crates/browseros-mcp/src/tools/evaluate.rs | 41 | code: Option<String>, | COMMENT |
| LOW | …/browseros-agent/crates/browseros-mcp/src/tools/act.rs | 141 | /// Value for kind=fill/select. | COMMENT |
| LOW | …/browseros-agent/packages/agent-mcp-manager/src/api.ts | 241 | } | COMMENT |
| LOW | …seros-agent/packages/agent-mcp-manager/src/io/index.ts | 61 | (await resolveAgentMcpConfigPath(agent, scope, opts.projectRoot)) | COMMENT |
| LOW | …gent/apps/app/components/sidebar/SidebarUserFooter.tsx | 21 | // const signInButton = ( | COMMENT |
| LOW | …t/apps/server/src/api/services/klavis/tool-adapters.ts | 241 | COMMENT | |
| LOW | packages/browseros-agent/apps/cli/cmd/launch.go | 161 | return strings.TrimSuffix(baseURL, "/") + "/mcp" | COMMENT |
| LOW | …agent/apps/claw-app/components/cockpit/needsYouTone.ts | 1 | // The needs-you attention tone. The mockups call for the --amber family, but | COMMENT |
| LOW | packages/browseros-agent/apps/claw-server/src/error.rs | 121 | } | COMMENT |
| LOW | packages/browseros-agent/apps/claw-server/src/ids.rs | 1 | //! Identity glossary — the four scopes: | COMMENT |
| LOW | packages/browseros-agent/apps/claw-server/src/main.rs | 261 | // Desktop plugins). This is the proxy port (the source of truth), falling | COMMENT |
| LOW | …os-agent/apps/claw-server/src/identity/conversation.rs | 61 | /// hyphens, so the split is not recoverable in general: a slug that is a | COMMENT |
| LOW | …seros-agent/apps/claw-server/src/db/feedback_invite.rs | 1 | //! At most one feedback invitation per installation, ever. | COMMENT |
| LOW | …s/browseros-agent/apps/claw-server/src/db/audit_log.rs | 441 | } | COMMENT |
| LOW | …s/browseros-agent/apps/claw-server/src/db/migration.rs | 2261 | ) | COMMENT |
| LOW | …eros-agent/apps/claw-server/src/api/mcp/script_hook.rs | 41 | fn authorize<'a>(&'a self, page: Option<u32>) -> BoxFuture<'a, Result<(), String>> { | COMMENT |
| LOW | …rowseros-agent/apps/claw-server/src/api/mcp/service.rs | 701 | return Err(session_was_stopped()); | COMMENT |
| LOW | …rowseros-agent/apps/claw-server/src/api/mcp/distill.rs | 121 | COMMENT | |
| LOW | …aw-server/src/api/mcp/effects/page_ownership_notice.rs | 1 | //! Tells an agent whose tab it just acted on. | COMMENT |
| LOW | …aw-server/src/api/mcp/effects/page_ownership_notice.rs | 21 | //! | COMMENT |
| LOW | …ent/apps/claw-server/src/api/mcp/effects/tab_groups.rs | 41 | // session's own group and the listing would then report it as a candidate | COMMENT |
| LOW | …ent/apps/claw-server/src/api/mcp/effects/tab_groups.rs | 201 | // before the default-group reconciliation below, which would otherwise see | COMMENT |
| LOW | …ent/apps/claw-server/src/api/mcp/effects/tab_groups.rs | 221 | // conversation while the old one stays in the ownership map holding the | COMMENT |
| LOW | …seros-agent/apps/claw-server/src/api/mcp/guards/mod.rs | 1 | //! Guards refuse a dispatch outright. | COMMENT |
| LOW | …wseros-agent/apps/claw-server/src/api/http/feedback.rs | 1 | //! Whether to offer this installation a feedback call, and what came of it. | COMMENT |
| LOW | …agent/apps/claw-server/src/services/feedback_cohort.rs | 1 | //! Membership of the top-user cohort, answered from memory. | COMMENT |
| LOW | …agent/apps/claw-server/src/services/feedback_cohort.rs | 21 | /// Remote configuration delivers the same payload to every caller, so membership is still | COMMENT |
| LOW | …agent/apps/claw-server/src/services/feedback_cohort.rs | 41 | /// How long a single fetch may take before it is abandoned. | COMMENT |
| LOW | …owseros-agent/apps/claw-server/src/services/helpers.rs | 21 | /// surrounding Markdown grows. | COMMENT |
| LOW | …owseros-agent/apps/claw-server/src/services/helpers.rs | 41 | /// Input field name to a short human description, e.g. `field0 -> "search | COMMENT |
| LOW | …agent/apps/claw-server/src/services/recordings/live.rs | 1 | //! In-process fan-out of freshly ingested rrweb batches to live-preview | COMMENT |
| LOW | …nt/apps/claw-server/src/services/browser/connection.rs | 261 | () = tokio::time::sleep(Duration::from_secs(1)) => { | COMMENT |
| LOW | …gent/apps/claw-server/src/services/sessions/manager.rs | 301 | /// `None` means the server genuinely has no memory of it: never minted, or retired | COMMENT |
| LOW | …t/apps/claw-server/src/analytics/script_fingerprint.rs | 1 | //! Reduces a `run` script to its shape. | COMMENT |
| LOW | …s-agent/apps/claw-server/src/analytics/drift_guards.rs | 1 | //! Tests that keep the redaction honest as `run` changes underneath it. | COMMENT |
| LOW | packages/browseros/tools/bpatch/src/git.rs | 61 | }, | COMMENT |
| LOW | packages/browseros/tools/bpatch/src/cli/mod.rs | 221 | #[derive(Debug, Args)] | COMMENT |
| LOW | packages/browseros/tools/bpatch/src/cli/mod.rs | 241 | /// Commit store repo changes after writing them. | COMMENT |
| LOW | packages/browseros/tools/bpatch/src/cli/mod.rs | 281 | COMMENT | |
| LOW | packages/browseros/tools/bpatch/src/engine/conflict.rs | 21 | /// Conflict session persisted under `.git/bpatch/session.json`. | COMMENT |
| LOW | …ges/browseros/bos_build/config/download_resources.yaml | 1 | # Download resources configuration for BrowserOS build | COMMENT |
| LOW | …ges/browseros/bos_build/config/download_resources.yaml | 21 | # - Use 'download_type' field to switch from plain file download to archive extraction | COMMENT |
| LOW | …seros/bos_build/steps/package/universalizer_patched.py | 301 | # inherent alignment requirement for x86_64 (absent Rosetta | COMMENT |
| LOW | …s/bos_build/scripts/icon_generation/generate_icons.txt | 1 | # BrowserOS Icon Generation Configuration | COMMENT |
| LOW | packages/browseros/bos_build/lib/versions.py | 81 | new_build = int(version_dict["BUILD"]) + int(build_offset) | COMMENT |
| LOW | …tches/chrome/browser/chrome_browser_application_mac.mm | 1 | diff --git a/chrome/browser/chrome_browser_application_mac.mm b/chrome/browser/chrome_browser_application_mac.mm | COMMENT |
| LOW | .github/workflows/test.yml | 101 | with: | COMMENT |
| LOW | .github/workflows/rust-cache-bust.yml | 1 | name: Rust Cache Bust | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/browseros/bos_build/cli/release_test.py | 35 | except (ValueError, AttributeError): | CODE |
| HIGH | packages/browseros/bos_build/cli/build_test.py | 48 | except (ValueError, AttributeError): | CODE |
| HIGH | packages/browseros/bos_build/cli/dev_test.py | 29 | except (ValueError, AttributeError): | CODE |
| HIGH | packages/browseros/bos_build/cli/ota_test.py | 60 | except (AttributeError, ValueError): | CODE |
| HIGH | packages/browseros/bos_build/steps/source/cache.py | 131 | except FileNotFoundError: | CODE |
| HIGH | packages/browseros/bos_build/steps/sign/windows.py | 403 | except Exception: | CODE |
| HIGH | packages/browseros/bos_build/steps/package/windows.py | 268 | except Exception: | CODE |
| HIGH | packages/browseros/bos_build/lib/notify.py | 94 | except ImportError: | CODE |
| HIGH | packages/browseros/bos_build/lib/notify.py | 96 | except Exception: | CODE |
| HIGH | packages/browseros/bos_build/lib/utils.py | 399 | except Exception: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/browseros/bos_build/ci_workflow_test.py | 110 | "${{ inputs.candidate-sha || inputs.ref || github.sha }}", | CODE |
| HIGH | packages/browseros/bos_build/ci_workflow_test.py | 2059 | shift || true | CODE |
| HIGH | packages/browseros/bos_build/ci_workflow_test.py | 2089 | repo_was_cleaned && exit 0 | CODE |
| HIGH | packages/browseros/bos_build/ci_workflow_test.py | 2448 | shift || true | CODE |
| HIGH | …s_build/steps/patches/product_payload_manifest_test.py | 100 | "browseros_allow_runtime_product_override || browseros_product_browseros", | CODE |
| HIGH | …s_build/steps/patches/product_payload_manifest_test.py | 104 | "browseros_allow_runtime_product_override || browseros_product_browserclaw", | CODE |
| HIGH | packages/browseros/bos_build/steps/source/provision.py | 328 | "git reset --hard HEAD && git clean -fd", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …os-core/tests/data/captured/form/get-full-ax-tree.json | 1000 | "type": "placeholder", | CODE |
| LOW⚡ | …os-core/tests/data/captured/form/get-full-ax-tree.json | 1001 | "attribute": "placeholder", | CODE |
| LOW⚡ | …os-core/tests/data/captured/form/get-full-ax-tree.json | 1005 | "type": "placeholder", | CODE |
| LOW⚡ | …os-core/tests/data/captured/form/get-full-ax-tree.json | 1162 | "type": "placeholder", | CODE |
| LOW⚡ | …os-core/tests/data/captured/form/get-full-ax-tree.json | 1163 | "attribute": "placeholder", | CODE |
| LOW⚡ | …os-core/tests/data/captured/form/get-full-ax-tree.json | 1167 | "type": "placeholder", | CODE |
| LOW⚡ | …os-core/tests/data/captured/form/get-full-ax-tree.json | 1328 | "type": "placeholder", | CODE |
| LOW⚡ | …os-core/tests/data/captured/form/get-full-ax-tree.json | 1329 | "attribute": "placeholder", | CODE |
| LOW⚡ | …os-core/tests/data/captured/form/get-full-ax-tree.json | 1333 | "type": "placeholder", | CODE |
| LOW | …-core/tests/data/captured/cursor/get-full-ax-tree.json | 234 | "type": "placeholder", | CODE |
| LOW | …odules/llm-providers/oauth-provider-flow.hooks.test.ts | 89 | status: { email: 'user@example.com' }, | CODE |
| LOW | …s-agent/apps/server/tests/agent/compaction-e2e.test.ts | 220 | `Page ${pageId}: ${'Lorem ipsum dolor sit amet. '.repeat(1000)}`, | CODE |
| LOW | …s-agent/apps/server/tests/agent/compaction-e2e.test.ts | 220 | `Page ${pageId}: ${'Lorem ipsum dolor sit amet. '.repeat(1000)}`, | CODE |
| LOW⚡ | …pps/server/tests/lib/clients/oauth/token-store.test.ts | 32 | email: 'user@example.com', | CODE |
| LOW⚡ | …pps/server/tests/lib/clients/oauth/token-store.test.ts | 40 | email: 'user@example.com', | CODE |
| LOW⚡ | …pps/server/tests/lib/clients/oauth/token-store.test.ts | 45 | email: 'user@example.com', | CODE |
| LOW | packages/browseros-agent/apps/cli/cmd/llm_txt.md | 69 | browseros-cli -p $p fill @e12 "user@example.com" # clears the field first; --no-clear to append | CODE |
| LOW | packages/browseros-agent/apps/cli/cmd/llm_txt.md | 88 | browseros-cli -p $p find text "Email" fill "user@example.com" | CODE |
| LOW | packages/browseros-agent/apps/cli/cmd/llm_txt.md | 118 | 'fill @e2 "user@example.com"' \ | CODE |
| LOW | …owseros-agent/apps/claw-server/src/analytics/events.rs | 695 | for tool_name in ["unknown", "https://private.example", "user@example.com"] { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/browseros/bos_build/patchkit/features_io.py | 163 | # Check if default already has valid prefix | COMMENT |
| LOW | packages/browseros/bos_build/patchkit/features_io.py | 174 | # Check if default is valid | COMMENT |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 397 | # Check if raw patch file exists (no suffix - this is how patches are stored) | COMMENT |
| LOW⚡ | packages/browseros/bos_build/patchkit/extract/utils.py | 502 | # Check if it's a deletion marker | COMMENT |
| LOW⚡ | packages/browseros/bos_build/patchkit/extract/utils.py | 516 | # Check if it's a binary marker | COMMENT |
| LOW | packages/browseros/bos_build/patchkit/extract/utils.py | 610 | # Check if there are changes to commit | COMMENT |
| LOW | packages/browseros/bos_build/steps/patches/patches.py | 43 | # Check if git is available | COMMENT |
| LOW | …browseros/bos_build/steps/resources/string_replaces.py | 48 | # Read the file content | COMMENT |
| LOW | packages/browseros/bos_build/steps/storage/download.py | 424 | # Check if any target arch matches any condition arch | COMMENT |
| LOW | packages/browseros/bos_build/steps/sign/macos.py | 1577 | # Check if accepted | COMMENT |
| LOW | packages/browseros/bos_build/steps/package/macos.py | 249 | # Check if accepted | COMMENT |
| LOW | …seros/bos_build/steps/package/universalizer_patched.py | 264 | # Check if this is a Mach-O file that can be merged | COMMENT |
| LOW | …seros/bos_build/steps/package/universalizer_patched.py | 281 | # Check if files are already universal with same architectures | COMMENT |
| LOW | .github/workflows/audit.yml | 35 | # Check if vulnerabilities exist | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …kages/browseros/bos_build/patchkit/extract/__init__.py | 18 | __all__ = [ | CODE |
| LOW | packages/browseros/bos_build/products/__init__.py | 24 | __all__ = [ | CODE |
| LOW | packages/browseros/bos_build/core/__init__.py | 6 | __all__ = [ | CODE |
| LOW | packages/browseros/bos_build/release/__init__.py | 30 | __all__ = [ | CODE |
| LOW | …es/browseros/bos_build/release/extensions/workspace.py | 94 | def update_manifest_version(manifest_path: Path, version: str) -> None: | CODE |
| LOW | packages/browseros/bos_build/release/feeds/__init__.py | 19 | __all__ = [ | CODE |
| LOW | packages/browseros/bos_build/release/ota/__init__.py | 28 | __all__ = [ | CODE |
| LOW | packages/browseros/bos_build/steps/__init__.py | 32 | __all__ = [ | CODE |
| LOW | packages/browseros/bos_build/steps/source/__init__.py | 9 | __all__ = ["SourceCheckoutModule", "SourceSyncModule"] | CODE |
| LOW | packages/browseros/bos_build/steps/storage/__init__.py | 7 | __all__ = [ | CODE |
| LOW | …kages/browseros/bos_build/steps/extensions/__init__.py | 6 | __all__ = ["BundledExtensionsModule"] | CODE |
| LOW | packages/browseros/bos_build/steps/compile/__init__.py | 13 | __all__ = [ | CODE |
| LOW | …os/bos_build/steps/package/linux_packaging/__init__.py | 14 | __all__ = [ | CODE |
| LOW | packages/browseros/bos_build/lib/__init__.py | 6 | __all__ = [ | CODE |
| LOW | packages/browseros/bos_build/lib/logger.py | 110 | __all__ = [ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/browseros/bos_build/cli/release_test.py | 0 | stdout + stderr across click versions (8.2 split them). | STRING |
| HIGH | packages/browseros/bos_build/cli/build_test.py | 0 | stdout + stderr across click versions (8.2 split them). | STRING |
| HIGH | packages/browseros/bos_build/cli/dev_test.py | 0 | stdout + stderr across click versions (8.2 split them). | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …ent/apps/server/src/lib/clients/oauth/copilot-fetch.ts | 100 | // Step 1: scale longest side to 2048 | COMMENT |
| LOW⚡ | …ent/apps/server/src/lib/clients/oauth/copilot-fetch.ts | 107 | // Step 2: scale shortest side to 768 | COMMENT |
| LOW | …/browseros/bos_build/patchkit/extract/extract_range.py | 75 | # Step 1: Validate commits | COMMENT |
| LOW | …/browseros/bos_build/patchkit/extract/extract_range.py | 188 | # Step 6: Log summary | COMMENT |
| LOW⚡ | packages/browseros/bos_build/patchkit/extract/common.py | 173 | # Step 1: Get files changed in commit WITH their status (A/M/D/R/C) | COMMENT |
| LOW⚡ | packages/browseros/bos_build/patchkit/extract/common.py | 183 | # Step 2: Process each file based on its status | COMMENT |
| LOW | …browseros/bos_build/patchkit/extract/extract_commit.py | 41 | # Step 1: Validate commit | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …/browseros/bos_build/patchkit/extract/extract_range.py | 290 | CODE | |
| LOW | packages/browseros/bos_build/release/appcast.py | 27 | CODE | |
| LOW | packages/browseros/bos_build/release/plan_test.py | 131 | CODE | |
| LOW | packages/browseros/bos_build/release/github.py | 557 | CODE | |
| LOW | packages/browseros/bos_build/cli/build.py | 61 | CODE | |
| LOW | packages/browseros/bos_build/cli/release_component.py | 94 | CODE | |
| LOW | packages/browseros/bos_build/cli/release_candidate.py | 72 | CODE | |
| LOW | packages/browseros/bos_build/cli/release.py | 259 | CODE | |
| LOW | packages/browseros/bos_build/cli/release_feeds.py | 53 | CODE | |
| LOW | packages/browseros/bos_build/cli/release_suite.py | 208 | CODE | |
| LOW | packages/browseros/bos_build/cli/release_suite.py | 237 | CODE | |
| LOW | packages/browseros/bos_build/cli/release_resources.py | 59 | CODE | |
| LOW | packages/browseros/bos_build/cli/dev.py | 316 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | packages/browseros/bos_build/patchkit/extract/common.py | 221 | # Create a synthetic add patch | COMMENT |
| MEDIUM | …ges/browseros/bos_build/config/download_resources.yaml | 2 | # This file defines resources to download from R2 before the build process | COMMENT |
| MEDIUM | packages/browseros/bos_build/steps/package/macos.py | 384 | # Create the universal DMG | COMMENT |
| MEDIUM | packages/browseros/bos_build/lib/utils.py | 245 | # Create a CompletedProcess object with captured output | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …pps/server/tests/api/services/chat-service-acp.test.ts | 178 | const saved = fixture.conversationStore.save.mock.calls.at(-1)?.[0] as | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | packages/browseros/bos_build/patchkit/extract/utils.py | 56 | Run a git command and return the result Args: cmd: Command to run cwd: Working directory ca | STRING |
| HIGH | packages/browseros/bos_build/core/resolver.py | 101 | Resolve DIRECT-mode pipeline from --modules or phase flags. Args: cli_args: CLI arguments dictionary | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ent/apps/app/screens/ai-settings/NewProviderDialog.tsx | 323 | // Context window guardrails for catalog models with a known window. | COMMENT |
| MEDIUM | …browseros-agent/apps/server/tests/agent/prompt.test.ts | 170 | // 4. SECURITY SUBSTANCE (the guardrails must survive the trim) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ckages/browseros-agent/contracts/claw-api/openapi.yaml | 52 | $ref: ./paths/connections.yaml#/harness | CODE |
| MEDIUM | …owseros-agent/apps/claw-server/src/services/helpers.rs | 280 | /// robust. A file with no frontmatter yields `None`; one with no `js` fence | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | packages/browseros-agent/apps/cli/scripts/install.sh | 5 | # Usage: | COMMENT |
| LOW | …/ui/views/side_panel/browseros_simple_page_extractor.h | 47 | +// Example usage: | CODE |