{"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-a853d271c402f93f", "name": "Stray `console.log` in TS/JS \u2014 wb3-vitals.js:75", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 wb3-vitals.js:75"}, "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-6c2113d865b4ff8c", "name": "Stray `console.log` in TS/JS \u2014 auth.js:73", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 auth.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-46c6ebc145f89a4c", "name": "Insecure pattern 'direct_innerhtml_assignment' in operations.html:559", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in operations.html:559"}, "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-a4393e43d10a6288", "name": "Insecure pattern 'direct_innerhtml_assignment' in compare.js:54", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in compare.js:54"}, "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-07ed68a0d55088dd", "name": "Insecure pattern 'direct_innerhtml_assignment' in parametres.html:258", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in parametres.html:258"}, "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-f4e6f4fdb03459ef", "name": "Insecure pattern 'direct_innerhtml_assignment' in toast.js:68", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in toast.js:68"}, "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-ca33a9c48f3f0c36", "name": "Insecure pattern 'direct_innerhtml_assignment' in row-popover.js:92", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in row-popover.js:92"}, "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-54633b19d002de95", "name": "Insecure pattern 'direct_innerhtml_assignment' in multiselect-touch.js:56", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in multiselect-touch.js:56"}, "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-c107f81b0ef3df75", "name": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.html:468", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.html:468"}, "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-35de66a71e883137", "name": "Insecure pattern 'direct_innerhtml_assignment' in list-header.js:88", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in list-header.js:88"}, "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-984613cdfc1e993e", "name": "Insecure pattern 'direct_innerhtml_assignment' in assemblage.html:121", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in assemblage.html:121"}, "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-ab06f9579ecad253", "name": "Insecure pattern 'direct_innerhtml_assignment' in list-pager.js:104", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in list-pager.js:104"}, "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-650900c0b2dd46d6", "name": "Insecure pattern 'direct_innerhtml_assignment' in produits.html:384", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in produits.html:384"}, "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-cf480ac58c994a85", "name": "Insecure pattern 'direct_innerhtml_assignment' in pwa.js:95", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pwa.js:95"}, "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-93f5706e9a9f1074", "name": "Insecure pattern 'direct_innerhtml_assignment' in wb3-vitals.js:99", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in wb3-vitals.js:99"}, "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-64b25d0446efdfa5", "name": "Insecure pattern 'direct_innerhtml_assignment' in wb3-freshness.js:75", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in wb3-freshness.js:75"}, "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-07bc3a45264f6e92", "name": "Insecure pattern 'direct_innerhtml_assignment' in shell.html:543", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shell.html:543"}, "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-3421f2141469b56d", "name": "Insecure pattern 'direct_innerhtml_assignment' in tracabilite.html:387", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tracabilite.html:387"}, "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-386d024856590c38", "name": "Insecure pattern 'direct_innerhtml_assignment' in lot-detail.html:565", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lot-detail.html:565"}, "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-0f07a56d09f82924", "name": "Insecure pattern 'direct_innerhtml_assignment' in qualite-traca.html:271", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in qualite-traca.html:271"}, "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-caca183b338c2875", "name": "Insecure pattern 'direct_innerhtml_assignment' in rapports.html:340", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rapports.html:340"}, "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-8a65bab450422184", "name": "Insecure pattern 'direct_innerhtml_assignment' in contenant-detail.html:287", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in contenant-detail.html:287"}, "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-45149f0f24fa8128", "name": "Insecure pattern 'direct_innerhtml_assignment' in cuverie.html:1757", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cuverie.html:1757"}, "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-1a15027d525041ff", "name": "Insecure pattern 'direct_innerhtml_assignment' in db.js:234", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in db.js:234"}, "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-d7009c8368874cee", "name": "Insecure pattern 'direct_innerhtml_assignment' in cuverie-tournee.js:147", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cuverie-tournee.js:147"}, "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-84e59168d807335c", "name": "Insecure pattern 'direct_innerhtml_assignment' in apports.html:448", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apports.html:448"}, "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-e5f395c8e9e8f847", "name": "Insecure pattern 'insert_adjacent_html' in apports.html:1395", "shortDescription": {"text": "Insecure pattern 'insert_adjacent_html' in apports.html:1395"}, "fullDescription": {"text": "Found a known-risky pattern (insert_adjacent_html). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e53844754c00bc60", "name": "Insecure pattern 'direct_innerhtml_assignment' in nav.js:152", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in nav.js:152"}, "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-abbfb8893cad7a4e", "name": "Insecure pattern 'direct_innerhtml_assignment' in lots.html:452", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lots.html:452"}, "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-280a2f2d5b28247e", "name": "Insecure pattern 'direct_innerhtml_assignment' in analyses.html:814", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in analyses.html:814"}, "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-774ef0864cbc9bc8", "name": "Insecure pattern 'direct_innerhtml_assignment' in planning.html:449", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning.html:449"}, "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-59d58b7f0d12705f", "name": "Insecure pattern 'direct_innerhtml_assignment' in list-date-filter.js:120", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in list-date-filter.js:120"}, "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-d6ec78202a2fd2c1", "name": "Very large file: db.js (3154 lines)", "shortDescription": {"text": "Very large file: db.js (3154 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-c5e7fcbf57ad0d35", "name": "Very large file: nav.js (1157 lines)", "shortDescription": {"text": "Very large file: nav.js (1157 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": "0 test file(s) for 23 source file(s) (ratio 0.00). 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 16 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-d84f118ff5f2f17c", "name": "Commented-code block (9 lines) in wb3-init.js:9", "shortDescription": {"text": "Commented-code block (9 lines) in wb3-init.js:9"}, "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-b1cf5c19552d7599", "name": "Commented-code block (5 lines) in config.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in config.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-b88c0d56992b1155", "name": "Commented-code block (8 lines) in db.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in db.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-d64b3aab0b9b3493", "name": "Commented-code block (13 lines) in cuverie-tournee.js:6", "shortDescription": {"text": "Commented-code block (13 lines) in cuverie-tournee.js: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-c1f86615dcbbc52b", "name": "Commented-code block (6 lines) in nav.js:5", "shortDescription": {"text": "Commented-code block (6 lines) in nav.js: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-2875f2889d420606", "name": "Commented-code block (6 lines) in wb3-qualite.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in wb3-qualite.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-f0afde15e01f7c4b", "name": "Commented-code block (7 lines) in storage.js:1", "shortDescription": {"text": "Commented-code block (7 lines) in storage.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-58b4d0220cb7e731", "name": "Commented-code block (6 lines) in auth.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in auth.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-cb453a39be83d9e3", "name": "Commented-code block (6 lines) in cuverie-utils.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in cuverie-utils.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}}]}}, "automationDetails": {"id": "repobility/27712"}, "properties": {"repository": "massonflorian89-lab/wineblender-3-demo", "repoUrl": "https://github.com/massonflorian89-lab/wineblender-3-demo", "branch": "main"}, "results": [{"ruleId": "scanner-a853d271c402f93f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 wb3-vitals.js:75"}, "properties": {"repobilityId": "99cd184a116e296b", "scanner": "scanner-primary", "fingerprint": "a853d271c402f93f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c2113d865b4ff8c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 auth.js:73"}, "properties": {"repobilityId": "1eee6405275b0481", "scanner": "scanner-primary", "fingerprint": "6c2113d865b4ff8c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-46c6ebc145f89a4c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in operations.html:559"}, "properties": {"repobilityId": "6f8c168e26df76c9", "scanner": "scanner-primary", "fingerprint": "46c6ebc145f89a4c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "operations.html"}, "region": {"startLine": 559}}}]}, {"ruleId": "scanner-a4393e43d10a6288", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in compare.js:54"}, "properties": {"repobilityId": "e79dff9e89ba8138", "scanner": "scanner-primary", "fingerprint": "a4393e43d10a6288", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "compare.js"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-07ed68a0d55088dd", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in parametres.html:258"}, "properties": {"repobilityId": "dfc6e45276cdacfc", "scanner": "scanner-primary", "fingerprint": "07ed68a0d55088dd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "parametres.html"}, "region": {"startLine": 258}}}]}, {"ruleId": "scanner-f4e6f4fdb03459ef", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in toast.js:68"}, "properties": {"repobilityId": "024d846ebed141ed", "scanner": "scanner-primary", "fingerprint": "f4e6f4fdb03459ef", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toast.js"}, "region": {"startLine": 68}}}]}, {"ruleId": "scanner-ca33a9c48f3f0c36", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in row-popover.js:92"}, "properties": {"repobilityId": "b7feb8404f0f22b8", "scanner": "scanner-primary", "fingerprint": "ca33a9c48f3f0c36", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "row-popover.js"}, "region": {"startLine": 92}}}]}, {"ruleId": "scanner-54633b19d002de95", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in multiselect-touch.js:56"}, "properties": {"repobilityId": "2b52d0376e9c5fcc", "scanner": "scanner-primary", "fingerprint": "54633b19d002de95", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "multiselect-touch.js"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-c107f81b0ef3df75", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in dashboard.html:468"}, "properties": {"repobilityId": "3cddbad051d0bcc9", "scanner": "scanner-primary", "fingerprint": "c107f81b0ef3df75", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard.html"}, "region": {"startLine": 468}}}]}, {"ruleId": "scanner-35de66a71e883137", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in list-header.js:88"}, "properties": {"repobilityId": "2f11ea86476b4338", "scanner": "scanner-primary", "fingerprint": "35de66a71e883137", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "list-header.js"}, "region": {"startLine": 88}}}]}, {"ruleId": "scanner-984613cdfc1e993e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in assemblage.html:121"}, "properties": {"repobilityId": "f69389d64536847f", "scanner": "scanner-primary", "fingerprint": "984613cdfc1e993e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "assemblage.html"}, "region": {"startLine": 121}}}]}, {"ruleId": "scanner-ab06f9579ecad253", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in list-pager.js:104"}, "properties": {"repobilityId": "7a71f8a5c1d4daa4", "scanner": "scanner-primary", "fingerprint": "ab06f9579ecad253", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "list-pager.js"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-650900c0b2dd46d6", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in produits.html:384"}, "properties": {"repobilityId": "85ceadffd52b1cbb", "scanner": "scanner-primary", "fingerprint": "650900c0b2dd46d6", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "produits.html"}, "region": {"startLine": 384}}}]}, {"ruleId": "scanner-cf480ac58c994a85", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pwa.js:95"}, "properties": {"repobilityId": "0a8cc0c01f9da61a", "scanner": "scanner-primary", "fingerprint": "cf480ac58c994a85", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pwa.js"}, "region": {"startLine": 95}}}]}, {"ruleId": "scanner-93f5706e9a9f1074", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in wb3-vitals.js:99"}, "properties": {"repobilityId": "c8b3ad0a66ba425a", "scanner": "scanner-primary", "fingerprint": "93f5706e9a9f1074", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "wb3-vitals.js"}, "region": {"startLine": 99}}}]}, {"ruleId": "scanner-64b25d0446efdfa5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in wb3-freshness.js:75"}, "properties": {"repobilityId": "304a814ebcbc021a", "scanner": "scanner-primary", "fingerprint": "64b25d0446efdfa5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "wb3-freshness.js"}, "region": {"startLine": 75}}}]}, {"ruleId": "scanner-07bc3a45264f6e92", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shell.html:543"}, "properties": {"repobilityId": "fcacf46f49e1b9bf", "scanner": "scanner-primary", "fingerprint": "07bc3a45264f6e92", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shell.html"}, "region": {"startLine": 543}}}]}, {"ruleId": "scanner-3421f2141469b56d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in tracabilite.html:387"}, "properties": {"repobilityId": "47e3111d1bb941d7", "scanner": "scanner-primary", "fingerprint": "3421f2141469b56d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tracabilite.html"}, "region": {"startLine": 387}}}]}, {"ruleId": "scanner-386d024856590c38", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lot-detail.html:565"}, "properties": {"repobilityId": "155a0967ddd7afab", "scanner": "scanner-primary", "fingerprint": "386d024856590c38", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lot-detail.html"}, "region": {"startLine": 565}}}]}, {"ruleId": "scanner-0f07a56d09f82924", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in qualite-traca.html:271"}, "properties": {"repobilityId": "5ec92f7349c07496", "scanner": "scanner-primary", "fingerprint": "0f07a56d09f82924", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "qualite-traca.html"}, "region": {"startLine": 271}}}]}, {"ruleId": "scanner-caca183b338c2875", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in rapports.html:340"}, "properties": {"repobilityId": "0be7143bbbfec131", "scanner": "scanner-primary", "fingerprint": "caca183b338c2875", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "rapports.html"}, "region": {"startLine": 340}}}]}, {"ruleId": "scanner-8a65bab450422184", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in contenant-detail.html:287"}, "properties": {"repobilityId": "c7f2108f191d20d7", "scanner": "scanner-primary", "fingerprint": "8a65bab450422184", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "contenant-detail.html"}, "region": {"startLine": 287}}}]}, {"ruleId": "scanner-45149f0f24fa8128", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cuverie.html:1757"}, "properties": {"repobilityId": "c0dd9701edea3bf6", "scanner": "scanner-primary", "fingerprint": "45149f0f24fa8128", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cuverie.html"}, "region": {"startLine": 1757}}}]}, {"ruleId": "scanner-1a15027d525041ff", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in db.js:234"}, "properties": {"repobilityId": "e94b94570cc655a2", "scanner": "scanner-primary", "fingerprint": "1a15027d525041ff", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "db.js"}, "region": {"startLine": 234}}}]}, {"ruleId": "scanner-d7009c8368874cee", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cuverie-tournee.js:147"}, "properties": {"repobilityId": "1e0370589d45c60b", "scanner": "scanner-primary", "fingerprint": "d7009c8368874cee", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cuverie-tournee.js"}, "region": {"startLine": 147}}}]}, {"ruleId": "scanner-84e59168d807335c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in apports.html:448"}, "properties": {"repobilityId": "8227f004752f1714", "scanner": "scanner-primary", "fingerprint": "84e59168d807335c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apports.html"}, "region": {"startLine": 448}}}]}, {"ruleId": "scanner-e5f395c8e9e8f847", "level": "warning", "message": {"text": "Insecure pattern 'insert_adjacent_html' in apports.html:1395"}, "properties": {"repobilityId": "e568ef259111796c", "scanner": "scanner-primary", "fingerprint": "e5f395c8e9e8f847", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "insert_adjacent_html"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "apports.html"}, "region": {"startLine": 1395}}}]}, {"ruleId": "scanner-e53844754c00bc60", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in nav.js:152"}, "properties": {"repobilityId": "ee8c11152af886da", "scanner": "scanner-primary", "fingerprint": "e53844754c00bc60", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "nav.js"}, "region": {"startLine": 152}}}]}, {"ruleId": "scanner-abbfb8893cad7a4e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lots.html:452"}, "properties": {"repobilityId": "1a4827dbb98f358f", "scanner": "scanner-primary", "fingerprint": "abbfb8893cad7a4e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lots.html"}, "region": {"startLine": 452}}}]}, {"ruleId": "scanner-280a2f2d5b28247e", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in analyses.html:814"}, "properties": {"repobilityId": "f1d026d0f38492f4", "scanner": "scanner-primary", "fingerprint": "280a2f2d5b28247e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "analyses.html"}, "region": {"startLine": 814}}}]}, {"ruleId": "scanner-774ef0864cbc9bc8", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in planning.html:449"}, "properties": {"repobilityId": "ab78e185c9535293", "scanner": "scanner-primary", "fingerprint": "774ef0864cbc9bc8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "planning.html"}, "region": {"startLine": 449}}}]}, {"ruleId": "scanner-59d58b7f0d12705f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in list-date-filter.js:120"}, "properties": {"repobilityId": "eef8f498b2270ed7", "scanner": "scanner-primary", "fingerprint": "59d58b7f0d12705f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "list-date-filter.js"}, "region": {"startLine": 120}}}]}, {"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-d6ec78202a2fd2c1", "level": "note", "message": {"text": "Very large file: db.js (3154 lines)"}, "properties": {"repobilityId": "e046e77351c30956", "scanner": "scanner-primary", "fingerprint": "d6ec78202a2fd2c1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c5e7fcbf57ad0d35", "level": "note", "message": {"text": "Very large file: nav.js (1157 lines)"}, "properties": {"repobilityId": "e5c99b3d6b4c74e2", "scanner": "scanner-primary", "fingerprint": "c5e7fcbf57ad0d35", "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": "4c88cb7bd792babb", "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": "f8650cda3e893073", "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": "2168db0f2188c8ff", "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": "9c0be34a6fa4a48e", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-d84f118ff5f2f17c", "level": "none", "message": {"text": "Commented-code block (9 lines) in wb3-init.js:9"}, "properties": {"repobilityId": "021c2288da9eb0f4", "scanner": "scanner-primary", "fingerprint": "d84f118ff5f2f17c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b1cf5c19552d7599", "level": "none", "message": {"text": "Commented-code block (5 lines) in config.js:1"}, "properties": {"repobilityId": "48fd50f7d9aa82c6", "scanner": "scanner-primary", "fingerprint": "b1cf5c19552d7599", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b88c0d56992b1155", "level": "none", "message": {"text": "Commented-code block (8 lines) in db.js:1"}, "properties": {"repobilityId": "13505683e7269e2c", "scanner": "scanner-primary", "fingerprint": "b88c0d56992b1155", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d64b3aab0b9b3493", "level": "none", "message": {"text": "Commented-code block (13 lines) in cuverie-tournee.js:6"}, "properties": {"repobilityId": "eebecbbe011b6b3c", "scanner": "scanner-primary", "fingerprint": "d64b3aab0b9b3493", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c1f86615dcbbc52b", "level": "none", "message": {"text": "Commented-code block (6 lines) in nav.js:5"}, "properties": {"repobilityId": "363e97318c69a1de", "scanner": "scanner-primary", "fingerprint": "c1f86615dcbbc52b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2875f2889d420606", "level": "none", "message": {"text": "Commented-code block (6 lines) in wb3-qualite.js:1"}, "properties": {"repobilityId": "ed4a2846c174f7bd", "scanner": "scanner-primary", "fingerprint": "2875f2889d420606", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0afde15e01f7c4b", "level": "none", "message": {"text": "Commented-code block (7 lines) in storage.js:1"}, "properties": {"repobilityId": "cdf3f74f234b4bf5", "scanner": "scanner-primary", "fingerprint": "f0afde15e01f7c4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-58b4d0220cb7e731", "level": "none", "message": {"text": "Commented-code block (6 lines) in auth.js:1"}, "properties": {"repobilityId": "e0d28c16782ed1ce", "scanner": "scanner-primary", "fingerprint": "58b4d0220cb7e731", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cb453a39be83d9e3", "level": "none", "message": {"text": "Commented-code block (6 lines) in cuverie-utils.js:1"}, "properties": {"repobilityId": "d0f07facb0c19d5a", "scanner": "scanner-primary", "fingerprint": "cb453a39be83d9e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}