{"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-70c16c8e7e666e1f", "name": "Possibly dead Python function: scan_windows_temp", "shortDescription": {"text": "Possibly dead Python function: scan_windows_temp"}, "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-01fae47cbe4ae6f6", "name": "Possibly dead Python function: scan_user_temp", "shortDescription": {"text": "Possibly dead Python function: scan_user_temp"}, "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-0c833ef85cae7adb", "name": "Possibly dead Python function: scan_recycle_bin", "shortDescription": {"text": "Possibly dead Python function: scan_recycle_bin"}, "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-2f1029584716dd2e", "name": "Possibly dead Python function: scan_windows_update_cache", "shortDescription": {"text": "Possibly dead Python function: scan_windows_update_cache"}, "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-96804f9aeb55df92", "name": "Possibly dead Python function: scan_prefetch", "shortDescription": {"text": "Possibly dead Python function: scan_prefetch"}, "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-d8fcef55712e672f", "name": "Possibly dead Python function: scan_dns_cache", "shortDescription": {"text": "Possibly dead Python function: scan_dns_cache"}, "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-a7563b8a742e0e53", "name": "Possibly dead Python function: scan_browser_cache", "shortDescription": {"text": "Possibly dead Python function: scan_browser_cache"}, "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-6d1d61f001f58535", "name": "Possibly dead Python function: scan_thumbnail_cache", "shortDescription": {"text": "Possibly dead Python function: scan_thumbnail_cache"}, "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-8f2d9b22612de36e", "name": "Possibly dead Python function: scan_delivery_optimization", "shortDescription": {"text": "Possibly dead Python function: scan_delivery_optimization"}, "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-e0a904dbf2fdc977", "name": "Possibly dead Python function: scan_windows_error_reports", "shortDescription": {"text": "Possibly dead Python function: scan_windows_error_reports"}, "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-3ca80882176c0927", "name": "Possibly dead Python function: scan_windows_logs", "shortDescription": {"text": "Possibly dead Python function: scan_windows_logs"}, "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-dcf6beb811e42c7b", "name": "Possibly dead Python function: scan_old_windows", "shortDescription": {"text": "Possibly dead Python function: scan_old_windows"}, "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-e3004ba823bfc904", "name": "Possibly dead Python function: open_browser", "shortDescription": {"text": "Possibly dead Python function: open_browser"}, "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-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 9 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-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-2215406498add808", "name": "Flask mutation route `api_clean` without `@login_required` \u2014 app.py:54", "shortDescription": {"text": "Flask mutation route `api_clean` without `@login_required` \u2014 app.py:54"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-78b2cf8e18e66d36", "name": "Flask mutation route `api_delete_files` without `@login_required` \u2014 app.py:83", "shortDescription": {"text": "Flask mutation route `api_delete_files` without `@login_required` \u2014 app.py:83"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/29826"}, "properties": {"repository": "Taki0128/c-disk-cleaner", "repoUrl": "https://github.com/Taki0128/c-disk-cleaner", "branch": "main"}, "results": [{"ruleId": "scanner-70c16c8e7e666e1f", "level": "note", "message": {"text": "Possibly dead Python function: scan_windows_temp"}, "properties": {"repobilityId": "cb12fa2fb29415e9", "scanner": "scanner-primary", "fingerprint": "70c16c8e7e666e1f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:151"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-01fae47cbe4ae6f6", "level": "note", "message": {"text": "Possibly dead Python function: scan_user_temp"}, "properties": {"repobilityId": "46a8abdeac0c028b", "scanner": "scanner-primary", "fingerprint": "01fae47cbe4ae6f6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:167"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0c833ef85cae7adb", "level": "note", "message": {"text": "Possibly dead Python function: scan_recycle_bin"}, "properties": {"repobilityId": "510dc5db7af2c09b", "scanner": "scanner-primary", "fingerprint": "0c833ef85cae7adb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:174"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2f1029584716dd2e", "level": "note", "message": {"text": "Possibly dead Python function: scan_windows_update_cache"}, "properties": {"repobilityId": "b0929cda58994938", "scanner": "scanner-primary", "fingerprint": "2f1029584716dd2e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:189"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-96804f9aeb55df92", "level": "note", "message": {"text": "Possibly dead Python function: scan_prefetch"}, "properties": {"repobilityId": "70eb7bdee7f1db23", "scanner": "scanner-primary", "fingerprint": "96804f9aeb55df92", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:197"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d8fcef55712e672f", "level": "note", "message": {"text": "Possibly dead Python function: scan_dns_cache"}, "properties": {"repobilityId": "6bac61fdfc091651", "scanner": "scanner-primary", "fingerprint": "d8fcef55712e672f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:205"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a7563b8a742e0e53", "level": "note", "message": {"text": "Possibly dead Python function: scan_browser_cache"}, "properties": {"repobilityId": "541d2dd6c754fc3e", "scanner": "scanner-primary", "fingerprint": "a7563b8a742e0e53", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:210"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6d1d61f001f58535", "level": "note", "message": {"text": "Possibly dead Python function: scan_thumbnail_cache"}, "properties": {"repobilityId": "5420f35f0c6f998d", "scanner": "scanner-primary", "fingerprint": "6d1d61f001f58535", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:260"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f2d9b22612de36e", "level": "note", "message": {"text": "Possibly dead Python function: scan_delivery_optimization"}, "properties": {"repobilityId": "5544b152e493c119", "scanner": "scanner-primary", "fingerprint": "8f2d9b22612de36e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:269"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e0a904dbf2fdc977", "level": "note", "message": {"text": "Possibly dead Python function: scan_windows_error_reports"}, "properties": {"repobilityId": "b955338a07984391", "scanner": "scanner-primary", "fingerprint": "e0a904dbf2fdc977", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:278"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ca80882176c0927", "level": "note", "message": {"text": "Possibly dead Python function: scan_windows_logs"}, "properties": {"repobilityId": "882cc0f665936d51", "scanner": "scanner-primary", "fingerprint": "3ca80882176c0927", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:295"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dcf6beb811e42c7b", "level": "note", "message": {"text": "Possibly dead Python function: scan_old_windows"}, "properties": {"repobilityId": "3d8c697d42501f06", "scanner": "scanner-primary", "fingerprint": "dcf6beb811e42c7b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cleaner.py:303"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e3004ba823bfc904", "level": "note", "message": {"text": "Possibly dead Python function: open_browser"}, "properties": {"repobilityId": "d6455af6e78d5e19", "scanner": "scanner-primary", "fingerprint": "e3004ba823bfc904", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py:109"}, "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-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "d4d3e42a6421a041", "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": "0e4b6dc37d4416be", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "c17e499e87984a0d", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2215406498add808", "level": "error", "message": {"text": "Flask mutation route `api_clean` without `@login_required` \u2014 app.py:54"}, "properties": {"repobilityId": "18f2a01ed5bbe70f", "scanner": "scanner-primary", "fingerprint": "2215406498add808", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-78b2cf8e18e66d36", "level": "error", "message": {"text": "Flask mutation route `api_delete_files` without `@login_required` \u2014 app.py:83"}, "properties": {"repobilityId": "652abd3d43e1fdab", "scanner": "scanner-primary", "fingerprint": "78b2cf8e18e66d36", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 83}}}]}]}]}