{"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-4ed07de57f35b1da", "name": "Possibly dead Python function: handler", "shortDescription": {"text": "Possibly dead Python function: handler"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a735224c30c5dfb", "name": "Possibly dead Python function: handle_health", "shortDescription": {"text": "Possibly dead Python function: handle_health"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e3d342413839e39", "name": "Possibly dead Python function: handle_admin_pair_code", "shortDescription": {"text": "Possibly dead Python function: handle_admin_pair_code"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f827ee023a144663", "name": "Possibly dead Python function: handle_admin_devices", "shortDescription": {"text": "Possibly dead Python function: handle_admin_devices"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c199c78a865280c", "name": "Possibly dead Python function: handle_admin_revoke", "shortDescription": {"text": "Possibly dead Python function: handle_admin_revoke"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-87009d077bd1820f", "name": "Possibly dead Python function: handle_ws", "shortDescription": {"text": "Possibly dead Python function: handle_ws"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33fc60301d0f62eb", "name": "Possibly dead Python function: thinking_timer", "shortDescription": {"text": "Possibly dead Python function: thinking_timer"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"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-ad99305730f8b5cb", "name": "Insecure pattern 'direct_innerhtml_assignment' in plugin/src/ui.ts:63", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugin/src/ui.ts: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-fd3b29783bd8c9a9", "name": "Insecure pattern 'direct_innerhtml_assignment' in plugin/harness/harness.ts:19", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugin/harness/harness.ts:19"}, "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-5e28b2e8873fd52b", "name": "Insecure pattern 'direct_innerhtml_assignment' in plugin/harness/mock.ts:102", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugin/harness/mock.ts:102"}, "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-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "3 tests / 19 src (ratio 0.16)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 17 placeholder/mock markers across 4 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "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. 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": "low", "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}}, {"id": "scanner-9571d9f640ab6715", "name": "Stub function `_noop` (body is just `pass`/`return`) \u2014 gateway/lens_gateway/openclaw.py:212", "shortDescription": {"text": "Stub function `_noop` (body is just `pass`/`return`) \u2014 gateway/lens_gateway/openclaw.py:212"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/22968"}, "properties": {"repository": "xesws/EvenRealities-Claw", "repoUrl": "https://github.com/xesws/EvenRealities-Claw", "branch": "main"}, "results": [{"ruleId": "scanner-4ed07de57f35b1da", "level": "note", "message": {"text": "Possibly dead Python function: handler"}, "properties": {"repobilityId": "bd219af3bd678eef", "scanner": "scanner-primary", "fingerprint": "4ed07de57f35b1da", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gateway/lens_gateway/server.py:61"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a735224c30c5dfb", "level": "note", "message": {"text": "Possibly dead Python function: handle_health"}, "properties": {"repobilityId": "1c998a57b114fbaa", "scanner": "scanner-primary", "fingerprint": "8a735224c30c5dfb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gateway/lens_gateway/server.py:80"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8e3d342413839e39", "level": "note", "message": {"text": "Possibly dead Python function: handle_admin_pair_code"}, "properties": {"repobilityId": "d1a117925e8ba923", "scanner": "scanner-primary", "fingerprint": "8e3d342413839e39", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gateway/lens_gateway/server.py:95"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f827ee023a144663", "level": "note", "message": {"text": "Possibly dead Python function: handle_admin_devices"}, "properties": {"repobilityId": "5a69ad31a9603847", "scanner": "scanner-primary", "fingerprint": "f827ee023a144663", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gateway/lens_gateway/server.py:99"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3c199c78a865280c", "level": "note", "message": {"text": "Possibly dead Python function: handle_admin_revoke"}, "properties": {"repobilityId": "97c8847c71c751fd", "scanner": "scanner-primary", "fingerprint": "3c199c78a865280c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gateway/lens_gateway/server.py:103"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-87009d077bd1820f", "level": "note", "message": {"text": "Possibly dead Python function: handle_ws"}, "properties": {"repobilityId": "dd2f41bb55c8ffe2", "scanner": "scanner-primary", "fingerprint": "87009d077bd1820f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gateway/lens_gateway/server.py:111"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33fc60301d0f62eb", "level": "note", "message": {"text": "Possibly dead Python function: thinking_timer"}, "properties": {"repobilityId": "4d8bef5871953f21", "scanner": "scanner-primary", "fingerprint": "33fc60301d0f62eb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gateway/lens_gateway/session.py:280"}, "region": {"startLine": 1}}}]}, {"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-ad99305730f8b5cb", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugin/src/ui.ts:63"}, "properties": {"repobilityId": "5e072903007c525b", "scanner": "scanner-primary", "fingerprint": "ad99305730f8b5cb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugin/src/ui.ts"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-fd3b29783bd8c9a9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugin/harness/harness.ts:19"}, "properties": {"repobilityId": "45ff9a94832b7d2b", "scanner": "scanner-primary", "fingerprint": "fd3b29783bd8c9a9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugin/harness/harness.ts"}, "region": {"startLine": 19}}}]}, {"ruleId": "scanner-5e28b2e8873fd52b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in plugin/harness/mock.ts:102"}, "properties": {"repobilityId": "daf776199e723a48", "scanner": "scanner-primary", "fingerprint": "5e28b2e8873fd52b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugin/harness/mock.ts"}, "region": {"startLine": 102}}}]}, {"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-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "4bec5ece9a9575f7", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "f4512bb05a7cfc17", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "e473ada5b664a032", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "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": "d0a34c04973a430e", "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": "b60109963d5502bc", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-9571d9f640ab6715", "level": "note", "message": {"text": "Stub function `_noop` (body is just `pass`/`return`) \u2014 gateway/lens_gateway/openclaw.py:212"}, "properties": {"repobilityId": "6e8646eea8514202", "scanner": "scanner-primary", "fingerprint": "9571d9f640ab6715", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}]}]}