{"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-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-19777faa00b3a7d0", "name": "Insecure pattern 'node_child_process' in serve.mjs:14", "shortDescription": {"text": "Insecure pattern 'node_child_process' in serve.mjs:14"}, "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-3fc0d65bb5064163", "name": "Insecure pattern 'cors_wildcard' in serve.mjs:52", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in serve.mjs:52"}, "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-71a36a02d1e705dc", "name": "Possible secret in scripts/write-competitor-intel.mjs", "shortDescription": {"text": "Possible secret in scripts/write-competitor-intel.mjs"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-79a7cfdecd28d5a4", "name": "Possible secret in scripts/regrade-mon-launch.mjs", "shortDescription": {"text": "Possible secret in scripts/regrade-mon-launch.mjs"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-0c61ad47c3e6f86f", "name": "Possible secret in scripts/rebuild-on-data-change.mjs", "shortDescription": {"text": "Possible secret in scripts/rebuild-on-data-change.mjs"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-04c77e8c6a9f3571", "name": "Insecure pattern 'node_child_process' in scripts/rebuild-on-data-change.mjs:10", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/rebuild-on-data-change.mjs:10"}, "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-e4569a49ccbe8ebb", "name": "Insecure pattern 'node_child_process' in scripts/render-exam.mjs:20", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/render-exam.mjs:20"}, "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-af1e8a846bebb491", "name": "Possible secret in scripts/regrade-fri-domains.mjs", "shortDescription": {"text": "Possible secret in scripts/regrade-fri-domains.mjs"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-9fc622e6ba162c2a", "name": "Possible secret in scripts/seed-firestore.mjs", "shortDescription": {"text": "Possible secret in scripts/seed-firestore.mjs"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-08243436df668137", "name": "Insecure pattern 'node_child_process' in remotion/scripts/render-og-cards.mjs:16", "shortDescription": {"text": "Insecure pattern 'node_child_process' in remotion/scripts/render-og-cards.mjs:16"}, "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-9922e53187201bca", "name": "Possible secret in site/sample-linkedin-post.html", "shortDescription": {"text": "Possible secret in site/sample-linkedin-post.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-78c961b5d32f6cbd", "name": "Possible secret in site/competitors.html", "shortDescription": {"text": "Possible secret in site/competitors.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-a80b2ea98879c8f7", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/competitors.html:989", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/competitors.html:989"}, "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-8eac11aa500b682f", "name": "Possible secret in site/voice.html", "shortDescription": {"text": "Possible secret in site/voice.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-5cab7851314ee16e", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/voice.html:1169", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/voice.html:1169"}, "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-7784a35b9de4a61e", "name": "Possible secret in site/sprint.html", "shortDescription": {"text": "Possible secret in site/sprint.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-506ae15d23b08db1", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/sprint.html:834", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/sprint.html:834"}, "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-99beb34c19be32ea", "name": "Possible secret in site/inline-assets.mjs", "shortDescription": {"text": "Possible secret in site/inline-assets.mjs"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-ed48f8d9018439c9", "name": "Possible secret in site/posts.html", "shortDescription": {"text": "Possible secret in site/posts.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-4a17e82c26e68fd7", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/posts.html:1607", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/posts.html:1607"}, "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-10dcab90ac885b72", "name": "Possible secret in site/funnel.html", "shortDescription": {"text": "Possible secret in site/funnel.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-0fa50e509ea5f090", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/funnel.html:1453", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/funnel.html:1453"}, "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-1788a942358298cc", "name": "Possible secret in site/app.html", "shortDescription": {"text": "Possible secret in site/app.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-9c9625cbc9449b32", "name": "Insecure pattern 'new_function_used' in site/app.html:6587", "shortDescription": {"text": "Insecure pattern 'new_function_used' in site/app.html:6587"}, "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-563caf012d5e33b3", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/app.html:2996", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/app.html:2996"}, "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-311a0dd842707094", "name": "Possible secret in site/engineering.html", "shortDescription": {"text": "Possible secret in site/engineering.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-15962080a225d4b5", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/engineering.html:1142", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/engineering.html:1142"}, "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-c68e3aa5f81a9eba", "name": "Possible secret in site/testimonials.html", "shortDescription": {"text": "Possible secret in site/testimonials.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-573598b519a0803b", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/testimonials.html:913", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/testimonials.html:913"}, "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-fce96aad126f0cde", "name": "Possible secret in site/content.html", "shortDescription": {"text": "Possible secret in site/content.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-a98916b9a29c0897", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/content.html:1656", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/content.html:1656"}, "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-3a9fdbb576dac60b", "name": "Possible secret in site/index.html", "shortDescription": {"text": "Possible secret in site/index.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-c32b25021d0acc34", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/index.html:1560", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/index.html:1560"}, "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-52e796774de31674", "name": "Possible secret in site/strategy.html", "shortDescription": {"text": "Possible secret in site/strategy.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-f0a1bf9454c8879a", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/strategy.html:1179", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/strategy.html:1179"}, "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-54f5787c3e341266", "name": "Possible secret in site/launch-campaign.html", "shortDescription": {"text": "Possible secret in site/launch-campaign.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-58a4af73319f1559", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/launch-campaign.html:2166", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/launch-campaign.html:2166"}, "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-91bc04b0f08d1ddb", "name": "Possible secret in site/landing.html", "shortDescription": {"text": "Possible secret in site/landing.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-59274344280b5216", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/landing.html:1259", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/landing.html:1259"}, "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-f4897e97d356c47a", "name": "Possible secret in site/schedule.html", "shortDescription": {"text": "Possible secret in site/schedule.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-af151621f6d8e668", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/schedule.html:1896", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/schedule.html:1896"}, "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-6ac42791a4960faa", "name": "Possible secret in site/today.html", "shortDescription": {"text": "Possible secret in site/today.html"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-d7a9e7114513a703", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/today.html:1959", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/today.html:1959"}, "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-a6bb8739937f754a", "name": "Insecure pattern 'direct_innerhtml_assignment' in site/assets/site.js:210", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/assets/site.js:210"}, "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-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9f251a38e7718cec", "name": "Very large file: site/assets/site.js (1051 lines)", "shortDescription": {"text": "Very large file: site/assets/site.js (1051 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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "1 test file(s) for 44 source file(s) (ratio 0.02). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "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 78 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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aebe4e59f972562e", "name": "Commented-code block (5 lines) in serve.mjs:96", "shortDescription": {"text": "Commented-code block (5 lines) in serve.mjs:96"}, "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-8a7e3488a185d1d9", "name": "Commented-code block (5 lines) in scripts/push-board-priorities.mjs:1", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/push-board-priorities.mjs:1"}, "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-d39c94f408e7edde", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/push-board-priorities.mjs:74", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/push-board-priorities.mjs:74"}, "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-9b78af77bf98a46f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/write-competitor-intel.mjs:198", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/write-competitor-intel.mjs:198"}, "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-f3c84f232ce1f492", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/push-competitors-doc.mjs:33", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/push-competitors-doc.mjs:33"}, "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-ecc59b1c7f36b1c8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/regrade-mon-launch.mjs:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/regrade-mon-launch.mjs:41"}, "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-994ffe7d8a1558b8", "name": "Commented-code block (5 lines) in scripts/pull-testimonials.mjs:6", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/pull-testimonials.mjs:6"}, "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-fc945a536256b99a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/pull-testimonials.mjs:53", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/pull-testimonials.mjs:53"}, "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-3a42a95bc887b26f", "name": "Commented-code block (5 lines) in scripts/post-copy.mjs:4", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/post-copy.mjs:4"}, "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-71aa1a446fc07dc0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/rebuild-on-data-change.mjs:89", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/rebuild-on-data-change.mjs:89"}, "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-faed285f73471141", "name": "Commented-code block (6 lines) in scripts/render-exam.mjs:13", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/render-exam.mjs:13"}, "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-432dd954ecc63996", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/regrade-fri-domains.mjs:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/regrade-fri-domains.mjs:41"}, "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-3e624fb67b5b4d71", "name": "Commented-code block (7 lines) in scripts/seed-firestore.mjs:5", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/seed-firestore.mjs:5"}, "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-bf87c34982d5f1da", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-firestore.mjs:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-firestore.mjs:96"}, "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-445dcccb78065b07", "name": "Commented-code block (6 lines) in functions/index.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in functions/index.js:1"}, "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-ff02606a5d743128", "name": "Commented-code block (5 lines) in remotion/src/CipherExamHybridLite.tsx:24", "shortDescription": {"text": "Commented-code block (5 lines) in remotion/src/CipherExamHybridLite.tsx:24"}, "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-53d647f99e51b535", "name": "Commented-code block (6 lines) in remotion/src/CipherExamMotionAd.tsx:14", "shortDescription": {"text": "Commented-code block (6 lines) in remotion/src/CipherExamMotionAd.tsx:14"}, "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-d190e8412c7ac0e3", "name": "Commented-code block (5 lines) in remotion/src/TopBar.tsx:4", "shortDescription": {"text": "Commented-code block (5 lines) in remotion/src/TopBar.tsx:4"}, "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-99e8779ffb97a5ca", "name": "Commented-code block (6 lines) in remotion/src/CipherExamHybridFull.tsx:17", "shortDescription": {"text": "Commented-code block (6 lines) in remotion/src/CipherExamHybridFull.tsx:17"}, "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-74234b671e683283", "name": "Commented-code block (9 lines) in remotion/src/CipherExamSingleChunkAd.tsx:7", "shortDescription": {"text": "Commented-code block (9 lines) in remotion/src/CipherExamSingleChunkAd.tsx:7"}, "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-66446ce0591072a8", "name": "Commented-code block (8 lines) in remotion/src/CipherExamAd.tsx:7", "shortDescription": {"text": "Commented-code block (8 lines) in remotion/src/CipherExamAd.tsx:7"}, "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-92aa9e39d647c0b1", "name": "Commented-code block (7 lines) in site/build-app.mjs:152", "shortDescription": {"text": "Commented-code block (7 lines) in site/build-app.mjs:152"}, "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-6415092452ab034b", "name": "Commented-code block (6 lines) in site/assets/site.js:113", "shortDescription": {"text": "Commented-code block (6 lines) in site/assets/site.js:113"}, "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}}]}}, "automationDetails": {"id": "repobility/25504"}, "properties": {"repository": "dquillman/cipher-marketing", "repoUrl": "https://github.com/dquillman/cipher-marketing", "branch": "main"}, "results": [{"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-19777faa00b3a7d0", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in serve.mjs:14"}, "properties": {"repobilityId": "ace70cbc3c6a7775", "scanner": "scanner-primary", "fingerprint": "19777faa00b3a7d0", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "serve.mjs"}, "region": {"startLine": 14}}}]}, {"ruleId": "scanner-3fc0d65bb5064163", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in serve.mjs:52"}, "properties": {"repobilityId": "f1275f0376d3e43a", "scanner": "scanner-primary", "fingerprint": "3fc0d65bb5064163", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "serve.mjs"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-71a36a02d1e705dc", "level": "error", "message": {"text": "Possible secret in scripts/write-competitor-intel.mjs"}, "properties": {"repobilityId": "67259bfed2dedfd4", "scanner": "scanner-primary", "fingerprint": "71a36a02d1e705dc", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/write-competitor-intel.mjs"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-79a7cfdecd28d5a4", "level": "error", "message": {"text": "Possible secret in scripts/regrade-mon-launch.mjs"}, "properties": {"repobilityId": "16a41edeb03ed1af", "scanner": "scanner-primary", "fingerprint": "79a7cfdecd28d5a4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/regrade-mon-launch.mjs"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-0c61ad47c3e6f86f", "level": "error", "message": {"text": "Possible secret in scripts/rebuild-on-data-change.mjs"}, "properties": {"repobilityId": "bf05b450c1b74a2f", "scanner": "scanner-primary", "fingerprint": "0c61ad47c3e6f86f", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/rebuild-on-data-change.mjs"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-04c77e8c6a9f3571", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/rebuild-on-data-change.mjs:10"}, "properties": {"repobilityId": "2d1dea9d676e8958", "scanner": "scanner-primary", "fingerprint": "04c77e8c6a9f3571", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/rebuild-on-data-change.mjs"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-e4569a49ccbe8ebb", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/render-exam.mjs:20"}, "properties": {"repobilityId": "ad2eef24ab81e852", "scanner": "scanner-primary", "fingerprint": "e4569a49ccbe8ebb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/render-exam.mjs"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-af1e8a846bebb491", "level": "error", "message": {"text": "Possible secret in scripts/regrade-fri-domains.mjs"}, "properties": {"repobilityId": "e0b2250cc6a13c0b", "scanner": "scanner-primary", "fingerprint": "af1e8a846bebb491", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/regrade-fri-domains.mjs"}, "region": {"startLine": 12}}}]}, {"ruleId": "scanner-9fc622e6ba162c2a", "level": "error", "message": {"text": "Possible secret in scripts/seed-firestore.mjs"}, "properties": {"repobilityId": "c8783472718e12bb", "scanner": "scanner-primary", "fingerprint": "9fc622e6ba162c2a", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/seed-firestore.mjs"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-08243436df668137", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in remotion/scripts/render-og-cards.mjs:16"}, "properties": {"repobilityId": "6a9f5d5c8193ca19", "scanner": "scanner-primary", "fingerprint": "08243436df668137", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "remotion/scripts/render-og-cards.mjs"}, "region": {"startLine": 16}}}]}, {"ruleId": "scanner-9922e53187201bca", "level": "error", "message": {"text": "Possible secret in site/sample-linkedin-post.html"}, "properties": {"repobilityId": "993355fc83ee2a74", "scanner": "scanner-primary", "fingerprint": "9922e53187201bca", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/sample-linkedin-post.html"}, "region": {"startLine": 1011}}}]}, {"ruleId": "scanner-78c961b5d32f6cbd", "level": "error", "message": {"text": "Possible secret in site/competitors.html"}, "properties": {"repobilityId": "d7ffda25630f0929", "scanner": "scanner-primary", "fingerprint": "78c961b5d32f6cbd", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/competitors.html"}, "region": {"startLine": 786}}}]}, {"ruleId": "scanner-a80b2ea98879c8f7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/competitors.html:989"}, "properties": {"repobilityId": "46aa754ca3526797", "scanner": "scanner-primary", "fingerprint": "a80b2ea98879c8f7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/competitors.html"}, "region": {"startLine": 989}}}]}, {"ruleId": "scanner-8eac11aa500b682f", "level": "error", "message": {"text": "Possible secret in site/voice.html"}, "properties": {"repobilityId": "81f7f4da78502c2f", "scanner": "scanner-primary", "fingerprint": "8eac11aa500b682f", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/voice.html"}, "region": {"startLine": 786}}}]}, {"ruleId": "scanner-5cab7851314ee16e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/voice.html:1169"}, "properties": {"repobilityId": "70e399d9a366c3ad", "scanner": "scanner-primary", "fingerprint": "5cab7851314ee16e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/voice.html"}, "region": {"startLine": 1169}}}]}, {"ruleId": "scanner-7784a35b9de4a61e", "level": "error", "message": {"text": "Possible secret in site/sprint.html"}, "properties": {"repobilityId": "707deee4e2d78f02", "scanner": "scanner-primary", "fingerprint": "7784a35b9de4a61e", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/sprint.html"}, "region": {"startLine": 786}}}]}, {"ruleId": "scanner-506ae15d23b08db1", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/sprint.html:834"}, "properties": {"repobilityId": "527439d6fca5cb6c", "scanner": "scanner-primary", "fingerprint": "506ae15d23b08db1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/sprint.html"}, "region": {"startLine": 834}}}]}, {"ruleId": "scanner-99beb34c19be32ea", "level": "error", "message": {"text": "Possible secret in site/inline-assets.mjs"}, "properties": {"repobilityId": "2e01d67160169092", "scanner": "scanner-primary", "fingerprint": "99beb34c19be32ea", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/inline-assets.mjs"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-ed48f8d9018439c9", "level": "error", "message": {"text": "Possible secret in site/posts.html"}, "properties": {"repobilityId": "574d9d9b3f4955f6", "scanner": "scanner-primary", "fingerprint": "ed48f8d9018439c9", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/posts.html"}, "region": {"startLine": 1377}}}]}, {"ruleId": "scanner-4a17e82c26e68fd7", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/posts.html:1607"}, "properties": {"repobilityId": "1432903cf0e7bdf4", "scanner": "scanner-primary", "fingerprint": "4a17e82c26e68fd7", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/posts.html"}, "region": {"startLine": 1607}}}]}, {"ruleId": "scanner-10dcab90ac885b72", "level": "error", "message": {"text": "Possible secret in site/funnel.html"}, "properties": {"repobilityId": "2c6e11ee7d732d77", "scanner": "scanner-primary", "fingerprint": "10dcab90ac885b72", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/funnel.html"}, "region": {"startLine": 1208}}}]}, {"ruleId": "scanner-0fa50e509ea5f090", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/funnel.html:1453"}, "properties": {"repobilityId": "a2dcc5d2b438ca44", "scanner": "scanner-primary", "fingerprint": "0fa50e509ea5f090", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/funnel.html"}, "region": {"startLine": 1453}}}]}, {"ruleId": "scanner-1788a942358298cc", "level": "error", "message": {"text": "Possible secret in site/app.html"}, "properties": {"repobilityId": "25b4ba190ab6dab6", "scanner": "scanner-primary", "fingerprint": "1788a942358298cc", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/app.html"}, "region": {"startLine": 2173}}}]}, {"ruleId": "scanner-9c9625cbc9449b32", "level": "error", "message": {"text": "Insecure pattern 'new_function_used' in site/app.html:6587"}, "properties": {"repobilityId": "b6946b417d133021", "scanner": "scanner-primary", "fingerprint": "9c9625cbc9449b32", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "new_function_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/app.html"}, "region": {"startLine": 6587}}}]}, {"ruleId": "scanner-563caf012d5e33b3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/app.html:2996"}, "properties": {"repobilityId": "3a1171c4f9f09b15", "scanner": "scanner-primary", "fingerprint": "563caf012d5e33b3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/app.html"}, "region": {"startLine": 2996}}}]}, {"ruleId": "scanner-311a0dd842707094", "level": "error", "message": {"text": "Possible secret in site/engineering.html"}, "properties": {"repobilityId": "c586308dcdf2d900", "scanner": "scanner-primary", "fingerprint": "311a0dd842707094", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/engineering.html"}, "region": {"startLine": 786}}}]}, {"ruleId": "scanner-15962080a225d4b5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/engineering.html:1142"}, "properties": {"repobilityId": "31fab2540448123a", "scanner": "scanner-primary", "fingerprint": "15962080a225d4b5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/engineering.html"}, "region": {"startLine": 1142}}}]}, {"ruleId": "scanner-c68e3aa5f81a9eba", "level": "error", "message": {"text": "Possible secret in site/testimonials.html"}, "properties": {"repobilityId": "adf8cdddec2b4548", "scanner": "scanner-primary", "fingerprint": "c68e3aa5f81a9eba", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/testimonials.html"}, "region": {"startLine": 786}}}]}, {"ruleId": "scanner-573598b519a0803b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/testimonials.html:913"}, "properties": {"repobilityId": "9d24941949466dac", "scanner": "scanner-primary", "fingerprint": "573598b519a0803b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/testimonials.html"}, "region": {"startLine": 913}}}]}, {"ruleId": "scanner-fce96aad126f0cde", "level": "error", "message": {"text": "Possible secret in site/content.html"}, "properties": {"repobilityId": "d54d8bb54c31d170", "scanner": "scanner-primary", "fingerprint": "fce96aad126f0cde", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/content.html"}, "region": {"startLine": 790}}}]}, {"ruleId": "scanner-a98916b9a29c0897", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/content.html:1656"}, "properties": {"repobilityId": "009157a6e859c326", "scanner": "scanner-primary", "fingerprint": "a98916b9a29c0897", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/content.html"}, "region": {"startLine": 1656}}}]}, {"ruleId": "scanner-3a9fdbb576dac60b", "level": "error", "message": {"text": "Possible secret in site/index.html"}, "properties": {"repobilityId": "62f4cc9b8681e8ae", "scanner": "scanner-primary", "fingerprint": "3a9fdbb576dac60b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/index.html"}, "region": {"startLine": 1208}}}]}, {"ruleId": "scanner-c32b25021d0acc34", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/index.html:1560"}, "properties": {"repobilityId": "91a2a73fe1e89994", "scanner": "scanner-primary", "fingerprint": "c32b25021d0acc34", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/index.html"}, "region": {"startLine": 1560}}}]}, {"ruleId": "scanner-52e796774de31674", "level": "error", "message": {"text": "Possible secret in site/strategy.html"}, "properties": {"repobilityId": "2d17ddea144b234a", "scanner": "scanner-primary", "fingerprint": "52e796774de31674", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/strategy.html"}, "region": {"startLine": 786}}}]}, {"ruleId": "scanner-f0a1bf9454c8879a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/strategy.html:1179"}, "properties": {"repobilityId": "e8f108a245f40582", "scanner": "scanner-primary", "fingerprint": "f0a1bf9454c8879a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/strategy.html"}, "region": {"startLine": 1179}}}]}, {"ruleId": "scanner-54f5787c3e341266", "level": "error", "message": {"text": "Possible secret in site/launch-campaign.html"}, "properties": {"repobilityId": "53260f3a71b3ca8e", "scanner": "scanner-primary", "fingerprint": "54f5787c3e341266", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/launch-campaign.html"}, "region": {"startLine": 1619}}}]}, {"ruleId": "scanner-58a4af73319f1559", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/launch-campaign.html:2166"}, "properties": {"repobilityId": "86857f83d148c1b3", "scanner": "scanner-primary", "fingerprint": "58a4af73319f1559", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/launch-campaign.html"}, "region": {"startLine": 2166}}}]}, {"ruleId": "scanner-91bc04b0f08d1ddb", "level": "error", "message": {"text": "Possible secret in site/landing.html"}, "properties": {"repobilityId": "fba5616128d9a5c6", "scanner": "scanner-primary", "fingerprint": "91bc04b0f08d1ddb", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/landing.html"}, "region": {"startLine": 786}}}]}, {"ruleId": "scanner-59274344280b5216", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/landing.html:1259"}, "properties": {"repobilityId": "25c4553b3efa2707", "scanner": "scanner-primary", "fingerprint": "59274344280b5216", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/landing.html"}, "region": {"startLine": 1259}}}]}, {"ruleId": "scanner-f4897e97d356c47a", "level": "error", "message": {"text": "Possible secret in site/schedule.html"}, "properties": {"repobilityId": "6956e3e44fe4ddba", "scanner": "scanner-primary", "fingerprint": "f4897e97d356c47a", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/schedule.html"}, "region": {"startLine": 1553}}}]}, {"ruleId": "scanner-af151621f6d8e668", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/schedule.html:1896"}, "properties": {"repobilityId": "5096f1b9278f6869", "scanner": "scanner-primary", "fingerprint": "af151621f6d8e668", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/schedule.html"}, "region": {"startLine": 1896}}}]}, {"ruleId": "scanner-6ac42791a4960faa", "level": "error", "message": {"text": "Possible secret in site/today.html"}, "properties": {"repobilityId": "9d2b7c3806b5e4ff", "scanner": "scanner-primary", "fingerprint": "6ac42791a4960faa", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/today.html"}, "region": {"startLine": 1645}}}]}, {"ruleId": "scanner-d7a9e7114513a703", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/today.html:1959"}, "properties": {"repobilityId": "2c66368009640255", "scanner": "scanner-primary", "fingerprint": "d7a9e7114513a703", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/today.html"}, "region": {"startLine": 1959}}}]}, {"ruleId": "scanner-a6bb8739937f754a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in site/assets/site.js:210"}, "properties": {"repobilityId": "23f228e36076627e", "scanner": "scanner-primary", "fingerprint": "a6bb8739937f754a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "site/assets/site.js"}, "region": {"startLine": 210}}}]}, {"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-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-9f251a38e7718cec", "level": "note", "message": {"text": "Very large file: site/assets/site.js (1051 lines)"}, "properties": {"repobilityId": "465dd964eb04b2f0", "scanner": "scanner-primary", "fingerprint": "9f251a38e7718cec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "ebee3947c347b02b", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "3f7bd3662ae3af82", "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": "7024406c1cd62124", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "412144154b528b6f", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-aebe4e59f972562e", "level": "none", "message": {"text": "Commented-code block (5 lines) in serve.mjs:96"}, "properties": {"repobilityId": "d44fdd91747b5a65", "scanner": "scanner-primary", "fingerprint": "aebe4e59f972562e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a7e3488a185d1d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/push-board-priorities.mjs:1"}, "properties": {"repobilityId": "e01a3c82e6614427", "scanner": "scanner-primary", "fingerprint": "8a7e3488a185d1d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d39c94f408e7edde", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/push-board-priorities.mjs:74"}, "properties": {"repobilityId": "8c94d6b575ef1825", "scanner": "scanner-primary", "fingerprint": "d39c94f408e7edde", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9b78af77bf98a46f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/write-competitor-intel.mjs:198"}, "properties": {"repobilityId": "c4beb708f8b2c7b5", "scanner": "scanner-primary", "fingerprint": "9b78af77bf98a46f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f3c84f232ce1f492", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/push-competitors-doc.mjs:33"}, "properties": {"repobilityId": "c25394a5b8d4e826", "scanner": "scanner-primary", "fingerprint": "f3c84f232ce1f492", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ecc59b1c7f36b1c8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/regrade-mon-launch.mjs:41"}, "properties": {"repobilityId": "f108d097df2dd8ab", "scanner": "scanner-primary", "fingerprint": "ecc59b1c7f36b1c8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-994ffe7d8a1558b8", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/pull-testimonials.mjs:6"}, "properties": {"repobilityId": "9cd2d3bd4d63ba6c", "scanner": "scanner-primary", "fingerprint": "994ffe7d8a1558b8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc945a536256b99a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/pull-testimonials.mjs:53"}, "properties": {"repobilityId": "040b15ec17d68330", "scanner": "scanner-primary", "fingerprint": "fc945a536256b99a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3a42a95bc887b26f", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/post-copy.mjs:4"}, "properties": {"repobilityId": "b83e47fc3f0f4b6d", "scanner": "scanner-primary", "fingerprint": "3a42a95bc887b26f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-71aa1a446fc07dc0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/rebuild-on-data-change.mjs:89"}, "properties": {"repobilityId": "b88e4a1ae0eadac6", "scanner": "scanner-primary", "fingerprint": "71aa1a446fc07dc0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-faed285f73471141", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/render-exam.mjs:13"}, "properties": {"repobilityId": "63e4c256e686b43c", "scanner": "scanner-primary", "fingerprint": "faed285f73471141", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-432dd954ecc63996", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/regrade-fri-domains.mjs:41"}, "properties": {"repobilityId": "8c404738ff7f7d5d", "scanner": "scanner-primary", "fingerprint": "432dd954ecc63996", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3e624fb67b5b4d71", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/seed-firestore.mjs:5"}, "properties": {"repobilityId": "d1cf51b7aba582df", "scanner": "scanner-primary", "fingerprint": "3e624fb67b5b4d71", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bf87c34982d5f1da", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-firestore.mjs:96"}, "properties": {"repobilityId": "2fd5b28111612a13", "scanner": "scanner-primary", "fingerprint": "bf87c34982d5f1da", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-445dcccb78065b07", "level": "none", "message": {"text": "Commented-code block (6 lines) in functions/index.js:1"}, "properties": {"repobilityId": "2adee5cbdbb9b945", "scanner": "scanner-primary", "fingerprint": "445dcccb78065b07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff02606a5d743128", "level": "none", "message": {"text": "Commented-code block (5 lines) in remotion/src/CipherExamHybridLite.tsx:24"}, "properties": {"repobilityId": "2b198fd8ecfef928", "scanner": "scanner-primary", "fingerprint": "ff02606a5d743128", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53d647f99e51b535", "level": "none", "message": {"text": "Commented-code block (6 lines) in remotion/src/CipherExamMotionAd.tsx:14"}, "properties": {"repobilityId": "8a010bfaccd6c480", "scanner": "scanner-primary", "fingerprint": "53d647f99e51b535", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d190e8412c7ac0e3", "level": "none", "message": {"text": "Commented-code block (5 lines) in remotion/src/TopBar.tsx:4"}, "properties": {"repobilityId": "74c5ba0dd1684c98", "scanner": "scanner-primary", "fingerprint": "d190e8412c7ac0e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99e8779ffb97a5ca", "level": "none", "message": {"text": "Commented-code block (6 lines) in remotion/src/CipherExamHybridFull.tsx:17"}, "properties": {"repobilityId": "4b2cd73a96d65d8f", "scanner": "scanner-primary", "fingerprint": "99e8779ffb97a5ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-74234b671e683283", "level": "none", "message": {"text": "Commented-code block (9 lines) in remotion/src/CipherExamSingleChunkAd.tsx:7"}, "properties": {"repobilityId": "9d573a3914d245f4", "scanner": "scanner-primary", "fingerprint": "74234b671e683283", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-66446ce0591072a8", "level": "none", "message": {"text": "Commented-code block (8 lines) in remotion/src/CipherExamAd.tsx:7"}, "properties": {"repobilityId": "e231cb0a74fb4507", "scanner": "scanner-primary", "fingerprint": "66446ce0591072a8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92aa9e39d647c0b1", "level": "none", "message": {"text": "Commented-code block (7 lines) in site/build-app.mjs:152"}, "properties": {"repobilityId": "3fc2abee3d2e4ce2", "scanner": "scanner-primary", "fingerprint": "92aa9e39d647c0b1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6415092452ab034b", "level": "none", "message": {"text": "Commented-code block (6 lines) in site/assets/site.js:113"}, "properties": {"repobilityId": "626cb488f4906bea", "scanner": "scanner-primary", "fingerprint": "6415092452ab034b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}