{"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-832d7a12bc536ae5", "name": "Possibly dead Python function: cmd_start", "shortDescription": {"text": "Possibly dead Python function: cmd_start"}, "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-ead1def8b0bb2252", "name": "Possibly dead Python function: cmd_stop", "shortDescription": {"text": "Possibly dead Python function: cmd_stop"}, "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-7e428811f0ec12e1", "name": "Possibly dead Python function: cmd_capture", "shortDescription": {"text": "Possibly dead Python function: cmd_capture"}, "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-147d5bbbb69b3895", "name": "Possibly dead Python function: cmd_send", "shortDescription": {"text": "Possibly dead Python function: cmd_send"}, "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-b6c2f305e33255bb", "name": "Possibly dead Python function: cmd_key", "shortDescription": {"text": "Possibly dead Python function: cmd_key"}, "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-c98a7c9536cefe75", "name": "Possibly dead Python function: cmd_cmd", "shortDescription": {"text": "Possibly dead Python function: cmd_cmd"}, "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-3f4558df2ab5979c", "name": "Possibly dead Python function: cmd_snapshot", "shortDescription": {"text": "Possibly dead Python function: cmd_snapshot"}, "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-a8d9cdd0ff375c1f", "name": "Possibly dead Python function: cmd_inspect", "shortDescription": {"text": "Possibly dead Python function: cmd_inspect"}, "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-ca46371b19d79aac", "name": "Possibly dead Python function: cmd_watch", "shortDescription": {"text": "Possibly dead Python function: cmd_watch"}, "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-db572bff606db312", "name": "Possibly dead Python function: cmd_tree", "shortDescription": {"text": "Possibly dead Python function: cmd_tree"}, "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-0b0d8044ebb102e6", "name": "Possibly dead Python function: cmd_cat", "shortDescription": {"text": "Possibly dead Python function: cmd_cat"}, "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-cd2c89d2ec3bdc92", "name": "Possibly dead Python function: cmd_diff", "shortDescription": {"text": "Possibly dead Python function: cmd_diff"}, "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-877d1f25e6f8d12c", "name": "Possibly dead Python function: cmd_log", "shortDescription": {"text": "Possibly dead Python function: cmd_log"}, "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-aa6a5d5ae9cf79f8", "name": "Possibly dead Python function: cmd_trace", "shortDescription": {"text": "Possibly dead Python function: cmd_trace"}, "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-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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 37 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-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing ci. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0a4cf1abbb23cda6", "name": "Network/subprocess call without timeout or try/except \u2014 debugctl.py:35", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 debugctl.py:35"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/27439"}, "properties": {"repository": "linxuhao/AItelier", "repoUrl": "https://github.com/linxuhao/AItelier", "branch": "main"}, "results": [{"ruleId": "scanner-832d7a12bc536ae5", "level": "note", "message": {"text": "Possibly dead Python function: cmd_start"}, "properties": {"repobilityId": "fc872c8259f0135a", "scanner": "scanner-primary", "fingerprint": "832d7a12bc536ae5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:55"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ead1def8b0bb2252", "level": "note", "message": {"text": "Possibly dead Python function: cmd_stop"}, "properties": {"repobilityId": "b0bb02562fb1f7b3", "scanner": "scanner-primary", "fingerprint": "ead1def8b0bb2252", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:73"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e428811f0ec12e1", "level": "note", "message": {"text": "Possibly dead Python function: cmd_capture"}, "properties": {"repobilityId": "f16e1a0be2f1e76e", "scanner": "scanner-primary", "fingerprint": "7e428811f0ec12e1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:81"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-147d5bbbb69b3895", "level": "note", "message": {"text": "Possibly dead Python function: cmd_send"}, "properties": {"repobilityId": "5b9c4f8c4ac9d273", "scanner": "scanner-primary", "fingerprint": "147d5bbbb69b3895", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:98"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b6c2f305e33255bb", "level": "note", "message": {"text": "Possibly dead Python function: cmd_key"}, "properties": {"repobilityId": "b29d4e0be6277fb3", "scanner": "scanner-primary", "fingerprint": "b6c2f305e33255bb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:106"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c98a7c9536cefe75", "level": "note", "message": {"text": "Possibly dead Python function: cmd_cmd"}, "properties": {"repobilityId": "0d2b40542242f0c0", "scanner": "scanner-primary", "fingerprint": "c98a7c9536cefe75", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:114"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f4558df2ab5979c", "level": "note", "message": {"text": "Possibly dead Python function: cmd_snapshot"}, "properties": {"repobilityId": "275ab734533cf296", "scanner": "scanner-primary", "fingerprint": "3f4558df2ab5979c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:124"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a8d9cdd0ff375c1f", "level": "note", "message": {"text": "Possibly dead Python function: cmd_inspect"}, "properties": {"repobilityId": "482686881b25c151", "scanner": "scanner-primary", "fingerprint": "a8d9cdd0ff375c1f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:149"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ca46371b19d79aac", "level": "note", "message": {"text": "Possibly dead Python function: cmd_watch"}, "properties": {"repobilityId": "1e6734bc1d615718", "scanner": "scanner-primary", "fingerprint": "ca46371b19d79aac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:204"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-db572bff606db312", "level": "note", "message": {"text": "Possibly dead Python function: cmd_tree"}, "properties": {"repobilityId": "85abd2a5b1df6546", "scanner": "scanner-primary", "fingerprint": "db572bff606db312", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:274"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0b0d8044ebb102e6", "level": "note", "message": {"text": "Possibly dead Python function: cmd_cat"}, "properties": {"repobilityId": "01246d7f88c856a5", "scanner": "scanner-primary", "fingerprint": "0b0d8044ebb102e6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:282"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd2c89d2ec3bdc92", "level": "note", "message": {"text": "Possibly dead Python function: cmd_diff"}, "properties": {"repobilityId": "113843338462d178", "scanner": "scanner-primary", "fingerprint": "cd2c89d2ec3bdc92", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:297"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-877d1f25e6f8d12c", "level": "note", "message": {"text": "Possibly dead Python function: cmd_log"}, "properties": {"repobilityId": "b9defd6c5d024220", "scanner": "scanner-primary", "fingerprint": "877d1f25e6f8d12c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:311"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aa6a5d5ae9cf79f8", "level": "note", "message": {"text": "Possibly dead Python function: cmd_trace"}, "properties": {"repobilityId": "b3b0136ed1025ab3", "scanner": "scanner-primary", "fingerprint": "aa6a5d5ae9cf79f8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debugctl.py:330"}, "region": {"startLine": 1}}}]}, {"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-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "e55c6d40acbe678f", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "e6b8a280e41c09ad", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-0a4cf1abbb23cda6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 debugctl.py:35"}, "properties": {"repobilityId": "2f37ac2da108b1d9", "scanner": "scanner-primary", "fingerprint": "0a4cf1abbb23cda6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}]}]}