{"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-8d5a30d8b1050d4d", "name": "Insecure pattern 'direct_innerhtml_assignment' in chrome-mobilenav.js:136", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chrome-mobilenav.js:136"}, "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-ea5b2051bb293c95", "name": "Insecure pattern 'direct_innerhtml_assignment' in zopnight.html:1969", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopnight.html:1969"}, "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-b26b87a8b82c640f", "name": "Insecure pattern 'direct_innerhtml_assignment' in zopday.html:1919", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopday.html:1919"}, "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-6e95750bfa075720", "name": "Insecure pattern 'direct_innerhtml_assignment' in signin-zopday.html:1294", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in signin-zopday.html:1294"}, "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-e12addd00c3233c4", "name": "Insecure pattern 'direct_innerhtml_assignment' in contact.html:1272", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in contact.html:1272"}, "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-23423860e4bd1f5a", "name": "Insecure pattern 'direct_innerhtml_assignment' in signin-zopnight.html:1294", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in signin-zopnight.html:1294"}, "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-54204598e7473b08", "name": "Insecure pattern 'direct_innerhtml_assignment' in pricing.html:2257", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pricing.html:2257"}, "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-8ea8485bdb19825a", "name": "Insecure pattern 'direct_innerhtml_assignment' in product-documentation.html:2362", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in product-documentation.html:2362"}, "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-abfa7209d84f2b8b", "name": "Insecure pattern 'direct_innerhtml_assignment' in zopday-preview.html:1520", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopday-preview.html:1520"}, "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-56de51c7e3c8e808", "name": "Insecure pattern 'direct_innerhtml_assignment' in drawer.js:63", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in drawer.js:63"}, "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-ba453bd6a18d2c05", "name": "Insecure pattern 'direct_innerhtml_assignment' in brand-kit.html:2787", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in brand-kit.html:2787"}, "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-17698dab79f7a50a", "name": "Insecure pattern 'direct_innerhtml_assignment' in closed-loop-iam-remediation.html:1452", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in closed-loop-iam-remediation.html:1452"}, "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-f5e70a4e8ab9c98f", "name": "Insecure pattern 'direct_innerhtml_assignment' in chrome-footer.js:194", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chrome-footer.js:194"}, "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-3f0f472b7f3f6111", "name": "Insecure pattern 'direct_innerhtml_assignment' in zopnight-tetris-game.html:1029", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopnight-tetris-game.html:1029"}, "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-7081fc07576ef821", "name": "Insecure pattern 'direct_innerhtml_assignment' in cur-calculator.html:1369", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cur-calculator.html:1369"}, "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-0d74b912e94b46fe", "name": "Insecure pattern 'direct_innerhtml_assignment' in zopnight-preview.html:1951", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopnight-preview.html:1951"}, "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-f105b4a6e2645180", "name": "Insecure pattern 'direct_innerhtml_assignment' in status.html:969", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in status.html:969"}, "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-8fa5f6b2d8ba30ec", "name": "Insecure pattern 'direct_innerhtml_assignment' in developer-documentation.html:2015", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in developer-documentation.html:2015"}, "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-0f7d4a2289aa75d2", "name": "Insecure pattern 'direct_innerhtml_assignment' in email-showcase.html:956", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in email-showcase.html:956"}, "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-8bea4d857e61b1d3", "name": "Insecure pattern 'direct_innerhtml_assignment' in _dev/ZopDevV3.html:9966", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in _dev/ZopDevV3.html:9966"}, "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-819ebd4669d61b56", "name": "Insecure pattern 'direct_innerhtml_assignment' in _dev/cursor-crazy-variants.html:531", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in _dev/cursor-crazy-variants.html:531"}, "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-46ae85df307a4b55", "name": "Insecure pattern 'direct_innerhtml_assignment' in _dev/feature-layout-variants.html:529", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in _dev/feature-layout-variants.html:529"}, "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-c9a670936b17c68c", "name": "Insecure pattern 'direct_innerhtml_assignment' in zopdev-emails-handover/email-showcase.html:956", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopdev-emails-handover/email-showcase.html:956"}, "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-8c16c698279e1869", "name": "Insecure pattern 'direct_innerhtml_assignment' in zopnight-tetris-game/index.html:958", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopnight-tetris-game/index.html:958"}, "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-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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 8 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-01f96f71d9907a8c", "name": "README lacks setup or run instructions", "shortDescription": {"text": "README lacks setup or run instructions"}, "fullDescription": {"text": "A README exists, but it does not contain common install/setup/run markers. This matches a frequent generated-code pattern: UI is present, operational handoff is thin."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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, operator-readme. 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-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/17850"}, "properties": {"repository": "Ravdesigns/zopdev-website-agentic", "repoUrl": "https://github.com/Ravdesigns/zopdev-website-agentic", "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-8d5a30d8b1050d4d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chrome-mobilenav.js:136"}, "properties": {"repobilityId": "f341662f7c181c06", "scanner": "scanner-primary", "fingerprint": "8d5a30d8b1050d4d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome-mobilenav.js"}, "region": {"startLine": 136}}}]}, {"ruleId": "scanner-ea5b2051bb293c95", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopnight.html:1969"}, "properties": {"repobilityId": "1ff7a070634b28ba", "scanner": "scanner-primary", "fingerprint": "ea5b2051bb293c95", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "zopnight.html"}, "region": {"startLine": 1969}}}]}, {"ruleId": "scanner-b26b87a8b82c640f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopday.html:1919"}, "properties": {"repobilityId": "9a8e0d2157b7d7cb", "scanner": "scanner-primary", "fingerprint": "b26b87a8b82c640f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "zopday.html"}, "region": {"startLine": 1919}}}]}, {"ruleId": "scanner-6e95750bfa075720", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in signin-zopday.html:1294"}, "properties": {"repobilityId": "b8c54895943c97cd", "scanner": "scanner-primary", "fingerprint": "6e95750bfa075720", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "signin-zopday.html"}, "region": {"startLine": 1294}}}]}, {"ruleId": "scanner-e12addd00c3233c4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in contact.html:1272"}, "properties": {"repobilityId": "4dcf46521649b98a", "scanner": "scanner-primary", "fingerprint": "e12addd00c3233c4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "contact.html"}, "region": {"startLine": 1272}}}]}, {"ruleId": "scanner-23423860e4bd1f5a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in signin-zopnight.html:1294"}, "properties": {"repobilityId": "d818de7501245832", "scanner": "scanner-primary", "fingerprint": "23423860e4bd1f5a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "signin-zopnight.html"}, "region": {"startLine": 1294}}}]}, {"ruleId": "scanner-54204598e7473b08", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pricing.html:2257"}, "properties": {"repobilityId": "95fe46f49a716560", "scanner": "scanner-primary", "fingerprint": "54204598e7473b08", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pricing.html"}, "region": {"startLine": 2257}}}]}, {"ruleId": "scanner-8ea8485bdb19825a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in product-documentation.html:2362"}, "properties": {"repobilityId": "3a6003d2a629ccfc", "scanner": "scanner-primary", "fingerprint": "8ea8485bdb19825a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "product-documentation.html"}, "region": {"startLine": 2362}}}]}, {"ruleId": "scanner-abfa7209d84f2b8b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopday-preview.html:1520"}, "properties": {"repobilityId": "9d2cec24ef7df30c", "scanner": "scanner-primary", "fingerprint": "abfa7209d84f2b8b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "zopday-preview.html"}, "region": {"startLine": 1520}}}]}, {"ruleId": "scanner-56de51c7e3c8e808", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in drawer.js:63"}, "properties": {"repobilityId": "40c82e0b6d8cdd3b", "scanner": "scanner-primary", "fingerprint": "56de51c7e3c8e808", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "drawer.js"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-ba453bd6a18d2c05", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in brand-kit.html:2787"}, "properties": {"repobilityId": "70394c0eab3e2234", "scanner": "scanner-primary", "fingerprint": "ba453bd6a18d2c05", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "brand-kit.html"}, "region": {"startLine": 2787}}}]}, {"ruleId": "scanner-17698dab79f7a50a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in closed-loop-iam-remediation.html:1452"}, "properties": {"repobilityId": "703bb047107fd7a7", "scanner": "scanner-primary", "fingerprint": "17698dab79f7a50a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "closed-loop-iam-remediation.html"}, "region": {"startLine": 1452}}}]}, {"ruleId": "scanner-f5e70a4e8ab9c98f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in chrome-footer.js:194"}, "properties": {"repobilityId": "fe0a571790cdba2b", "scanner": "scanner-primary", "fingerprint": "f5e70a4e8ab9c98f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome-footer.js"}, "region": {"startLine": 194}}}]}, {"ruleId": "scanner-3f0f472b7f3f6111", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopnight-tetris-game.html:1029"}, "properties": {"repobilityId": "e40ab55974bc4cfe", "scanner": "scanner-primary", "fingerprint": "3f0f472b7f3f6111", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "zopnight-tetris-game.html"}, "region": {"startLine": 1029}}}]}, {"ruleId": "scanner-7081fc07576ef821", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cur-calculator.html:1369"}, "properties": {"repobilityId": "e54e3fd9812e91cd", "scanner": "scanner-primary", "fingerprint": "7081fc07576ef821", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cur-calculator.html"}, "region": {"startLine": 1369}}}]}, {"ruleId": "scanner-0d74b912e94b46fe", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopnight-preview.html:1951"}, "properties": {"repobilityId": "c22a992e5c6f79a5", "scanner": "scanner-primary", "fingerprint": "0d74b912e94b46fe", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "zopnight-preview.html"}, "region": {"startLine": 1951}}}]}, {"ruleId": "scanner-f105b4a6e2645180", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in status.html:969"}, "properties": {"repobilityId": "76011ddcc06b50c4", "scanner": "scanner-primary", "fingerprint": "f105b4a6e2645180", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "status.html"}, "region": {"startLine": 969}}}]}, {"ruleId": "scanner-8fa5f6b2d8ba30ec", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in developer-documentation.html:2015"}, "properties": {"repobilityId": "bbaf57950c46cdb3", "scanner": "scanner-primary", "fingerprint": "8fa5f6b2d8ba30ec", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "developer-documentation.html"}, "region": {"startLine": 2015}}}]}, {"ruleId": "scanner-0f7d4a2289aa75d2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in email-showcase.html:956"}, "properties": {"repobilityId": "e42cb96b79dff0d1", "scanner": "scanner-primary", "fingerprint": "0f7d4a2289aa75d2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "email-showcase.html"}, "region": {"startLine": 956}}}]}, {"ruleId": "scanner-8bea4d857e61b1d3", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in _dev/ZopDevV3.html:9966"}, "properties": {"repobilityId": "0725214113a100b8", "scanner": "scanner-primary", "fingerprint": "8bea4d857e61b1d3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_dev/ZopDevV3.html"}, "region": {"startLine": 9966}}}]}, {"ruleId": "scanner-819ebd4669d61b56", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in _dev/cursor-crazy-variants.html:531"}, "properties": {"repobilityId": "25187de970549cdb", "scanner": "scanner-primary", "fingerprint": "819ebd4669d61b56", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_dev/cursor-crazy-variants.html"}, "region": {"startLine": 531}}}]}, {"ruleId": "scanner-46ae85df307a4b55", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in _dev/feature-layout-variants.html:529"}, "properties": {"repobilityId": "a7c3640c2ffacd43", "scanner": "scanner-primary", "fingerprint": "46ae85df307a4b55", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_dev/feature-layout-variants.html"}, "region": {"startLine": 529}}}]}, {"ruleId": "scanner-c9a670936b17c68c", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopdev-emails-handover/email-showcase.html:956"}, "properties": {"repobilityId": "c96125a8ec7f0ea6", "scanner": "scanner-primary", "fingerprint": "c9a670936b17c68c", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "zopdev-emails-handover/email-showcase.html"}, "region": {"startLine": 956}}}]}, {"ruleId": "scanner-8c16c698279e1869", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in zopnight-tetris-game/index.html:958"}, "properties": {"repobilityId": "a6f384d81d64dd25", "scanner": "scanner-primary", "fingerprint": "8c16c698279e1869", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "zopnight-tetris-game/index.html"}, "region": {"startLine": 958}}}]}, {"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-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": "aa2e914378a39f56", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-01f96f71d9907a8c", "level": "note", "message": {"text": "README lacks setup or run instructions"}, "properties": {"repobilityId": "c60c9ef25c22f5ec", "scanner": "scanner-primary", "fingerprint": "01f96f71d9907a8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["docs", "readme", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "59f3d6b482d3cc19", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "a1a8f4f5ab32612f", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "d04f7fd164230ad5", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}]}]}