{"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": "SEC136", "name": "[SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all exception block that silently returns ", "shortDescription": {"text": "[SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all exception block that silently returns success or no-ops. AI agents reach for this pattern when a flaky test or an unfamiliar API throws \u2014 wrap, swallow, retur"}, "fullDescription": {"text": "Catch the specific exception type, log at error level with full exception info, and return a failure-shaped result. If the operation is genuinely best-effort, log at warning and document why in a comment so the next reader (or scanner) knows."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "ERR001", "name": "[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG ", "shortDescription": {"text": "[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG level."}, "fullDescription": {"text": "Log the error: `except Exception: logger.debug('cleanup failed', exc_info=True)`. Or handle specific exception types."}, "properties": {"scanner": "repobility-threat-engine", "category": "error_handling", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "COMP001", "name": "[COMP001] High cognitive complexity: Function `main` has cognitive complexity 20 (SonarSource scale). Cognitive complexi", "shortDescription": {"text": "[COMP001] High cognitive complexity: Function `main` has cognitive complexity 20 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand \u2014 nested branches, boolean chains, and recursion all weig"}, "fullDescription": {"text": "Extract nested branches into named helper functions; flatten early-return / guard clauses; replace long if/elif chains with dispatch dicts or polymorphism. SonarQube's threshold for 'should refactor' is 15 \u2014 yours is 20."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "medium", "confidence": 0.95, "cwe": "", "owasp": ""}}, {"id": "MINED111", "name": "Bare except continues silently", "shortDescription": {"text": "Bare except continues silently"}, "fullDescription": {"text": "Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "CORE_NO_CI", "name": "No CI/CD configuration found", "shortDescription": {"text": "No CI/CD configuration found"}, "fullDescription": {"text": "Add a CI/CD pipeline: create .github/workflows/ci.yml for GitHub Actions with steps to lint, test, and build on every push and pull request."}, "properties": {"scanner": "repobility-core", "category": "practices", "severity": "medium", "confidence": null, "cwe": "", "owasp": ""}}, {"id": "AIC003", "name": "Duplicated implementation block across source files", "shortDescription": {"text": "Duplicated implementation block across source files"}, "fullDescription": {"text": "Duplicated blocks are a common artifact when generated code is pasted or recreated instead of reused. They increase maintenance cost because every future bug fix must be found in multiple locations."}, "properties": {"scanner": "repobility-ai-code-hygiene", "category": "quality", "severity": "low", "confidence": 0.86, "cwe": "", "owasp": ""}}, {"id": "QA002", "name": "[QA002] No CI/CD Configuration: No CI/CD pipeline found. Note: some CI systems (Gitea Actions, Drone) may be configured ", "shortDescription": {"text": "[QA002] No CI/CD Configuration: No CI/CD pipeline found. Note: some CI systems (Gitea Actions, Drone) may be configured externally."}, "fullDescription": {"text": "Add GitHub Actions, GitLab CI, or similar."}, "properties": {"scanner": "repobility-threat-engine", "category": "practices", "severity": "low", "confidence": 0.6, "cwe": "", "owasp": ""}}, {"id": "CORE_NO_LICENSE", "name": "No LICENSE file", "shortDescription": {"text": "No LICENSE file"}, "fullDescription": {"text": "Add a LICENSE file to your repository. Use choosealicense.com to pick the right license (MIT for permissive, Apache 2.0 for patent protection, GPL for copyleft)."}, "properties": {"scanner": "repobility-core", "category": "documentation", "severity": "low", "confidence": null, "cwe": "", "owasp": ""}}, {"id": "MINED051", "name": "[MINED051] Csharp Null Forgive: x! tells compiler \"definitely not null\" \u2014 bypasses nullable check. NRE risk if wrong.", "shortDescription": {"text": "[MINED051] Csharp Null Forgive: x! tells compiler \"definitely not null\" \u2014 bypasses nullable check. NRE risk if wrong."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-476 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED050", "name": "[MINED050] Stub Only Function (and 3 more): Same pattern found in 3 additional files. Review if needed.", "shortDescription": {"text": "[MINED050] Stub Only Function (and 3 more): Same pattern found in 3 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-1188 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED001", "name": "[MINED001] Bare Except Pass (and 3 more): Same pattern found in 3 additional files. Review if needed.", "shortDescription": {"text": "[MINED001] Bare Except Pass (and 3 more): Same pattern found in 3 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-755 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "QA003", "name": "[QA003] No LICENSE File: No license file found. Others cannot legally use or contribute to this code.", "shortDescription": {"text": "[QA003] No LICENSE File: No license file found. Others cannot legally use or contribute to this code."}, "fullDescription": {"text": "Add a LICENSE file. Use choosealicense.com to pick the right one."}, "properties": {"scanner": "repobility-threat-engine", "category": "documentation", "severity": "info", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED004", "name": "[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums).", "shortDescription": {"text": "[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums)."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-327 / A02:2021 for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "SEC128", "name": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake): Async call invoked without `await` returns", "shortDescription": {"text": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake): Async call invoked without `await` returns an unhandled Promise. The outer function resolves before the inner work completes \u2014 DB writes lost, emails not sent, ra"}, "fullDescription": {"text": "Add `await` before each async call, or chain with `.then`. If you intentionally want fire-and-forget, prefix with `void` (TS) or assign to `_` (Python with `asyncio.create_task`) to make the intent explicit and survive lint."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED106", "name": "Phantom test coverage: test_start_linux_monitor", "shortDescription": {"text": "Phantom test coverage: test_start_linux_monitor"}, "fullDescription": {"text": "Test function `test_start_linux_monitor` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED108", "name": "`self.list_parts` used but never assigned in __init__", "shortDescription": {"text": "`self.list_parts` used but never assigned in __init__"}, "fullDescription": {"text": "Method `_setup_ui` of class `PyDDEUGui` reads `self.list_parts`, but no assignment to it exists in __init__ (and no class-level fallback). This raises AttributeError the first time the method runs against an instance."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}]}}, "automationDetails": {"id": "repobility/6"}, "properties": {"repository": "00gxd14g/DDUE-Recovery-Project-P1", "repoUrl": "https://github.com/00gxd14g/DDUE-Recovery-Project-P1", "branch": "master"}, "results": [{"ruleId": "SEC136", "level": "warning", "message": {"text": "[SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all exception block that silently returns success or no-ops. AI agents reach for this pattern when a flaky test or an unfamiliar API throws \u2014 wrap, swallow, return success. Real bugs are masked, observability is destroyed, and callers think the operation worked. CWE-396 (improperly-generalized exception). Distinct from intentional fallback because there's no log line and the success value is fabricated."}, "properties": {"repobilityId": 42206, "scanner": "repobility-threat-engine", "fingerprint": "5629ca49aefd724e10d392b2a38a91a70cb6419715db87469839870710a6aed8", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "try:\n                    return int(parts[1].strip())\n                except Exception:", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC136", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|5629ca49aefd724e10d392b2a38a91a70cb6419715db87469839870710a6aed8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/monitor.py"}, "region": {"startLine": 285}}}]}, {"ruleId": "SEC136", "level": "warning", "message": {"text": "[SEC136] AI-typical over-broad exception handler swallowing all errors: Catch-all exception block that silently returns success or no-ops. AI agents reach for this pattern when a flaky test or an unfamiliar API throws \u2014 wrap, swallow, return success. Real bugs are masked, observability is destroyed, and callers think the operation worked. CWE-396 (improperly-generalized exception). Distinct from intentional fallback because there's no log line and the success value is fabricated."}, "properties": {"repobilityId": 42205, "scanner": "repobility-threat-engine", "fingerprint": "ce6dc7390af26154e9c4361a0c09e3109089f90806b673a0533e920af9efd798", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "try:\n            if v.lower().startswith(\"0x\"):\n                return int(v, 16)\n            return", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC136", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|ce6dc7390af26154e9c4361a0c09e3109089f90806b673a0533e920af9efd798"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/config.py"}, "region": {"startLine": 33}}}]}, {"ruleId": "ERR001", "level": "warning", "message": {"text": "[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG level."}, "properties": {"repobilityId": 42203, "scanner": "repobility-threat-engine", "fingerprint": "1e1e07ddb0b2d03e1dea6f1be7651a4029b982e429c9b635618e065f89930561", "category": "error_handling", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "except Exception:\n                    pass", "reason": "Pattern matched with no mitigating context found", "rule_id": "ERR001", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|1e1e07ddb0b2d03e1dea6f1be7651a4029b982e429c9b635618e065f89930561"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/imager.py"}, "region": {"startLine": 53}}}]}, {"ruleId": "ERR001", "level": "warning", "message": {"text": "[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG level."}, "properties": {"repobilityId": 42202, "scanner": "repobility-threat-engine", "fingerprint": "02d2ca907b9c9a14493609d58fc6d6b5fb736c0344de32255adf79e53015e296", "category": "error_handling", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "except Exception:\n                                pass", "reason": "Pattern matched with no mitigating context found", "rule_id": "ERR001", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|02d2ca907b9c9a14493609d58fc6d6b5fb736c0344de32255adf79e53015e296"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/exporter.py"}, "region": {"startLine": 107}}}]}, {"ruleId": "COMP001", "level": "warning", "message": {"text": "[COMP001] High cognitive complexity: Function `main` has cognitive complexity 20 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand \u2014 nested branches, boolean chains, and recursion all weigh in. Breakdown: else=3, except=1, if=6, nested_bonus=10."}, "properties": {"repobilityId": 42191, "scanner": "repobility-threat-engine", "fingerprint": "ec730f1fc2dab14c4033ac2404438c9861800bb8032164957270743c6e388836", "category": "quality", "severity": "medium", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 20 (severity threshold for medium: 15+).", "evidence": {"scanner": "repobility-threat-engine", "function": "main", "breakdown": {"if": 6, "else": 3, "except": 1, "nested_bonus": 10}, "complexity": 20, "correlation_key": "fp|ec730f1fc2dab14c4033ac2404438c9861800bb8032164957270743c6e388836"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debug_partition.py"}, "region": {"startLine": 18}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42188, "scanner": "repobility-ast-engine", "fingerprint": "f00d9f51522173ef28d0608005203f996e089702cc0e1a1c5b6525cacb68ad4a", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|f00d9f51522173ef28d0608005203f996e089702cc0e1a1c5b6525cacb68ad4a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 1124}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42187, "scanner": "repobility-ast-engine", "fingerprint": "57d4feb148089be9d11e28a67c1039a4e5ea73ef9ac8c7ad396358ffdbdb2c93", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|57d4feb148089be9d11e28a67c1039a4e5ea73ef9ac8c7ad396358ffdbdb2c93"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 1084}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42186, "scanner": "repobility-ast-engine", "fingerprint": "b041c0a15d0f24d52d10c6d21314f2c3ae7cfc61114606295b47958208e0e4b7", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|b041c0a15d0f24d52d10c6d21314f2c3ae7cfc61114606295b47958208e0e4b7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 2762}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42185, "scanner": "repobility-ast-engine", "fingerprint": "f011536e87319c078d564a7c7a0c77830abbf1af1864e84fcfe63e65b5a98f2c", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|f011536e87319c078d564a7c7a0c77830abbf1af1864e84fcfe63e65b5a98f2c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 2480}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42184, "scanner": "repobility-ast-engine", "fingerprint": "3f798807e8c0f7957eb4eecd1df15007625f2be3f243de4e3eb0533ce246bbac", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|3f798807e8c0f7957eb4eecd1df15007625f2be3f243de4e3eb0533ce246bbac"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 1626}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42183, "scanner": "repobility-ast-engine", "fingerprint": "c1a2053fc4e31be0cdbb50a1074557927c96837e6785fdf1ecb521e0d7bfa861", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|c1a2053fc4e31be0cdbb50a1074557927c96837e6785fdf1ecb521e0d7bfa861"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 579}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42182, "scanner": "repobility-ast-engine", "fingerprint": "908a7a39046d73e72b0238250c19d285ed2c9e3188a79d78875986471da7d017", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|908a7a39046d73e72b0238250c19d285ed2c9e3188a79d78875986471da7d017"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 545}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42181, "scanner": "repobility-ast-engine", "fingerprint": "b31bc9bf425631c5c3cc3882b363246acef305fc0d0aa16eb86d6d9f56c79cea", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|b31bc9bf425631c5c3cc3882b363246acef305fc0d0aa16eb86d6d9f56c79cea"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 498}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42180, "scanner": "repobility-ast-engine", "fingerprint": "3834a583b96a8efd3384dbe38f4bddc09959430897b12833e3ec999a3a88e7e0", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|3834a583b96a8efd3384dbe38f4bddc09959430897b12833e3ec999a3a88e7e0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 2998}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42179, "scanner": "repobility-ast-engine", "fingerprint": "7a30463042c9194508946b74012abef462a3002da7bd1d7bf91fc8aa5b25b7f3", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|7a30463042c9194508946b74012abef462a3002da7bd1d7bf91fc8aa5b25b7f3"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 2191}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42178, "scanner": "repobility-ast-engine", "fingerprint": "ed4c6ede1dc0a4f978fe3e0d8ba9f7d87dda849e037a80c33b192ad62aa7622b", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|ed4c6ede1dc0a4f978fe3e0d8ba9f7d87dda849e037a80c33b192ad62aa7622b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 782}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42177, "scanner": "repobility-ast-engine", "fingerprint": "07054f25b55485a256fd704a554ff3bd592cf770a158be39d8c926d9923e8eaf", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|07054f25b55485a256fd704a554ff3bd592cf770a158be39d8c926d9923e8eaf"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 643}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42176, "scanner": "repobility-ast-engine", "fingerprint": "9ab79c4f8ea4eb466634bcc46af1da558c886ef06eb95d4c53128d04a01cf835", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|9ab79c4f8ea4eb466634bcc46af1da558c886ef06eb95d4c53128d04a01cf835"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 614}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42175, "scanner": "repobility-ast-engine", "fingerprint": "3e672dfeb74fa3381f803a124f5a6bfab02baca4e56d73eebac3c9d413ab0e52", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|3e672dfeb74fa3381f803a124f5a6bfab02baca4e56d73eebac3c9d413ab0e52"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 446}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42174, "scanner": "repobility-ast-engine", "fingerprint": "266c5d0b58f7ada2b717d71a2e2d28beff48145d203380829efb577f04bafb59", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|266c5d0b58f7ada2b717d71a2e2d28beff48145d203380829efb577f04bafb59"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 3004}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42173, "scanner": "repobility-ast-engine", "fingerprint": "d98c83d856ad71e1fa914bc17fda258e66051edac190f0f6096b8dbb7436ccc5", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|d98c83d856ad71e1fa914bc17fda258e66051edac190f0f6096b8dbb7436ccc5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 2930}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42172, "scanner": "repobility-ast-engine", "fingerprint": "c69b555a744a0721274d7e87002f46176a10ce3660d7fd561d9ff25806859610", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|c69b555a744a0721274d7e87002f46176a10ce3660d7fd561d9ff25806859610"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 2919}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42171, "scanner": "repobility-ast-engine", "fingerprint": "bcede6da022b6085873dc78ef047995e42c7c32ea98086e0a0664733a4c66334", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|bcede6da022b6085873dc78ef047995e42c7c32ea98086e0a0664733a4c66334"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 16}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42147, "scanner": "repobility-ast-engine", "fingerprint": "2758979c63ce71358f6745d143f8253b27958842b5990b308884e4be1256890b", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|2758979c63ce71358f6745d143f8253b27958842b5990b308884e4be1256890b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/monitor.py"}, "region": {"startLine": 287}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42146, "scanner": "repobility-ast-engine", "fingerprint": "ec2c1af7376651e6c6e39539b0399b50daedf33e943d885d2646600fd8b2a768", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|ec2c1af7376651e6c6e39539b0399b50daedf33e943d885d2646600fd8b2a768"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/monitor.py"}, "region": {"startLine": 216}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42143, "scanner": "repobility-ast-engine", "fingerprint": "cac7c37ae1af730af068bd4a4bbab287e0c2e97ee217e7f7bda7943a650627ff", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|cac7c37ae1af730af068bd4a4bbab287e0c2e97ee217e7f7bda7943a650627ff"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/platform.py"}, "region": {"startLine": 19}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42142, "scanner": "repobility-ast-engine", "fingerprint": "90bc1d6c2692c283187b4af76e11d2b3e0bebcd0a9f5779df36d3e3fbe68e6e4", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|90bc1d6c2692c283187b4af76e11d2b3e0bebcd0a9f5779df36d3e3fbe68e6e4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/mft.py"}, "region": {"startLine": 142}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42141, "scanner": "repobility-ast-engine", "fingerprint": "df536dd9a4220e212875f37b3c4e50ead0c53bf5dce5ef19e7b9f5e814b72052", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|df536dd9a4220e212875f37b3c4e50ead0c53bf5dce5ef19e7b9f5e814b72052"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/mft.py"}, "region": {"startLine": 96}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42140, "scanner": "repobility-ast-engine", "fingerprint": "c8563b885b1ad1706fd72fde5a9b80272702d874b0a049073a5c720931f71552", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|c8563b885b1ad1706fd72fde5a9b80272702d874b0a049073a5c720931f71552"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debug_mbr.py"}, "region": {"startLine": 57}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "Bare except continues silently"}, "properties": {"repobilityId": 42139, "scanner": "repobility-ast-engine", "fingerprint": "24154d85294d3354efb826d630bafc450ae0f03710644a4ee2c7ebd98822721b", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "bare-except-without-pass", "owasp": null, "cwe_ids": [], "languages": ["python"], "observations_count": 21610}, "scanner": "repobility-ast-engine", "correlation_key": "fp|24154d85294d3354efb826d630bafc450ae0f03710644a4ee2c7ebd98822721b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debug_partition.py"}, "region": {"startLine": 81}}}]}, {"ruleId": "ERR001", "level": "warning", "message": {"text": "[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG level."}, "properties": {"repobilityId": 2139, "scanner": "repobility-threat-engine", "fingerprint": "eaeb1da9d21480defcf2bb99b97b11a089d679bb7e9b10eb865810ee9cd76d23", "category": "error_handling", "severity": "medium", "confidence": 1.0, "triageState": "fixed", "verdict": "confirmed", "isResolved": true, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "except Exception:\n                    pass", "reason": "Pattern matched with no mitigating context found", "rule_id": "ERR001", "scanner": "repobility-threat-engine", "confidence": 1.0}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/monitor.py"}, "region": {"startLine": 219}}}]}, {"ruleId": "ERR001", "level": "warning", "message": {"text": "[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG level."}, "properties": {"repobilityId": 2138, "scanner": "repobility-threat-engine", "fingerprint": "2ac4db8a20d1d933ddbf7d54638cfad0c4c8b71e50a2b7858e8fb9ae3865a1b6", "category": "error_handling", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "except Exception:\n                pass", "reason": "Pattern matched with no mitigating context found", "rule_id": "ERR001", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|2ac4db8a20d1d933ddbf7d54638cfad0c4c8b71e50a2b7858e8fb9ae3865a1b6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/carve.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "ERR001", "level": "warning", "message": {"text": "[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even in cleanup code, log at DEBUG level."}, "properties": {"repobilityId": 2137, "scanner": "repobility-threat-engine", "fingerprint": "728621786e7d74209f2b00239289a7a583230ecb547c912450d075098b2a2b16", "category": "error_handling", "severity": "medium", "confidence": 1.0, "triageState": "fixed", "verdict": "confirmed", "isResolved": true, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "except Exception:\n                pass", "reason": "Pattern matched with no mitigating context found", "rule_id": "ERR001", "scanner": "repobility-threat-engine", "confidence": 1.0}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/mft.py"}, "region": {"startLine": 359}}}]}, {"ruleId": "CORE_NO_CI", "level": "warning", "message": {"text": "No CI/CD configuration found"}, "properties": {"repobilityId": 2136, "scanner": "repobility-core", "fingerprint": "ca5da3551af97272c4f099fc472740148135a15816b81b90bd862e8f91ec66ce", "category": "practices", "severity": "medium", "confidence": null, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"rule_id": "CORE_NO_CI", "scanner": "repobility-core", "correlation_key": "repo|practices|core_no_ci"}}}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 42138, "scanner": "repobility-ai-code-hygiene", "fingerprint": "654eb1000e248b9b7b394149ff0a4f8010e64c835d9219c82becea923e8afd21", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "pyddeu/mft.py", "duplicate_line": 212, "correlation_key": "fp|654eb1000e248b9b7b394149ff0a4f8010e64c835d9219c82becea923e8afd21"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/ntfs.py"}, "region": {"startLine": 9}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 42137, "scanner": "repobility-ai-code-hygiene", "fingerprint": "2b5eb576f934eb7ee6de908352a909ff5cae0587efa98ae233872838370ab2de", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "pyddeu/io/posix.py", "duplicate_line": 301, "correlation_key": "fp|2b5eb576f934eb7ee6de908352a909ff5cae0587efa98ae233872838370ab2de"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/io/windows.py"}, "region": {"startLine": 294}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 42136, "scanner": "repobility-ai-code-hygiene", "fingerprint": "d45905255519648bcd9c6a4b4059727ee037513ea546168c41c4acba07f6e285", "category": "quality", "severity": "low", "confidence": 0.86, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "A normalized source-code window appears in two different non-test files.", "evidence": {"lines": 12, "rule_id": "AIC003", "scanner": "repobility-ai-code-hygiene", "references": ["https://jscpd.dev/"], "duplicate_file": "debug_mbr_v2.py", "duplicate_line": 1, "correlation_key": "fp|d45905255519648bcd9c6a4b4059727ee037513ea546168c41c4acba07f6e285"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debug_mbr_v3.py"}, "region": {"startLine": 1}}}]}, {"ruleId": "QA002", "level": "note", "message": {"text": "[QA002] No CI/CD Configuration: No CI/CD pipeline found. Note: some CI systems (Gitea Actions, Drone) may be configured externally."}, "properties": {"repobilityId": 2141, "scanner": "repobility-threat-engine", "fingerprint": "497633e2bdfdbfcdaf2e0680dabb32b556b79794c8dde75f107474bf4f2cd478", "category": "practices", "severity": "low", "confidence": 0.6, "triageState": "fixed", "verdict": "likely", "isResolved": true, "reason": "No standard CI config files found \u2014 CI may be configured externally", "evidence": {"reason": "No standard CI config files found \u2014 CI may be configured externally", "rule_id": "QA002", "scanner": "repobility-threat-engine", "confidence": 0.6}}}, {"ruleId": "CORE_NO_LICENSE", "level": "note", "message": {"text": "No LICENSE file"}, "properties": {"repobilityId": 2135, "scanner": "repobility-core", "fingerprint": "9314e9238cd99885865b92490d1aaa96ca62b1390c9377878d5f3d99227e1c3c", "category": "documentation", "severity": "low", "confidence": null, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"rule_id": "CORE_NO_LICENSE", "scanner": "repobility-core", "correlation_key": "repo|documentation|core_no_license"}}}, {"ruleId": "MINED051", "level": "none", "message": {"text": "[MINED051] Csharp Null Forgive: x! tells compiler \"definitely not null\" \u2014 bypasses nullable check. NRE risk if wrong."}, "properties": {"repobilityId": 42211, "scanner": "repobility-threat-engine", "fingerprint": "0d353f4c3af193662dd95e8498ec50a13c3b065747fd65d5156c03012e03f1ce", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "csharp-null-forgive", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["csharp"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348020+00:00", "triaged_in_corpus": 12, "observations_count": 518114, "ai_coder_pattern_id": 173}, "scanner": "repobility-threat-engine", "correlation_key": "fp|0d353f4c3af193662dd95e8498ec50a13c3b065747fd65d5156c03012e03f1ce"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "winui/PyDDEU.WinUI/Models/FileTreeModels.cs"}, "region": {"startLine": 90}}}]}, {"ruleId": "ERR001", "level": "none", "message": {"text": "[ERR001] Silent Exception Swallowing (and 3 more): Same pattern found in 3 additional files. Review if needed."}, "properties": {"repobilityId": 42204, "scanner": "repobility-threat-engine", "fingerprint": "8a4bd872da419130753367ef5a61efa729f221dd8f26dbedd7003551d50a5f41", "category": "error_handling", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 3 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"reason": "Deduplicated summary only: 3 additional occurrences found. The top occurrences remain visible as actionable findings.", "rule_id": "ERR001", "scanner": "repobility-threat-engine", "confidence": 0.2, "correlation_key": "fp|8a4bd872da419130753367ef5a61efa729f221dd8f26dbedd7003551d50a5f41"}}}, {"ruleId": "MINED050", "level": "none", "message": {"text": "[MINED050] Stub Only Function (and 3 more): Same pattern found in 3 additional files. Review if needed."}, "properties": {"repobilityId": 42201, "scanner": "repobility-threat-engine", "fingerprint": "97e83b35d6d87ad95e23d12f8a95338efdb63b7f12c389b8e08fe5a80cf94e6e", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 3 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "stub-only-function", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348017+00:00", "triaged_in_corpus": 12, "observations_count": 633513, "ai_coder_pattern_id": 2}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|97e83b35d6d87ad95e23d12f8a95338efdb63b7f12c389b8e08fe5a80cf94e6e", "aggregated_count": 3}}}, {"ruleId": "MINED050", "level": "none", "message": {"text": "[MINED050] Stub Only Function: Function declared but body is just pass, return None, raise NotImplementedError, or TODO comment."}, "properties": {"repobilityId": 42200, "scanner": "repobility-threat-engine", "fingerprint": "4175cecf4cc0508582d8c60bcf0d494dcaf2ede9cc689e862acf5437a5d43f8a", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "stub-only-function", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348017+00:00", "triaged_in_corpus": 12, "observations_count": 633513, "ai_coder_pattern_id": 2}, "scanner": "repobility-threat-engine", "correlation_key": "fp|4175cecf4cc0508582d8c60bcf0d494dcaf2ede9cc689e862acf5437a5d43f8a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/imager.py"}, "region": {"startLine": 54}}}]}, {"ruleId": "MINED050", "level": "none", "message": {"text": "[MINED050] Stub Only Function: Function declared but body is just pass, return None, raise NotImplementedError, or TODO comment."}, "properties": {"repobilityId": 42199, "scanner": "repobility-threat-engine", "fingerprint": "7b228e1a2eaf471a81e46d19113838db760594a9f8eee2435a91e811ca33c9c0", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "stub-only-function", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348017+00:00", "triaged_in_corpus": 12, "observations_count": 633513, "ai_coder_pattern_id": 2}, "scanner": "repobility-threat-engine", "correlation_key": "fp|7b228e1a2eaf471a81e46d19113838db760594a9f8eee2435a91e811ca33c9c0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/exporter.py"}, "region": {"startLine": 108}}}]}, {"ruleId": "MINED050", "level": "none", "message": {"text": "[MINED050] Stub Only Function: Function declared but body is just pass, return None, raise NotImplementedError, or TODO comment."}, "properties": {"repobilityId": 42198, "scanner": "repobility-threat-engine", "fingerprint": "6b90fc49aa5143a60b86827ef677773e876d6289270dd7a4ed7e369dc0af2d2e", "category": "quality", "severity": "info", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "stub-only-function", "owasp": null, "cwe_ids": ["CWE-1188"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348017+00:00", "triaged_in_corpus": 12, "observations_count": 633513, "ai_coder_pattern_id": 2}, "scanner": "repobility-threat-engine", "correlation_key": "fp|6b90fc49aa5143a60b86827ef677773e876d6289270dd7a4ed7e369dc0af2d2e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/carve.py"}, "region": {"startLine": 59}}}]}, {"ruleId": "MINED001", "level": "none", "message": {"text": "[MINED001] Bare Except Pass (and 3 more): Same pattern found in 3 additional files. Review if needed."}, "properties": {"repobilityId": 42197, "scanner": "repobility-threat-engine", "fingerprint": "bd632c4ade7e75e1a901d5e2da5e3e85b36e57e91ccdfbe5098de1738a5edc96", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 3 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "bare-except-pass", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347744+00:00", "triaged_in_corpus": 15, "observations_count": 1550824, "ai_coder_pattern_id": 6}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|bd632c4ade7e75e1a901d5e2da5e3e85b36e57e91ccdfbe5098de1738a5edc96", "aggregated_count": 3}}}, {"ruleId": "COMP001", "level": "none", "message": {"text": "[COMP001] High cognitive complexity (and 17 more): Same pattern found in 17 additional files. Review if needed."}, "properties": {"repobilityId": 42193, "scanner": "repobility-threat-engine", "fingerprint": "d683dd7f862c53a7d1d54a33e5815dea3a351ae865bc5298119fe512b5061bcb", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 17 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"scanner": "repobility-threat-engine", "function": "main", "breakdown": {"if": 15, "for": 1, "else": 2, "break": 5, "while": 3, "ternary": 1, "nested_bonus": 33}, "aggregated": true, "complexity": 60, "correlation_key": "fp|d683dd7f862c53a7d1d54a33e5815dea3a351ae865bc5298119fe512b5061bcb", "aggregated_count": 17}}}, {"ruleId": "QA003", "level": "none", "message": {"text": "[QA003] No LICENSE File: No license file found. Others cannot legally use or contribute to this code."}, "properties": {"repobilityId": 2142, "scanner": "repobility-threat-engine", "fingerprint": "fbc69eb9b9248061c8975ded26c0e352b264bf9434709268b35cf175bd99bebe", "category": "documentation", "severity": "info", "confidence": 1.0, "triageState": "fixed", "verdict": "confirmed", "isResolved": true, "reason": "No LICENSE file in repository root", "evidence": {"reason": "No LICENSE file in repository root", "rule_id": "QA003", "scanner": "repobility-threat-engine", "confidence": 1.0}}}, {"ruleId": "ERR001", "level": "none", "message": {"text": "[ERR001] Silent Exception Swallowing (and 9 more): Same pattern found in 9 additional files. Review if needed."}, "properties": {"repobilityId": 2140, "scanner": "repobility-threat-engine", "fingerprint": "9e6e853f608b2a231f85686a1347c432c69a817b8e45056ada78115e70387a2f", "category": "error_handling", "severity": "info", "confidence": 0.3, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated: 9 additional occurrences found", "evidence": {"reason": "Deduplicated: 9 additional occurrences found", "rule_id": "ERR001", "scanner": "repobility-threat-engine", "confidence": 0.3}}}, {"ruleId": "MINED004", "level": "error", "message": {"text": "[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums)."}, "properties": {"repobilityId": 42210, "scanner": "repobility-threat-engine", "fingerprint": "a6cc094e23a7607930790e349b62fb1aecc214521a1cf224188f9b07bdb6ea9d", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "weak-crypto", "owasp": "A02:2021", "cwe_ids": ["CWE-327"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347906+00:00", "triaged_in_corpus": 15, "observations_count": 303181, "ai_coder_pattern_id": 13}, "scanner": "repobility-threat-engine", "correlation_key": "fp|a6cc094e23a7607930790e349b62fb1aecc214521a1cf224188f9b07bdb6ea9d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/state.py"}, "region": {"startLine": 131}}}]}, {"ruleId": "SEC128", "level": "error", "message": {"text": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake): Async call invoked without `await` returns an unhandled Promise. The outer function resolves before the inner work completes \u2014 DB writes lost, emails not sent, race conditions. This is one of the top-3 errors AI coders make: they understand async-shape but drop the await keyword when chaining multiple ops. Surfaces as flaky tests or silently dropped data in production."}, "properties": {"repobilityId": 42209, "scanner": "repobility-threat-engine", "fingerprint": "ab81fdcef0e9fa8bd90cbc0c9e3d9a4ba5caa4a5b04aae1f7b9c80f9cdeb60ec", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "Directory.Delete(repoRoot, recursive: true);", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|ab81fdcef0e9fa8bd90cbc0c9e3d9a4ba5caa4a5b04aae1f7b9c80f9cdeb60ec"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "winui/PyDDEU.WinUI.Tests/PythonBridgeClientTests.cs"}, "region": {"startLine": 56}}}]}, {"ruleId": "SEC128", "level": "error", "message": {"text": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake): Async call invoked without `await` returns an unhandled Promise. The outer function resolves before the inner work completes \u2014 DB writes lost, emails not sent, race conditions. This is one of the top-3 errors AI coders make: they understand async-shape but drop the await keyword when chaining multiple ops. Surfaces as flaky tests or silently dropped data in production."}, "properties": {"repobilityId": 42208, "scanner": "repobility-threat-engine", "fingerprint": "fa4b5ffcf56596112fc79ac091010986d99661cb62e1423cba469c76c17efffb", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "Directory.Delete(tempDir, recursive: true);", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|fa4b5ffcf56596112fc79ac091010986d99661cb62e1423cba469c76c17efffb"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "winui/PyDDEU.WinUI.Tests/FileLogSinkTests.cs"}, "region": {"startLine": 37}}}]}, {"ruleId": "SEC128", "level": "error", "message": {"text": "[SEC128] Async function without await \u2014 fire-and-forget Promise (AI mistake): Async call invoked without `await` returns an unhandled Promise. The outer function resolves before the inner work completes \u2014 DB writes lost, emails not sent, race conditions. This is one of the top-3 errors AI coders make: they understand async-shape but drop the await keyword when chaining multiple ops. Surfaces as flaky tests or silently dropped data in production."}, "properties": {"repobilityId": 42207, "scanner": "repobility-threat-engine", "fingerprint": "182136c506b1ae50e95ec34682e0b8f19bef61b363f5b2344938d3312edc37ae", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "self.bad_map.save()", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|182136c506b1ae50e95ec34682e0b8f19bef61b363f5b2344938d3312edc37ae"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/state.py"}, "region": {"startLine": 202}}}]}, {"ruleId": "MINED001", "level": "error", "message": {"text": "[MINED001] Bare Except Pass: except: pass or except Exception: pass \u2014 silently swallows everything including KeyboardInterrupt and bugs."}, "properties": {"repobilityId": 42196, "scanner": "repobility-threat-engine", "fingerprint": "3a9f7133d30f3bd24691243607a688c444dd6e69d0bbcf022bf7e893dfe56fdb", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "bare-except-pass", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347744+00:00", "triaged_in_corpus": 15, "observations_count": 1550824, "ai_coder_pattern_id": 6}, "scanner": "repobility-threat-engine", "correlation_key": "fp|3a9f7133d30f3bd24691243607a688c444dd6e69d0bbcf022bf7e893dfe56fdb"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/imager.py"}, "region": {"startLine": 53}}}]}, {"ruleId": "MINED001", "level": "error", "message": {"text": "[MINED001] Bare Except Pass: except: pass or except Exception: pass \u2014 silently swallows everything including KeyboardInterrupt and bugs."}, "properties": {"repobilityId": 42195, "scanner": "repobility-threat-engine", "fingerprint": "b64d84e107d0c9f29140561a97bb90413890e1a356c7578700f0319807062082", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "bare-except-pass", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347744+00:00", "triaged_in_corpus": 15, "observations_count": 1550824, "ai_coder_pattern_id": 6}, "scanner": "repobility-threat-engine", "correlation_key": "fp|b64d84e107d0c9f29140561a97bb90413890e1a356c7578700f0319807062082"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/exporter.py"}, "region": {"startLine": 107}}}]}, {"ruleId": "MINED001", "level": "error", "message": {"text": "[MINED001] Bare Except Pass: except: pass or except Exception: pass \u2014 silently swallows everything including KeyboardInterrupt and bugs."}, "properties": {"repobilityId": 42194, "scanner": "repobility-threat-engine", "fingerprint": "0b93322bc14395f7192147626d5e4f1a7be530c65062a509d8fdf7fa0ba0ae9b", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "bare-except-pass", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347744+00:00", "triaged_in_corpus": 15, "observations_count": 1550824, "ai_coder_pattern_id": 6}, "scanner": "repobility-threat-engine", "correlation_key": "fp|0b93322bc14395f7192147626d5e4f1a7be530c65062a509d8fdf7fa0ba0ae9b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/carve.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "COMP001", "level": "error", "message": {"text": "[COMP001] High cognitive complexity: Function `carve_signatures` has cognitive complexity 26 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand \u2014 nested branches, boolean chains, and recursion all weigh in. Breakdown: and=2, break=1, else=1, except=1, for=1, if=6, nested_bonus=12, or=1, while=1."}, "properties": {"repobilityId": 42192, "scanner": "repobility-threat-engine", "fingerprint": "904025f84d47bc001f5525512d0744bf3dd85651535478fac7371a5e44aec7d5", "category": "quality", "severity": "high", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 26 (severity threshold for high: 25+).", "evidence": {"scanner": "repobility-threat-engine", "function": "carve_signatures", "breakdown": {"if": 6, "or": 1, "and": 2, "for": 1, "else": 1, "break": 1, "while": 1, "except": 1, "nested_bonus": 12}, "complexity": 26, "correlation_key": "fp|904025f84d47bc001f5525512d0744bf3dd85651535478fac7371a5e44aec7d5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/carve.py"}, "region": {"startLine": 31}}}]}, {"ruleId": "COMP001", "level": "error", "message": {"text": "[COMP001] High cognitive complexity: Function `main` has cognitive complexity 60 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand \u2014 nested branches, boolean chains, and recursion all weigh in. Breakdown: break=5, else=2, for=1, if=15, nested_bonus=33, ternary=1, while=3."}, "properties": {"repobilityId": 42190, "scanner": "repobility-threat-engine", "fingerprint": "f1c19445b48fe64acb6a2ad8aec7ddfa3efceeade3270b3653b4d560d4b177ce", "category": "quality", "severity": "high", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 60 (severity threshold for high: 25+).", "evidence": {"scanner": "repobility-threat-engine", "function": "main", "breakdown": {"if": 15, "for": 1, "else": 2, "break": 5, "while": 3, "ternary": 1, "nested_bonus": 33}, "complexity": 60, "correlation_key": "fp|f1c19445b48fe64acb6a2ad8aec7ddfa3efceeade3270b3653b4d560d4b177ce"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "debug_mft.py"}, "region": {"startLine": 31}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "Phantom test coverage: test_start_linux_monitor"}, "properties": {"repobilityId": 42189, "scanner": "repobility-ast-engine", "fingerprint": "1aa8d5b908f031d34e52a2d466cd1d08edc681692cacc59addaf900e56c14f08", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "phantom-test-coverage", "owasp": null, "cwe_ids": ["CWE-1126"], "languages": ["python"], "observations_count": 982154}, "scanner": "repobility-ast-engine", "correlation_key": "fp|1aa8d5b908f031d34e52a2d466cd1d08edc681692cacc59addaf900e56c14f08"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test_monitor.py"}, "region": {"startLine": 165}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.list_parts` used but never assigned in __init__"}, "properties": {"repobilityId": 42170, "scanner": "repobility-ast-engine", "fingerprint": "ba671ad0951628f5704438632b7f82830535487ce0d0905ce78ebdb1533bc8d6", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|ba671ad0951628f5704438632b7f82830535487ce0d0905ce78ebdb1533bc8d6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 189}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.on_partition_select` used but never assigned in __init__"}, "properties": {"repobilityId": 42169, "scanner": "repobility-ast-engine", "fingerprint": "393f5cbaee410a3c762ef1dc32a2fcbd58e158d8548d2ca2b7ddad2b450c2117", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|393f5cbaee410a3c762ef1dc32a2fcbd58e158d8548d2ca2b7ddad2b450c2117"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 188}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_show_deleted_only` used but never assigned in __init__"}, "properties": {"repobilityId": 42168, "scanner": "repobility-ast-engine", "fingerprint": "91992aae7316a80ae1091133cc0bf08b5ff34c9d8f52301ce24b46c77e03b7b8", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|91992aae7316a80ae1091133cc0bf08b5ff34c9d8f52301ce24b46c77e03b7b8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 269}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_export_active` used but never assigned in __init__"}, "properties": {"repobilityId": 42167, "scanner": "repobility-ast-engine", "fingerprint": "4a86cc17e1a769eaeaf4dc372811c3d1214d3502e70f5465adc0cd2271e8bd00", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|4a86cc17e1a769eaeaf4dc372811c3d1214d3502e70f5465adc0cd2271e8bd00"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 268}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_export_deleted` used but never assigned in __init__"}, "properties": {"repobilityId": 42166, "scanner": "repobility-ast-engine", "fingerprint": "5c26b89087b48cea111d8299262280272433162943be2f48ff605edbb762dfc8", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|5c26b89087b48cea111d8299262280272433162943be2f48ff605edbb762dfc8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 267}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_skip_videos` used but never assigned in __init__"}, "properties": {"repobilityId": 42165, "scanner": "repobility-ast-engine", "fingerprint": "4ef84fbb5a3f341e8d52c1f19878e0b2fa43f37e7e0910f4470e890abbc0e93f", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|4ef84fbb5a3f341e8d52c1f19878e0b2fa43f37e7e0910f4470e890abbc0e93f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 266}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_skip_existing` used but never assigned in __init__"}, "properties": {"repobilityId": 42164, "scanner": "repobility-ast-engine", "fingerprint": "2d9fa726cc0051641d8ff8c9dc0fab00a065f7c0cfbea80477dc3c65c0e57699", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|2d9fa726cc0051641d8ff8c9dc0fab00a065f7c0cfbea80477dc3c65c0e57699"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 265}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_skip_archives` used but never assigned in __init__"}, "properties": {"repobilityId": 42163, "scanner": "repobility-ast-engine", "fingerprint": "6e410026f8f870a509dc38f0bbdededaabfdd3097f52a9597cb4d829a83d35cb", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|6e410026f8f870a509dc38f0bbdededaabfdd3097f52a9597cb4d829a83d35cb"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 264}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.entry_max_mb` used but never assigned in __init__"}, "properties": {"repobilityId": 42162, "scanner": "repobility-ast-engine", "fingerprint": "acc737d3d674b02a45f2b3cd35eb459eeab36ce785b98993a669758be9f212b7", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|acc737d3d674b02a45f2b3cd35eb459eeab36ce785b98993a669758be9f212b7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 260}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.entry_ext` used but never assigned in __init__"}, "properties": {"repobilityId": 42161, "scanner": "repobility-ast-engine", "fingerprint": "bf7f775297937786d7abe32ae45ac0978c6b221ee00f60b3e438f14661ce6af3", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|bf7f775297937786d7abe32ae45ac0978c6b221ee00f60b3e438f14661ce6af3"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 255}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.prog` used but never assigned in __init__"}, "properties": {"repobilityId": 42160, "scanner": "repobility-ast-engine", "fingerprint": "e70dfa88160f5b50f285a7f544ce12a84fbc802bfefcb983e563d1c856c056c9", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|e70dfa88160f5b50f285a7f544ce12a84fbc802bfefcb983e563d1c856c056c9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 248}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.lbl_status` used but never assigned in __init__"}, "properties": {"repobilityId": 42159, "scanner": "repobility-ast-engine", "fingerprint": "28f35c09fb43721da467ce21b157d314dc36f1e7a3c6b8562b299ae01aba222b", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|28f35c09fb43721da467ce21b157d314dc36f1e7a3c6b8562b299ae01aba222b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 246}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.txt_log` used but never assigned in __init__"}, "properties": {"repobilityId": 42158, "scanner": "repobility-ast-engine", "fingerprint": "cd2ecf312dc3356297e148ea46e49ee3f8fa008c6ea78ffe2a19074cc923404f", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|cd2ecf312dc3356297e148ea46e49ee3f8fa008c6ea78ffe2a19074cc923404f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 233}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_pause` used but never assigned in __init__"}, "properties": {"repobilityId": 42157, "scanner": "repobility-ast-engine", "fingerprint": "d427419a66f85d4b6facb738789e78efa9f19189ce08ea285521d2c5ae968c7d", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|d427419a66f85d4b6facb738789e78efa9f19189ce08ea285521d2c5ae968c7d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 224}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_autoscroll` used but never assigned in __init__"}, "properties": {"repobilityId": 42156, "scanner": "repobility-ast-engine", "fingerprint": "385f1ea05456e1ded94ec1c6e48816623d1917500ebe79ceb8a265ab6c03d72a", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|385f1ea05456e1ded94ec1c6e48816623d1917500ebe79ceb8a265ab6c03d72a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 223}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.context_menu` used but never assigned in __init__"}, "properties": {"repobilityId": 42155, "scanner": "repobility-ast-engine", "fingerprint": "3dcffc03df4e65bde787935f1ae62d763a8ed8a562610ecc56e53867ff560605", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|3dcffc03df4e65bde787935f1ae62d763a8ed8a562610ecc56e53867ff560605"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 211}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.tree` used but never assigned in __init__"}, "properties": {"repobilityId": 42154, "scanner": "repobility-ast-engine", "fingerprint": "044ef886a57bf658b08c5c7233f78e6e8a5484b339224989357ba3a2107f8aed", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|044ef886a57bf658b08c5c7233f78e6e8a5484b339224989357ba3a2107f8aed"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 198}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.txt_hex` used but never assigned in __init__"}, "properties": {"repobilityId": 42153, "scanner": "repobility-ast-engine", "fingerprint": "f1f1b6dbc83da0ff097661418cfcc6d413b9a07b81475669c41199f40e731db7", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|f1f1b6dbc83da0ff097661418cfcc6d413b9a07b81475669c41199f40e731db7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 191}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.list_parts` used but never assigned in __init__"}, "properties": {"repobilityId": 42152, "scanner": "repobility-ast-engine", "fingerprint": "cab52aeb416ed1066e5ce3f59bbf5e2121af350b05f0b245dc193c64b64f21f6", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|cab52aeb416ed1066e5ce3f59bbf5e2121af350b05f0b245dc193c64b64f21f6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 185}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.entry_output` used but never assigned in __init__"}, "properties": {"repobilityId": 42151, "scanner": "repobility-ast-engine", "fingerprint": "a940931b784c0450fb4602ceb0483d0b3523f9c1b678e1355f6b1a0081839f69", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|a940931b784c0450fb4602ceb0483d0b3523f9c1b678e1355f6b1a0081839f69"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 125}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.entry_source` used but never assigned in __init__"}, "properties": {"repobilityId": 42150, "scanner": "repobility-ast-engine", "fingerprint": "71e2ebd6f6a709c193aee4ac2748f8d6150581e57f0645ae53b556e91f7feb05", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|71e2ebd6f6a709c193aee4ac2748f8d6150581e57f0645ae53b556e91f7feb05"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 120}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_fast_list` used but never assigned in __init__"}, "properties": {"repobilityId": 42149, "scanner": "repobility-ast-engine", "fingerprint": "a06dae3483adec135fbe0f179f2d7bfc5c8f0de3442e5105e712791e6516a6e2", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|a06dae3483adec135fbe0f179f2d7bfc5c8f0de3442e5105e712791e6516a6e2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 117}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self.var_aggressive_scan` used but never assigned in __init__"}, "properties": {"repobilityId": 42148, "scanner": "repobility-ast-engine", "fingerprint": "f46a1a292827567255c1890b0346cc4a8b40032bc9adc3b6ebbe192408cadbfa", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|f46a1a292827567255c1890b0346cc4a8b40032bc9adc3b6ebbe192408cadbfa"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/gui.py"}, "region": {"startLine": 116}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self._should_process_line` used but never assigned in __init__"}, "properties": {"repobilityId": 42145, "scanner": "repobility-ast-engine", "fingerprint": "2db8b1b8b2073c6bc9021ec13cdc08f4b4bcf9fb431556b883ea86ab948eef82", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|2db8b1b8b2073c6bc9021ec13cdc08f4b4bcf9fb431556b883ea86ab948eef82"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/monitor.py"}, "region": {"startLine": 181}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "`self._classify_message` used but never assigned in __init__"}, "properties": {"repobilityId": 42144, "scanner": "repobility-ast-engine", "fingerprint": "1e44ac9bedcfce9b65b1ab63de9e4b6290f128fee53c1a516d630e526b38f8c8", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "self-attr-never-set", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["python"], "observations_count": 25998}, "scanner": "repobility-ast-engine", "correlation_key": "fp|1e44ac9bedcfce9b65b1ab63de9e4b6290f128fee53c1a516d630e526b38f8c8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pyddeu/monitor.py"}, "region": {"startLine": 184}}}]}]}]}