{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "scanner-419b9cdd90c5cebb", "name": "Stray `console.log` in TS/JS \u2014 web-test-runner.config.js:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 web-test-runner.config.js:73"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17ceaa01cd2d1520", "name": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/petermusic-staking-bug.spec.js:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/petermusic-staking-bug.spec.js:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b746db69f192e84c", "name": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/yearsummary-alltokens.spec.js:57", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/yearsummary-alltokens.spec.js:57"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d613259214bd6b59", "name": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/transactions-page.spec.js:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/transactions-page.spec.js:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-56db14e1cd60bfce", "name": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/intents-tokens.spec.js:34", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/intents-tokens.spec.js:34"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4922ecf7f9265f5b", "name": "Stray `console.log` in TS/JS \u2014 playwright_tests/util/api-mocks.js:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/util/api-mocks.js:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3fda59b0e3c28c5a", "name": "Stray `console.log` in TS/JS \u2014 test_servers/server/githttpserver.js:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test_servers/server/githttpserver.js:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-794fc62a32d8b924", "name": "Stray `console.log` in TS/JS \u2014 test_servers/server/test_server.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test_servers/server/test_server.js:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe406e521b96f749", "name": "Stray `console.log` in TS/JS \u2014 public_html/near/intents-tokens.js:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/intents-tokens.js:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-408f161aec9fb44f", "name": "Stray `console.log` in TS/JS \u2014 public_html/near/fungibletoken.spec.js:30", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/fungibletoken.spec.js:30"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-57a6d157a86da10f", "name": "Stray `console.log` in TS/JS \u2014 public_html/near/accounting-export-integration.spec.js:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/accounting-export-integration.spec.js:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6263c90e6e538924", "name": "Stray `console.log` in TS/JS \u2014 public_html/near/stakingpool.js:95", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/stakingpool.js:95"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-850d20eb32ec7754", "name": "Stray `console.log` in TS/JS \u2014 public_html/near/accounting-export.js:419", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/accounting-export.js:419"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c7177921ba10ed4", "name": "Stray `console.log` in TS/JS \u2014 public_html/yearreport/yearreport-table-renderer.js:46", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/yearreport/yearreport-table-renderer.js:46"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c53ca07233ac37bf", "name": "Stray `console.log` in TS/JS \u2014 public_html/accounts/accounts-page.component.js:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/accounts/accounts-page.component.js:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-91c98fcfea0851c4", "name": "Stray `console.log` in TS/JS \u2014 public_html/storage/storage-page.component.js:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/storage/storage-page.component.js:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3ea694c9bf56c77", "name": "Stray `console.log` in TS/JS \u2014 public_html/storage/domainobjectstore.js:444", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/storage/domainobjectstore.js:444"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-145c8707db523717", "name": "Stray `console.log` in TS/JS \u2014 public_html/storage/wasmgitworker.js:22", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 public_html/storage/wasmgitworker.js:22"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-878d7f53e40f7f23", "name": "Insecure pattern 'new_function_used' in rollup.config.js:17", "shortDescription": {"text": "Insecure pattern 'new_function_used' in rollup.config.js:17"}, "fullDescription": {"text": "Found a known-risky pattern (new_function_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-501ef28269cc3fc0", "name": "Insecure pattern 'node_child_process' in test_servers/server/githttpserver.js:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in test_servers/server/githttpserver.js:5"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d1901579a80a79a4", "name": "Insecure pattern 'cors_wildcard' in test_servers/server/githttpserver.js:30", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in test_servers/server/githttpserver.js:30"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7297e2a287fdd172", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/app.js:39", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/app.js:39"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e428e59d9cdcfd1", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/customexchangerates/customexchangerates-page.component.js:", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/customexchangerates/customexchangerates-page.component.js:10"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-af991cd0107506c7", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/stakingview/staking-page.component.js:16", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/stakingview/staking-page.component.js:16"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-93aa5f9ad8ccbf43", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/counterparties/counterparties-page.component.js:188", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/counterparties/counterparties-page.component.js:188"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7226cd9fcd21bf1b", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearreport-page.component.js:16", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearreport-page.component.js:16"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d320a78373f5011d", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearreport-table-renderer.js:14", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearreport-table-renderer.js:14"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-54c2e1d453e8e524", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearsummary-alltokens-print.component.js:11", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearsummary-alltokens-print.component.js:11"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-927e10deb4ca352f", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearreport-print.component.js:9", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearreport-print.component.js:9"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b0f8398855297163", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/transactions/transactions-page.component.js:66", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/transactions/transactions-page.component.js:66"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0926fc42243bfd2b", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/accounts/accounts-page.component.js:17", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/accounts/accounts-page.component.js:17"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f11eb5e5d3064ca2", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/storage/storage-page.component.js:46", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/storage/storage-page.component.js:46"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fd096b8d06025a60", "name": "Insecure pattern 'local_storage_auth_token' in public_html/storage/storage-page.component.js:33", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public_html/storage/storage-page.component.js:33"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-95baf7c0e56c9d7d", "name": "Insecure pattern 'local_storage_auth_token' in public_html/arizgateway/arizgatewayaccess.spec.js:4", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in public_html/arizgateway/arizgatewayaccess.spec.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de63525e850cab88", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/ui/progress-bar.js:78", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/ui/progress-bar.js:78"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4ee983577cba77ff", "name": "Insecure pattern 'direct_innerhtml_assignment' in public_html/ui/modal.js:14", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/ui/modal.js:14"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1d7e834080dbebed", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/setup-node@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d0a8ebd471abe87", "name": "Very large file: testdata/stakingbalances.js (20565 lines)", "shortDescription": {"text": "Very large file: testdata/stakingbalances.js (20565 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "15 tests / 61 src (ratio 0.25)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 38 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-122f91b7f2906dc4", "name": "Agent authority lacks a verifier contract: .claude/settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3537b21682ec0a67", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web-test-runner.config.js:136", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web-test-runner.config.js:136"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b4a690b79aef5d77", "name": "`fetch()` without try/.catch or AbortSignal \u2014 testdata/rpcmock.js:54", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 testdata/rpcmock.js:54"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-650f0fc9183b77c9", "name": "Commented-code block (7 lines) in public_html/pricedata/pricedata.js:54", "shortDescription": {"text": "Commented-code block (7 lines) in public_html/pricedata/pricedata.js:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eaefd4d6eeb40e30", "name": "Commented-code block (5 lines) in public_html/near/accounting-export-integration.spec.js:245", "shortDescription": {"text": "Commented-code block (5 lines) in public_html/near/accounting-export-integration.spec.js:245"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f2b353ec66e5fd4b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/accounting-export-integration.spec.js:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/accounting-export-integration.spec.js:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5f28df603ff36d9d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/nearblocks.js:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/nearblocks.js:17"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d863e6b644f7d306", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/fastnear.js:20", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/fastnear.js:20"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8e845dfff5a7f96", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/stakingpool.js:9", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/stakingpool.js:9"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-efcd1f9651253ed4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/accounting-export.js:188", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/accounting-export.js:188"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-89f1353658fc4c4d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/account.js:28", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/account.js:28"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e8ebefdeec316b6c", "name": "Commented-code block (6 lines) in public_html/yearreport/yearreportdata.js:59", "shortDescription": {"text": "Commented-code block (6 lines) in public_html/yearreport/yearreportdata.js:59"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ba693fcec4310412", "name": "Commented-code block (5 lines) in public_html/transactions/transactions-page.component.js:207", "shortDescription": {"text": "Commented-code block (5 lines) in public_html/transactions/transactions-page.component.js:207"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-375dbfda0fca3ca1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/storage/gitstorage.spec.js:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/storage/gitstorage.spec.js:13"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/24301"}, "properties": {"repository": "arizas/Ariz-Portfolio", "repoUrl": "https://github.com/arizas/Ariz-Portfolio", "branch": "main"}, "results": [{"ruleId": "scanner-419b9cdd90c5cebb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 web-test-runner.config.js:73"}, "properties": {"repobilityId": "0bf5cdecfedceeb8", "scanner": "scanner-primary", "fingerprint": "419b9cdd90c5cebb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-17ceaa01cd2d1520", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/petermusic-staking-bug.spec.js:19"}, "properties": {"repobilityId": "93570cb05e37b999", "scanner": "scanner-primary", "fingerprint": "17ceaa01cd2d1520", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b746db69f192e84c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/yearsummary-alltokens.spec.js:57"}, "properties": {"repobilityId": "9ce4e243efbbef96", "scanner": "scanner-primary", "fingerprint": "b746db69f192e84c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d613259214bd6b59", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/transactions-page.spec.js:20"}, "properties": {"repobilityId": "2b479c2a3d722180", "scanner": "scanner-primary", "fingerprint": "d613259214bd6b59", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-56db14e1cd60bfce", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/tests/intents-tokens.spec.js:34"}, "properties": {"repobilityId": "91fc5569c78e49be", "scanner": "scanner-primary", "fingerprint": "56db14e1cd60bfce", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4922ecf7f9265f5b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 playwright_tests/util/api-mocks.js:66"}, "properties": {"repobilityId": "65e8739c7feaef35", "scanner": "scanner-primary", "fingerprint": "4922ecf7f9265f5b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-3fda59b0e3c28c5a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test_servers/server/githttpserver.js:25"}, "properties": {"repobilityId": "c9d858e04a25deaf", "scanner": "scanner-primary", "fingerprint": "3fda59b0e3c28c5a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-794fc62a32d8b924", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test_servers/server/test_server.js:7"}, "properties": {"repobilityId": "1bab8344d4b80098", "scanner": "scanner-primary", "fingerprint": "794fc62a32d8b924", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fe406e521b96f749", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/intents-tokens.js:66"}, "properties": {"repobilityId": "998c5a311eb9a532", "scanner": "scanner-primary", "fingerprint": "fe406e521b96f749", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-408f161aec9fb44f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/fungibletoken.spec.js:30"}, "properties": {"repobilityId": "e396b1a36ac64d8a", "scanner": "scanner-primary", "fingerprint": "408f161aec9fb44f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-57a6d157a86da10f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/accounting-export-integration.spec.js:23"}, "properties": {"repobilityId": "167dbaa9415bb707", "scanner": "scanner-primary", "fingerprint": "57a6d157a86da10f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6263c90e6e538924", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/stakingpool.js:95"}, "properties": {"repobilityId": "4d9c800191ca72f3", "scanner": "scanner-primary", "fingerprint": "6263c90e6e538924", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-850d20eb32ec7754", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/near/accounting-export.js:419"}, "properties": {"repobilityId": "69ddf2fccc3d35b2", "scanner": "scanner-primary", "fingerprint": "850d20eb32ec7754", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4c7177921ba10ed4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/yearreport/yearreport-table-renderer.js:46"}, "properties": {"repobilityId": "1aa005b5840cacf4", "scanner": "scanner-primary", "fingerprint": "4c7177921ba10ed4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c53ca07233ac37bf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/accounts/accounts-page.component.js:32"}, "properties": {"repobilityId": "ee320f5fd127ad6a", "scanner": "scanner-primary", "fingerprint": "c53ca07233ac37bf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-91c98fcfea0851c4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/storage/storage-page.component.js:58"}, "properties": {"repobilityId": "8dbf7c40d0cf779e", "scanner": "scanner-primary", "fingerprint": "91c98fcfea0851c4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b3ea694c9bf56c77", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/storage/domainobjectstore.js:444"}, "properties": {"repobilityId": "6c8a905ae063bcfa", "scanner": "scanner-primary", "fingerprint": "b3ea694c9bf56c77", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-145c8707db523717", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 public_html/storage/wasmgitworker.js:22"}, "properties": {"repobilityId": "9738d76c799bfa1a", "scanner": "scanner-primary", "fingerprint": "145c8707db523717", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-878d7f53e40f7f23", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in rollup.config.js:17"}, "properties": {"repobilityId": "4d346feacd102bbb", "scanner": "scanner-primary", "fingerprint": "878d7f53e40f7f23", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "rollup.config.js"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-501ef28269cc3fc0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in test_servers/server/githttpserver.js:5"}, "properties": {"repobilityId": "f0f58ebbf7354d50", "scanner": "scanner-primary", "fingerprint": "501ef28269cc3fc0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "test_servers/server/githttpserver.js"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-d1901579a80a79a4", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in test_servers/server/githttpserver.js:30"}, "properties": {"repobilityId": "b8c9d1e04cae7d15", "scanner": "scanner-primary", "fingerprint": "d1901579a80a79a4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "test_servers/server/githttpserver.js"}, "region": {"startLine": 30}}}]}, {"ruleId": "scanner-7297e2a287fdd172", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/app.js:39"}, "properties": {"repobilityId": "3c56be40aa033db0", "scanner": "scanner-primary", "fingerprint": "7297e2a287fdd172", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/app.js"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-7e428e59d9cdcfd1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/customexchangerates/customexchangerates-page.component.js:10"}, "properties": {"repobilityId": "2d7ee899162d1317", "scanner": "scanner-primary", "fingerprint": "7e428e59d9cdcfd1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/customexchangerates/customexchangerates-page.component.js"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-af991cd0107506c7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/stakingview/staking-page.component.js:16"}, "properties": {"repobilityId": "0a622f3f297994f1", "scanner": "scanner-primary", "fingerprint": "af991cd0107506c7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/stakingview/staking-page.component.js"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-93aa5f9ad8ccbf43", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/counterparties/counterparties-page.component.js:188"}, "properties": {"repobilityId": "29012e2047690a37", "scanner": "scanner-primary", "fingerprint": "93aa5f9ad8ccbf43", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/counterparties/counterparties-page.component.js"}, "region": {"startLine": 188}}}]}, {"ruleId": "scanner-7226cd9fcd21bf1b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearreport-page.component.js:16"}, "properties": {"repobilityId": "ad34fdbe473686c4", "scanner": "scanner-primary", "fingerprint": "7226cd9fcd21bf1b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/yearreport/yearreport-page.component.js"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-d320a78373f5011d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearreport-table-renderer.js:14"}, "properties": {"repobilityId": "d42e7fd9c1173b71", "scanner": "scanner-primary", "fingerprint": "d320a78373f5011d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/yearreport/yearreport-table-renderer.js"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-54c2e1d453e8e524", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearsummary-alltokens-print.component.js:11"}, "properties": {"repobilityId": "e7b4acf1de1ab7bb", "scanner": "scanner-primary", "fingerprint": "54c2e1d453e8e524", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/yearreport/yearsummary-alltokens-print.component.js"}, "region": {"startLine": 11}}}]}, {"ruleId": "scanner-927e10deb4ca352f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/yearreport/yearreport-print.component.js:9"}, "properties": {"repobilityId": "bac862821460fbfc", "scanner": "scanner-primary", "fingerprint": "927e10deb4ca352f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/yearreport/yearreport-print.component.js"}, "region": {"startLine": 9}}}]}, {"ruleId": "scanner-b0f8398855297163", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/transactions/transactions-page.component.js:66"}, "properties": {"repobilityId": "381e624b714596ac", "scanner": "scanner-primary", "fingerprint": "b0f8398855297163", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/transactions/transactions-page.component.js"}, "region": {"startLine": 66}}}]}, {"ruleId": "scanner-0926fc42243bfd2b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/accounts/accounts-page.component.js:17"}, "properties": {"repobilityId": "f91285aa6b82d7f9", "scanner": "scanner-primary", "fingerprint": "0926fc42243bfd2b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/accounts/accounts-page.component.js"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-f11eb5e5d3064ca2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/storage/storage-page.component.js:46"}, "properties": {"repobilityId": "c7993adb4fcc7ae4", "scanner": "scanner-primary", "fingerprint": "f11eb5e5d3064ca2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/storage/storage-page.component.js"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-fd096b8d06025a60", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public_html/storage/storage-page.component.js:33"}, "properties": {"repobilityId": "ca5fff2e0dcf5c3b", "scanner": "scanner-primary", "fingerprint": "fd096b8d06025a60", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/storage/storage-page.component.js"}, "region": {"startLine": 33}}}]}, {"ruleId": "scanner-95baf7c0e56c9d7d", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in public_html/arizgateway/arizgatewayaccess.spec.js:4"}, "properties": {"repobilityId": "ebcf5730f11b76fe", "scanner": "scanner-primary", "fingerprint": "95baf7c0e56c9d7d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/arizgateway/arizgatewayaccess.spec.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-de63525e850cab88", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/ui/progress-bar.js:78"}, "properties": {"repobilityId": "c88b6b3b6f2ffdff", "scanner": "scanner-primary", "fingerprint": "de63525e850cab88", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/ui/progress-bar.js"}, "region": {"startLine": 78}}}]}, {"ruleId": "scanner-4ee983577cba77ff", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in public_html/ui/modal.js:14"}, "properties": {"repobilityId": "6d038b10b14f8870", "scanner": "scanner-primary", "fingerprint": "4ee983577cba77ff", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "public_html/ui/modal.js"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-1d7e834080dbebed", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "929bffda342e03e6", "scanner": "scanner-primary", "fingerprint": "1d7e834080dbebed", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/main.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-1d7e834080dbebed", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "929bffda342e03e6", "scanner": "scanner-primary", "fingerprint": "1d7e834080dbebed", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/main.yml"}, "region": {"startLine": 49}}}]}, {"ruleId": "scanner-2d0a8ebd471abe87", "level": "note", "message": {"text": "Very large file: testdata/stakingbalances.js (20565 lines)"}, "properties": {"repobilityId": "58cc9dda784096da", "scanner": "scanner-primary", "fingerprint": "2d0a8ebd471abe87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "679c625638ec6685", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "b300dd39f7d8eb21", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3537b21682ec0a67", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web-test-runner.config.js:136"}, "properties": {"repobilityId": "9ea5b9446fe42ef8", "scanner": "scanner-primary", "fingerprint": "3537b21682ec0a67", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b4a690b79aef5d77", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 testdata/rpcmock.js:54"}, "properties": {"repobilityId": "a416345b4c3a4a59", "scanner": "scanner-primary", "fingerprint": "b4a690b79aef5d77", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-650f0fc9183b77c9", "level": "none", "message": {"text": "Commented-code block (7 lines) in public_html/pricedata/pricedata.js:54"}, "properties": {"repobilityId": "716f235281bb840a", "scanner": "scanner-primary", "fingerprint": "650f0fc9183b77c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eaefd4d6eeb40e30", "level": "none", "message": {"text": "Commented-code block (5 lines) in public_html/near/accounting-export-integration.spec.js:245"}, "properties": {"repobilityId": "69a2234113b6cf31", "scanner": "scanner-primary", "fingerprint": "eaefd4d6eeb40e30", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f2b353ec66e5fd4b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/accounting-export-integration.spec.js:20"}, "properties": {"repobilityId": "699ad853a2d0ccc3", "scanner": "scanner-primary", "fingerprint": "f2b353ec66e5fd4b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5f28df603ff36d9d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/nearblocks.js:17"}, "properties": {"repobilityId": "66f3c76793b4b193", "scanner": "scanner-primary", "fingerprint": "5f28df603ff36d9d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d863e6b644f7d306", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/fastnear.js:20"}, "properties": {"repobilityId": "6240817da08a76d0", "scanner": "scanner-primary", "fingerprint": "d863e6b644f7d306", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b8e845dfff5a7f96", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/stakingpool.js:9"}, "properties": {"repobilityId": "57cf76634a38f498", "scanner": "scanner-primary", "fingerprint": "b8e845dfff5a7f96", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-efcd1f9651253ed4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/accounting-export.js:188"}, "properties": {"repobilityId": "3027e297d3f20646", "scanner": "scanner-primary", "fingerprint": "efcd1f9651253ed4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-89f1353658fc4c4d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/near/account.js:28"}, "properties": {"repobilityId": "0ab720ff7b5c7931", "scanner": "scanner-primary", "fingerprint": "89f1353658fc4c4d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e8ebefdeec316b6c", "level": "none", "message": {"text": "Commented-code block (6 lines) in public_html/yearreport/yearreportdata.js:59"}, "properties": {"repobilityId": "33540cced80986f7", "scanner": "scanner-primary", "fingerprint": "e8ebefdeec316b6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ba693fcec4310412", "level": "none", "message": {"text": "Commented-code block (5 lines) in public_html/transactions/transactions-page.component.js:207"}, "properties": {"repobilityId": "7e914e41a419ffae", "scanner": "scanner-primary", "fingerprint": "ba693fcec4310412", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-375dbfda0fca3ca1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 public_html/storage/gitstorage.spec.js:13"}, "properties": {"repobilityId": "f5d8379887f25e3b", "scanner": "scanner-primary", "fingerprint": "375dbfda0fca3ca1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}]}]}