{"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": "MINED109", "name": "[MINED109] Mutable default argument in `FindDependencies` (dict): `def FindDependencies(... = []/{}/set())` \u2014 Python's d", "shortDescription": {"text": "[MINED109] Mutable default argument in `FindDependencies` (dict): `def FindDependencies(... = []/{}/set())` \u2014 Python's default value is constructed ONCE at function definition time and shared across all calls. Mutating it in one call mutate"}, "fullDescription": {"text": "Use None as the default and create the collection inside the function: `def FindDependencies(x=None): x = x or []`"}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "ERR002", "name": "[ERR002] Empty Catch Block: Empty catch blocks hide errors.", "shortDescription": {"text": "[ERR002] Empty Catch Block: Empty catch blocks hide errors."}, "fullDescription": {"text": "Log the error or rethrow it. Use console.error() at minimum."}, "properties": {"scanner": "repobility-threat-engine", "category": "error_handling", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "COMP001", "name": "[COMP001] High cognitive complexity: Function `printHFile` has cognitive complexity 25 (SonarSource scale). Cognitive co", "shortDescription": {"text": "[COMP001] High cognitive complexity: Function `printHFile` has cognitive complexity 25 (SonarSource scale). Cognitive complexity measures how hard the function is for a human to understand \u2014 nested branches, boolean chains, and recursion al"}, "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 25."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "medium", "confidence": 0.95, "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": "Extract the shared behavior into one function/module or delete the inactive duplicate after proving which path is used."}, "properties": {"scanner": "repobility-ai-code-hygiene", "category": "quality", "severity": "low", "confidence": 0.86, "cwe": "", "owasp": ""}}, {"id": "SEC132", "name": "[SEC132] String concat where the language has interpolation (AI style drift): String built by concatenation where the la", "shortDescription": {"text": "[SEC132] String concat where the language has interpolation (AI style drift): String built by concatenation where the language has cleaner interpolation (Python f-strings since 3.6, JS template literals since ES6). Not a vulnerability on it"}, "fullDescription": {"text": "Python: `f\"prefix {var} suffix\"`. JS/TS: `` `prefix ${var} suffix` ``. Add a lint rule (pyupgrade UP032, eslint prefer-template) so future PRs catch this automatically."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "low", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED045", "name": "[MINED045] Ts Non Null Assertion (and 2 more): Same pattern found in 2 additional files. Review if needed.", "shortDescription": {"text": "[MINED045] Ts Non Null Assertion (and 2 more): Same pattern found in 2 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-476 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED048", "name": "[MINED048] Php Error Suppress (and 4 more): Same pattern found in 4 additional files. Review if needed.", "shortDescription": {"text": "[MINED048] Php Error Suppress (and 4 more): Same pattern found in 4 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": "MINED077", "name": "[MINED077] Python Open No Context: fp = open(path) outside with-block leaks file handles.", "shortDescription": {"text": "[MINED077] Python Open No Context: fp = open(path) outside with-block leaks file handles."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-772 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED050", "name": "[MINED050] Stub Only Function: Function declared but body is just pass, return None, raise NotImplementedError, or TODO ", "shortDescription": {"text": "[MINED050] Stub Only Function: Function declared but body is just pass, return None, raise NotImplementedError, or TODO comment."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-1188 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED042", "name": "[MINED042] Cpp New Without Delete (and 9 more): Same pattern found in 9 additional files. Review if needed.", "shortDescription": {"text": "[MINED042] Cpp New Without Delete (and 9 more): Same pattern found in 9 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-401 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED022", "name": "[MINED022] C Strcpy (and 2 more): Same pattern found in 2 additional files. Review if needed.", "shortDescription": {"text": "[MINED022] C Strcpy (and 2 more): Same pattern found in 2 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-120 /  for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED115", "name": "[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/upload-artifact@v4` resolves at ", "shortDescription": {"text": "[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/upload-artifact@v4` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compro"}, "fullDescription": {"text": "Replace with: `uses: actions/upload-artifact@<40-char-sha>  # v4` and let Dependabot bump it on a scheduled cadence."}, "properties": {"scanner": "repobility-supply-chain", "category": "dependency", "severity": "high", "confidence": 0.9, "cwe": "", "owasp": ""}}, {"id": "MINED108", "name": "[MINED108] `self.ed` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.ed`, bu", "shortDescription": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.ed`, but no assignment to it exists in __init__ (and no class-level fallback). This raises AttributeError the first time the me"}, "fullDescription": {"text": "Initialize `self.ed = <default>` in __init__, or add a class-level default."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED001", "name": "[MINED001] Bare Except Pass: except: pass or except Exception: pass \u2014 silently swallows everything including KeyboardInt", "shortDescription": {"text": "[MINED001] Bare Except Pass: except: pass or except Exception: pass \u2014 silently swallows everything including KeyboardInterrupt and bugs."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-755 /  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": ""}}]}}, "automationDetails": {"id": "repobility/1010"}, "properties": {"repository": "nextpad-plus-plus/nextpad-plus-plus-macos", "repoUrl": "https://github.com/nextpad-plus-plus/nextpad-plus-plus-macos", "branch": "main"}, "results": [{"ruleId": "MINED109", "level": "warning", "message": {"text": "[MINED109] Mutable default argument in `FindDependencies` (dict): `def FindDependencies(... = []/{}/set())` \u2014 Python's default value is constructed ONCE at function definition time and shared across all calls. Mutating it in one call mutates it for every future call too."}, "properties": {"repobilityId": 94747, "scanner": "repobility-ast-engine", "fingerprint": "2748362b9a9dd4cb12b3ec4ee12685f1e7d7f48b3287485948b98d402a17e36a", "category": "quality", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "mutable-default-arg", "owasp": null, "cwe_ids": ["CWE-1023"], "languages": ["python"], "observations_count": 64867}, "scanner": "repobility-ast-engine", "correlation_key": "fp|2748362b9a9dd4cb12b3ec4ee12685f1e7d7f48b3287485948b98d402a17e36a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/scripts/Dependencies.py"}, "region": {"startLine": 73}}}]}, {"ruleId": "ERR002", "level": "warning", "message": {"text": "[ERR002] Empty Catch Block: Empty catch blocks hide errors."}, "properties": {"repobilityId": 94741, "scanner": "repobility-threat-engine", "fingerprint": "7f500618d0a46a69605df3d4cbd81517fd24d4cb70160246a0786713cf155a28", "category": "error_handling", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "catch (NSException *) {}", "reason": "Pattern matched with no mitigating context found", "rule_id": "ERR002", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|7f500618d0a46a69605df3d4cbd81517fd24d4cb70160246a0786713cf155a28"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/GitHelper.mm"}, "region": {"startLine": 125}}}]}, {"ruleId": "COMP001", "level": "warning", "message": {"text": "[COMP001] High cognitive complexity: Function `printHFile` has cognitive complexity 25 (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: for=1, if=5, nested_bonus=18, ternary=1."}, "properties": {"repobilityId": 94729, "scanner": "repobility-threat-engine", "fingerprint": "8998d1366fcde3848e6889ec4b1f2e629b96d0c470311c900d955e257cac6167", "category": "quality", "severity": "medium", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 25 (severity threshold for medium: 15+).", "evidence": {"scanner": "repobility-threat-engine", "function": "printHFile", "breakdown": {"if": 5, "for": 1, "ternary": 1, "nested_bonus": 18}, "complexity": 25, "correlation_key": "fp|8998d1366fcde3848e6889ec4b1f2e629b96d0c470311c900d955e257cac6167"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/qt/ScintillaEdit/WidgetGen.py"}, "region": {"startLine": 95}}}]}, {"ruleId": "CORE_NO_CI", "level": "warning", "message": {"text": "No CI/CD configuration found"}, "properties": {"repobilityId": 94710, "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": 94746, "scanner": "repobility-ai-code-hygiene", "fingerprint": "ab8f28e4fe7bc5f7fc82027d58444d12a5d17a0731d4a9d94b60537dce49a995", "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": "scintilla/src/CellBuffer.h", "duplicate_line": 128, "correlation_key": "fp|ab8f28e4fe7bc5f7fc82027d58444d12a5d17a0731d4a9d94b60537dce49a995"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/src/Document.h"}, "region": {"startLine": 310}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 94745, "scanner": "repobility-ai-code-hygiene", "fingerprint": "03ab156d18c96d97991f036439b6ca104efaffe321d756c956c49c355360fdc7", "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": "lexilla/lexlib/CharacterSet.h", "duplicate_line": 81, "correlation_key": "fp|03ab156d18c96d97991f036439b6ca104efaffe321d756c956c49c355360fdc7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/src/CharacterType.h"}, "region": {"startLine": 19}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 94744, "scanner": "repobility-ai-code-hygiene", "fingerprint": "feebf0d3e49d81396a6b245bbbded1f6712aee9666ef0baac17dfe99a6fec09f", "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": "lexilla/lexlib/CharacterCategory.h", "duplicate_line": 2, "correlation_key": "fp|feebf0d3e49d81396a6b245bbbded1f6712aee9666ef0baac17dfe99a6fec09f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/src/CharacterCategoryMap.h"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 94743, "scanner": "repobility-ai-code-hygiene", "fingerprint": "c65d9c7399bf0f586846fc91910f35e29646ec8068d7a30a60ccec5bb397360e", "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": "regex/boost/regex/v5/regex_token_iterator.hpp", "duplicate_line": 37, "correlation_key": "fp|c65d9c7399bf0f586846fc91910f35e29646ec8068d7a30a60ccec5bb397360e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "regex/boost/regex/v5/u32regex_token_iterator.hpp"}, "region": {"startLine": 34}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 94742, "scanner": "repobility-ai-code-hygiene", "fingerprint": "d38503a08f6f5208152215b0ad069128f1401c20365d595d0886faa148908be8", "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": "lexilla/lexlib/DefaultLexer.h", "duplicate_line": 21, "correlation_key": "fp|d38503a08f6f5208152215b0ad069128f1401c20365d595d0886faa148908be8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/lexlib/LexerBase.h"}, "region": {"startLine": 22}}}]}, {"ruleId": "SEC132", "level": "note", "message": {"text": "[SEC132] String concat where the language has interpolation (AI style drift): String built by concatenation where the language has cleaner interpolation (Python f-strings since 3.6, JS template literals since ES6). Not a vulnerability on its own, but a style signature of cross-language AI rewrites \u2014 the model wrote idiomatic Java/C# and then translated mechanically. When this style appears in only *some* files of a repo, it's a strong indicator of an AI-driven rewrite that needs a human review p"}, "properties": {"repobilityId": 94731, "scanner": "repobility-threat-engine", "fingerprint": "a560dfd44f519ec1b80eb0531ba25f44ab477f6e9e5c4ba73dbc31aa16feefc9", "category": "quality", "severity": "low", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "raise Exception(\"Duplicate value \" + value + \"", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC132", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|a560dfd44f519ec1b80eb0531ba25f44ab477f6e9e5c4ba73dbc31aa16feefc9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/scripts/Face.py"}, "region": {"startLine": 104}}}]}, {"ruleId": "MINED045", "level": "none", "message": {"text": "[MINED045] Ts Non Null Assertion (and 2 more): Same pattern found in 2 additional files. Review if needed."}, "properties": {"repobilityId": 94740, "scanner": "repobility-threat-engine", "fingerprint": "d6ff52f326a217119b363f1aee474b58469492e74a7fc3a211d777ba7b2b5474", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 2 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "ts-non-null-assertion", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["typescript", "tsx"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348005+00:00", "triaged_in_corpus": 12, "observations_count": 1810954, "ai_coder_pattern_id": 105}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|d6ff52f326a217119b363f1aee474b58469492e74a7fc3a211d777ba7b2b5474", "aggregated_count": 2}}}, {"ruleId": "MINED045", "level": "none", "message": {"text": "[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError if wrong."}, "properties": {"repobilityId": 94739, "scanner": "repobility-threat-engine", "fingerprint": "4fd93003956598fc2e5d44bf86d60fd9e95b1ddd5986017a706408566831bf4b", "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": "ts-non-null-assertion", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["typescript", "tsx"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348005+00:00", "triaged_in_corpus": 12, "observations_count": 1810954, "ai_coder_pattern_id": 105}, "scanner": "repobility-threat-engine", "correlation_key": "fp|4fd93003956598fc2e5d44bf86d60fd9e95b1ddd5986017a706408566831bf4b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/NppLangsManager.mm"}, "region": {"startLine": 225}}}]}, {"ruleId": "MINED045", "level": "none", "message": {"text": "[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError if wrong."}, "properties": {"repobilityId": 94738, "scanner": "repobility-threat-engine", "fingerprint": "401426016780e41b02b15037d0b2f36a3d34d8c024b542fb8ff54e84d79637de", "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": "ts-non-null-assertion", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["typescript", "tsx"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348005+00:00", "triaged_in_corpus": 12, "observations_count": 1810954, "ai_coder_pattern_id": 105}, "scanner": "repobility-threat-engine", "correlation_key": "fp|401426016780e41b02b15037d0b2f36a3d34d8c024b542fb8ff54e84d79637de"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/NppCommandLineParams.mm"}, "region": {"startLine": 118}}}]}, {"ruleId": "MINED045", "level": "none", "message": {"text": "[MINED045] Ts Non Null Assertion: x! asserts not null - bypasses null checks - TypeError if wrong."}, "properties": {"repobilityId": 94737, "scanner": "repobility-threat-engine", "fingerprint": "b50bc2847f1fa232ae218b0aaf5cbdf29ba8ebea97ba77b168b34779dfd47c1b", "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": "ts-non-null-assertion", "owasp": null, "cwe_ids": ["CWE-476"], "languages": ["typescript", "tsx"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348005+00:00", "triaged_in_corpus": 12, "observations_count": 1810954, "ai_coder_pattern_id": 105}, "scanner": "repobility-threat-engine", "correlation_key": "fp|b50bc2847f1fa232ae218b0aaf5cbdf29ba8ebea97ba77b168b34779dfd47c1b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/GitHelper.mm"}, "region": {"startLine": 39}}}]}, {"ruleId": "MINED048", "level": "none", "message": {"text": "[MINED048] Php Error Suppress (and 4 more): Same pattern found in 4 additional files. Review if needed."}, "properties": {"repobilityId": 94736, "scanner": "repobility-threat-engine", "fingerprint": "f2fc277f44c178e3a30a2daa48c08d28160c22e1adf16ce5064a556599bef448", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 4 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "php-error-suppress", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["php"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348013+00:00", "triaged_in_corpus": 12, "observations_count": 849118, "ai_coder_pattern_id": 166}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|f2fc277f44c178e3a30a2daa48c08d28160c22e1adf16ce5064a556599bef448", "aggregated_count": 4}}}, {"ruleId": "MINED048", "level": "none", "message": {"text": "[MINED048] Php Error Suppress: @function() suppresses errors silently. Hides real issues."}, "properties": {"repobilityId": 94735, "scanner": "repobility-threat-engine", "fingerprint": "1560e508031accd3439b3f452408182e0f3ee69912d3c372b64c9504da67f4ed", "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": "php-error-suppress", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["php"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348013+00:00", "triaged_in_corpus": 12, "observations_count": 849118, "ai_coder_pattern_id": 166}, "scanner": "repobility-threat-engine", "correlation_key": "fp|1560e508031accd3439b3f452408182e0f3ee69912d3c372b64c9504da67f4ed"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/FindReplacePanel.mm"}, "region": {"startLine": 38}}}]}, {"ruleId": "MINED048", "level": "none", "message": {"text": "[MINED048] Php Error Suppress: @function() suppresses errors silently. Hides real issues."}, "properties": {"repobilityId": 94734, "scanner": "repobility-threat-engine", "fingerprint": "edc579d2900afd39196d22bc7b08eb0d55e6a6c08607d48387d221d6b4391b93", "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": "php-error-suppress", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["php"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348013+00:00", "triaged_in_corpus": 12, "observations_count": 849118, "ai_coder_pattern_id": 166}, "scanner": "repobility-threat-engine", "correlation_key": "fp|edc579d2900afd39196d22bc7b08eb0d55e6a6c08607d48387d221d6b4391b93"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/ColumnEditorPanel.mm"}, "region": {"startLine": 72}}}]}, {"ruleId": "MINED048", "level": "none", "message": {"text": "[MINED048] Php Error Suppress: @function() suppresses errors silently. Hides real issues."}, "properties": {"repobilityId": 94733, "scanner": "repobility-threat-engine", "fingerprint": "24de952dec36079970044206ff5bc57bf05e98c4950bb48f5a6dca8ecf0da272", "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": "php-error-suppress", "owasp": null, "cwe_ids": ["CWE-755"], "languages": ["php"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348013+00:00", "triaged_in_corpus": 12, "observations_count": 849118, "ai_coder_pattern_id": 166}, "scanner": "repobility-threat-engine", "correlation_key": "fp|24de952dec36079970044206ff5bc57bf05e98c4950bb48f5a6dca8ecf0da272"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/ClipboardHistoryPanel.mm"}, "region": {"startLine": 26}}}]}, {"ruleId": "MINED077", "level": "none", "message": {"text": "[MINED077] Python Open No Context: fp = open(path) outside with-block leaks file handles."}, "properties": {"repobilityId": 94732, "scanner": "repobility-threat-engine", "fingerprint": "133c183b6be81d0c842a59a46d95c965d9c46d5b475744f295579c393f809282", "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": "python-open-no-context", "owasp": null, "cwe_ids": ["CWE-772"], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348081+00:00", "triaged_in_corpus": 12, "observations_count": 7864, "ai_coder_pattern_id": 123}, "scanner": "repobility-threat-engine", "correlation_key": "fp|133c183b6be81d0c842a59a46d95c965d9c46d5b475744f295579c393f809282"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/scripts/Face.py"}, "region": {"startLine": 74}}}]}, {"ruleId": "COMP001", "level": "none", "message": {"text": "[COMP001] High cognitive complexity (and 18 more): Same pattern found in 18 additional files. Review if needed."}, "properties": {"repobilityId": 94730, "scanner": "repobility-threat-engine", "fingerprint": "a2a93a58b3a16dee110e3d236f6cd8ce50d0051c315185d5c626125e62496cb2", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 18 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"scanner": "repobility-threat-engine", "function": "printCPPFile", "breakdown": {"if": 13, "for": 1, "else": 4, "ternary": 1, "nested_bonus": 56}, "aggregated": true, "complexity": 75, "correlation_key": "fp|a2a93a58b3a16dee110e3d236f6cd8ce50d0051c315185d5c626125e62496cb2", "aggregated_count": 18}}}, {"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": 94726, "scanner": "repobility-threat-engine", "fingerprint": "2bcf129e4d71e47922f32d937702acd482243fcbe7267d116afd757d5cbcd5d2", "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|2bcf129e4d71e47922f32d937702acd482243fcbe7267d116afd757d5cbcd5d2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/scripts/HFacer.py"}, "region": {"startLine": 53}}}]}, {"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": 94725, "scanner": "repobility-threat-engine", "fingerprint": "e92370a0141f0b73216b1015c73184c7759828f646a375445da639572e2da390", "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|e92370a0141f0b73216b1015c73184c7759828f646a375445da639572e2da390"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/qt/ScintillaEdit/WidgetGen.py"}, "region": {"startLine": 249}}}]}, {"ruleId": "MINED042", "level": "none", "message": {"text": "[MINED042] Cpp New Without Delete (and 9 more): Same pattern found in 9 additional files. Review if needed."}, "properties": {"repobilityId": 94718, "scanner": "repobility-threat-engine", "fingerprint": "68351c44b169cdd64f82fd65088228c77c27ac578d4c722c65f720b4cc0d6630", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 9 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "cpp-new-without-delete", "owasp": null, "cwe_ids": ["CWE-401"], "languages": ["cpp"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347996+00:00", "triaged_in_corpus": 12, "observations_count": 4658256, "ai_coder_pattern_id": 134}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|68351c44b169cdd64f82fd65088228c77c27ac578d4c722c65f720b4cc0d6630", "aggregated_count": 9}}}, {"ruleId": "MINED042", "level": "none", "message": {"text": "[MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr \u2014 memory leak risk."}, "properties": {"repobilityId": 94717, "scanner": "repobility-threat-engine", "fingerprint": "265962061c9d4e4db58b373f31606e3e3cea0a35e87dbf71a5fc724a8b3344dc", "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": "cpp-new-without-delete", "owasp": null, "cwe_ids": ["CWE-401"], "languages": ["cpp"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347996+00:00", "triaged_in_corpus": 12, "observations_count": 4658256, "ai_coder_pattern_id": 134}, "scanner": "repobility-threat-engine", "correlation_key": "fp|265962061c9d4e4db58b373f31606e3e3cea0a35e87dbf71a5fc724a8b3344dc"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/lexlib/LexerModule.cxx"}, "region": {"startLine": 98}}}]}, {"ruleId": "MINED042", "level": "none", "message": {"text": "[MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr \u2014 memory leak risk."}, "properties": {"repobilityId": 94716, "scanner": "repobility-threat-engine", "fingerprint": "70ade557fe6afd7c6d725fc7e5a90ba5a5a9cf3cd0c4eda9fb4a62587aad56ea", "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": "cpp-new-without-delete", "owasp": null, "cwe_ids": ["CWE-401"], "languages": ["cpp"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347996+00:00", "triaged_in_corpus": 12, "observations_count": 4658256, "ai_coder_pattern_id": 134}, "scanner": "repobility-threat-engine", "correlation_key": "fp|70ade557fe6afd7c6d725fc7e5a90ba5a5a9cf3cd0c4eda9fb4a62587aad56ea"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/lexers/LexMake.cxx"}, "region": {"startLine": 101}}}]}, {"ruleId": "MINED042", "level": "none", "message": {"text": "[MINED042] Cpp New Without Delete: C++ raw new without RAII / unique_ptr \u2014 memory leak risk."}, "properties": {"repobilityId": 94715, "scanner": "repobility-threat-engine", "fingerprint": "0527b3aa2065f0887f21745a8ff296346de9297ab1230ef24f8e02de751c4895", "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": "cpp-new-without-delete", "owasp": null, "cwe_ids": ["CWE-401"], "languages": ["cpp"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347996+00:00", "triaged_in_corpus": 12, "observations_count": 4658256, "ai_coder_pattern_id": 134}, "scanner": "repobility-threat-engine", "correlation_key": "fp|0527b3aa2065f0887f21745a8ff296346de9297ab1230ef24f8e02de751c4895"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/examples/SimpleLexer/SimpleLexer.cxx"}, "region": {"startLine": 75}}}]}, {"ruleId": "MINED022", "level": "none", "message": {"text": "[MINED022] C Strcpy (and 2 more): Same pattern found in 2 additional files. Review if needed."}, "properties": {"repobilityId": 94714, "scanner": "repobility-threat-engine", "fingerprint": "9143f7f6b7d486efb62b6069c281049a17e4c9d5a06828d478262d6151032363", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 2 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "c-strcpy", "owasp": null, "cwe_ids": ["CWE-120"], "languages": ["c", "cpp"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347949+00:00", "triaged_in_corpus": 20, "observations_count": 39114, "ai_coder_pattern_id": 130}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|9143f7f6b7d486efb62b6069c281049a17e4c9d5a06828d478262d6151032363", "aggregated_count": 2}}}, {"ruleId": "MINED115", "level": "error", "message": {"text": "[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/upload-artifact@v4` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate."}, "properties": {"repobilityId": 94779, "scanner": "repobility-supply-chain", "fingerprint": "86b44b72a9e88277cc4bf64cda985d6ae24da83deb6ada6a8f17eb7c50bdc28f", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-mutable-ref", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|86b44b72a9e88277cc4bf64cda985d6ae24da83deb6ada6a8f17eb7c50bdc28f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/.github/workflows/build-check-macos.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout@v4` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate."}, "properties": {"repobilityId": 94778, "scanner": "repobility-supply-chain", "fingerprint": "b0600adac246c3d9955b971bb95443d5805680aa09b0e5a0eedec8fc110819e8", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-mutable-ref", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|b0600adac246c3d9955b971bb95443d5805680aa09b0e5a0eedec8fc110819e8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/.github/workflows/build-check-macos.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/upload-artifact@v4` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate."}, "properties": {"repobilityId": 94777, "scanner": "repobility-supply-chain", "fingerprint": "2b37ccef7aededdd1f82697f21a13910e54279085333112a1d3ebfc6efbe38be", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-mutable-ref", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|2b37ccef7aededdd1f82697f21a13910e54279085333112a1d3ebfc6efbe38be"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/.github/workflows/build-check.yml"}, "region": {"startLine": 24}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout@v4` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate."}, "properties": {"repobilityId": 94776, "scanner": "repobility-supply-chain", "fingerprint": "dbbb14422cf8882e9a1b7eb38a781be82ea06dedd55de1ca8aed5f8e96faf240", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-mutable-ref", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|dbbb14422cf8882e9a1b7eb38a781be82ea06dedd55de1ca8aed5f8e96faf240"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/.github/workflows/build-check.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/upload-artifact@v4` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate."}, "properties": {"repobilityId": 94775, "scanner": "repobility-supply-chain", "fingerprint": "ecfec2fe36d55b38a250689ae069d2cd23907c189414bb950e7de94010a96038", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-mutable-ref", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|ecfec2fe36d55b38a250689ae069d2cd23907c189414bb950e7de94010a96038"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/.github/workflows/build-check-win32.yml"}, "region": {"startLine": 42}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "[MINED115] Action `ilammy/msvc-dev-cmd` pinned to mutable ref `@v1`: `uses: ilammy/msvc-dev-cmd@v1` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate."}, "properties": {"repobilityId": 94774, "scanner": "repobility-supply-chain", "fingerprint": "137e1b7289a23bfa5c25a676bb92b7c4630ec3c8e27e1c0a1e532ad2542c0b85", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-mutable-ref", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|137e1b7289a23bfa5c25a676bb92b7c4630ec3c8e27e1c0a1e532ad2542c0b85"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/.github/workflows/build-check-win32.yml"}, "region": {"startLine": 21}}}]}, {"ruleId": "MINED115", "level": "error", "message": {"text": "[MINED115] Action `actions/checkout` pinned to mutable ref `@v4`: `uses: actions/checkout@v4` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/changed-files compromise (2025) instantly affect ~23K repos. Pin to a 40-char commit SHA + lock with Dependabot or renovate."}, "properties": {"repobilityId": 94773, "scanner": "repobility-supply-chain", "fingerprint": "ae2d792a7cd5adf0c42c3db2303ba02c382e1e5332f24a6f726a87b0824c4573", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-mutable-ref", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|ae2d792a7cd5adf0c42c3db2303ba02c382e1e5332f24a6f726a87b0824c4573"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/.github/workflows/build-check-win32.yml"}, "region": {"startLine": 19}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94772, "scanner": "repobility-ast-engine", "fingerprint": "a5a6345961b6cd97a1b6ec1ff3a00aa10e6869404d883f10e59da0134b9d3008", "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|a5a6345961b6cd97a1b6ec1ff3a00aa10e6869404d883f10e59da0134b9d3008"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 39}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94771, "scanner": "repobility-ast-engine", "fingerprint": "cd62a89fffae9d4d46ef655b30574b230cadb4084e9becf96edc827b2bffafe0", "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|cd62a89fffae9d4d46ef655b30574b230cadb4084e9becf96edc827b2bffafe0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 38}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94770, "scanner": "repobility-ast-engine", "fingerprint": "c8498ca68e89a26f3ed6e441c8b23be792f2c47c183fca87fc1813f1d46cfcef", "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|c8498ca68e89a26f3ed6e441c8b23be792f2c47c183fca87fc1813f1d46cfcef"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 41}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94769, "scanner": "repobility-ast-engine", "fingerprint": "8b822c4eeb8a80e12e984b3c8e19771fed7e6623316a2152a38c4abbd9afb008", "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|8b822c4eeb8a80e12e984b3c8e19771fed7e6623316a2152a38c4abbd9afb008"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 40}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94768, "scanner": "repobility-ast-engine", "fingerprint": "4493c2beb7bda846eab4b592b2a20698995453a63530db897132034c0a6ca01e", "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|4493c2beb7bda846eab4b592b2a20698995453a63530db897132034c0a6ca01e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 37}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94767, "scanner": "repobility-ast-engine", "fingerprint": "0a7ed9a1134bbbe7f6a4df6ff68ec15455b6d1e202d12fc57fc3bd3eedde99b7", "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|0a7ed9a1134bbbe7f6a4df6ff68ec15455b6d1e202d12fc57fc3bd3eedde99b7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 36}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.assertEqual`, 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": {"repobilityId": 94766, "scanner": "repobility-ast-engine", "fingerprint": "4e40ee0859493c84ddf090fc23161089384c76b8aeb077c56b854e5f3141083d", "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|4e40ee0859493c84ddf090fc23161089384c76b8aeb077c56b854e5f3141083d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 41}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.assertEqual`, 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": {"repobilityId": 94765, "scanner": "repobility-ast-engine", "fingerprint": "4fc17e9f54a681b7825ae11c0b4740fdb2aa9e410614fc421529af39b3ccf02e", "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|4fc17e9f54a681b7825ae11c0b4740fdb2aa9e410614fc421529af39b3ccf02e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 39}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.assertEqual`, 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": {"repobilityId": 94764, "scanner": "repobility-ast-engine", "fingerprint": "20ec5f97eb3eaf8e82a17847c10e84756b45a6d311c027afff3bb58d81167815", "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|20ec5f97eb3eaf8e82a17847c10e84756b45a6d311c027afff3bb58d81167815"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 38}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testAddText` of class `TestSimple` reads `self.assertEqual`, 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": {"repobilityId": 94763, "scanner": "repobility-ast-engine", "fingerprint": "e8bf8347b7d5481bacaa760aaff998e8cfbb803cfacb452a331a0ea4f24d7969", "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|e8bf8347b7d5481bacaa760aaff998e8cfbb803cfacb452a331a0ea4f24d7969"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 37}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testLength` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94762, "scanner": "repobility-ast-engine", "fingerprint": "736faeb9d3d0b1ffd9106dfd338bd60cbf8cc2409b6941b3b790dace9fd287a1", "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|736faeb9d3d0b1ffd9106dfd338bd60cbf8cc2409b6941b3b790dace9fd287a1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 33}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testLength` of class `TestSimple` reads `self.assertEqual`, 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": {"repobilityId": 94761, "scanner": "repobility-ast-engine", "fingerprint": "ad3adfe2c7683896953bbca706337a52cd5e40aed7d0dc71d2a7582b7d5c031a", "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|ad3adfe2c7683896953bbca706337a52cd5e40aed7d0dc71d2a7582b7d5c031a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 33}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testStatus` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94760, "scanner": "repobility-ast-engine", "fingerprint": "d57a82e7ecf06d6d92a03572538209ace192d22828e9079e515e7376176364a2", "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|d57a82e7ecf06d6d92a03572538209ace192d22828e9079e515e7376176364a2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 30}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testStatus` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94759, "scanner": "repobility-ast-engine", "fingerprint": "1995ed3c9c427f1dbeb6c8b81e06ab5977544ad52c0f5c92f737a0a7a889313b", "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|1995ed3c9c427f1dbeb6c8b81e06ab5977544ad52c0f5c92f737a0a7a889313b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testStatus` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94758, "scanner": "repobility-ast-engine", "fingerprint": "4cf51f2900ecbb6e223963b16e8c67e9ddd3bdf8abbc8040503df34e27ce220d", "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|4cf51f2900ecbb6e223963b16e8c67e9ddd3bdf8abbc8040503df34e27ce220d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 26}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testStatus` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94757, "scanner": "repobility-ast-engine", "fingerprint": "50e699ba5aa52379402c6602abacdb7ec948e443d72ace453841e44597499f9f", "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|50e699ba5aa52379402c6602abacdb7ec948e443d72ace453841e44597499f9f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 29}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `testStatus` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94756, "scanner": "repobility-ast-engine", "fingerprint": "34ebdc182ec42e4ac01fe2e343efa27a9802c6a3583aa21a27dedf32fe010bc5", "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|34ebdc182ec42e4ac01fe2e343efa27a9802c6a3583aa21a27dedf32fe010bc5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 27}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testStatus` of class `TestSimple` reads `self.assertEqual`, 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": {"repobilityId": 94755, "scanner": "repobility-ast-engine", "fingerprint": "0cde6f98d57fd33dcf2445977044c6e234b3381af2184412e7c10919dfcc5ee7", "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|0cde6f98d57fd33dcf2445977044c6e234b3381af2184412e7c10919dfcc5ee7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 30}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testStatus` of class `TestSimple` reads `self.assertEqual`, 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": {"repobilityId": 94754, "scanner": "repobility-ast-engine", "fingerprint": "39bedce2984581ab99fe485f05cde607b01a40062b7d42732dd9e3df4845ed97", "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|39bedce2984581ab99fe485f05cde607b01a40062b7d42732dd9e3df4845ed97"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testStatus` of class `TestSimple` reads `self.assertEqual`, 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": {"repobilityId": 94753, "scanner": "repobility-ast-engine", "fingerprint": "bb65c3d249f0e9bfd216d52710cd6a6ccec666c5a854b6a0f3cef36219dc6163", "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|bb65c3d249f0e9bfd216d52710cd6a6ccec666c5a854b6a0f3cef36219dc6163"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 26}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `setUp` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94752, "scanner": "repobility-ast-engine", "fingerprint": "947b1297512480e9593a762464a12d520a8e9934a06ab26c0e3f02e1da134840", "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|947b1297512480e9593a762464a12d520a8e9934a06ab26c0e3f02e1da134840"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 23}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `setUp` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94751, "scanner": "repobility-ast-engine", "fingerprint": "6cdc86d39bdb8887b561334ec022b38e0bb1ea7fbdc987c6213f5f5768157b79", "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|6cdc86d39bdb8887b561334ec022b38e0bb1ea7fbdc987c6213f5f5768157b79"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 22}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.xite` used but never assigned in __init__: Method `setUp` of class `TestSimple` reads `self.xite`, 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": {"repobilityId": 94750, "scanner": "repobility-ast-engine", "fingerprint": "302cee9e330bfcc1b24d9369a14c1d4ccc7e8bccb5c9a19e82c8eb14e8d40759", "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|302cee9e330bfcc1b24d9369a14c1d4ccc7e8bccb5c9a19e82c8eb14e8d40759"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 21}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.ed` used but never assigned in __init__: Method `setUp` of class `TestSimple` reads `self.ed`, 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": {"repobilityId": 94749, "scanner": "repobility-ast-engine", "fingerprint": "0af96d24483c7e71bdcc56db3bc05efeb6c9770d5e975b412c2f835310684a0c", "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|0af96d24483c7e71bdcc56db3bc05efeb6c9770d5e975b412c2f835310684a0c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 21}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.xite` used but never assigned in __init__: Method `setUp` of class `TestSimple` reads `self.xite`, 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": {"repobilityId": 94748, "scanner": "repobility-ast-engine", "fingerprint": "b2ad93c9dcf80795bf5cf66f5f4c3b7aac457b3eb64cb670779ae91078554d04", "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|b2ad93c9dcf80795bf5cf66f5f4c3b7aac457b3eb64cb670779ae91078554d04"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/test/simpleTests.py"}, "region": {"startLine": 20}}}]}, {"ruleId": "COMP001", "level": "error", "message": {"text": "[COMP001] High cognitive complexity: Function `main` has cognitive complexity 27 (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: elif=3, except=2, for=4, if=5, nested_bonus=13."}, "properties": {"repobilityId": 94728, "scanner": "repobility-threat-engine", "fingerprint": "f6fad7a2725d754a4b1f98a53114ab5ce068a65711c167ab8233409b856da8a5", "category": "quality", "severity": "high", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 27 (severity threshold for high: 25+).", "evidence": {"scanner": "repobility-threat-engine", "function": "main", "breakdown": {"if": 5, "for": 4, "elif": 3, "except": 2, "nested_bonus": 13}, "complexity": 27, "correlation_key": "fp|f6fad7a2725d754a4b1f98a53114ab5ce068a65711c167ab8233409b856da8a5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/qt/ScintillaEdit/WidgetGen.py"}, "region": {"startLine": 205}}}]}, {"ruleId": "COMP001", "level": "error", "message": {"text": "[COMP001] High cognitive complexity: Function `printCPPFile` has cognitive complexity 75 (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=4, for=1, if=13, nested_bonus=56, ternary=1."}, "properties": {"repobilityId": 94727, "scanner": "repobility-threat-engine", "fingerprint": "bc699dbf83ba2edae39e55573be6664c93ec9f430f29325d8991203f440e786e", "category": "quality", "severity": "high", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 75 (severity threshold for high: 25+).", "evidence": {"scanner": "repobility-threat-engine", "function": "printCPPFile", "breakdown": {"if": 13, "for": 1, "else": 4, "ternary": 1, "nested_bonus": 56}, "complexity": 75, "correlation_key": "fp|bc699dbf83ba2edae39e55573be6664c93ec9f430f29325d8991203f440e786e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/qt/ScintillaEdit/WidgetGen.py"}, "region": {"startLine": 124}}}]}, {"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": 94724, "scanner": "repobility-threat-engine", "fingerprint": "9704d56059867a7908d76aef44339b16b1a1bdfd8218eb1df2f2b75b67d9aae5", "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|9704d56059867a7908d76aef44339b16b1a1bdfd8218eb1df2f2b75b67d9aae5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/scripts/HFacer.py"}, "region": {"startLine": 52}}}]}, {"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": 94723, "scanner": "repobility-threat-engine", "fingerprint": "11dba2141a4d2f943486f62d2346cd91c3088afd3bcdea92f53fe40fcc8bd671", "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|11dba2141a4d2f943486f62d2346cd91c3088afd3bcdea92f53fe40fcc8bd671"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/scripts/CheckMentioned.py"}, "region": {"startLine": 190}}}]}, {"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": 94722, "scanner": "repobility-threat-engine", "fingerprint": "fb6cb268f5cde715a6b8da99de293cc07d5fa40a3492329625a7cc8186ad11b3", "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|fb6cb268f5cde715a6b8da99de293cc07d5fa40a3492329625a7cc8186ad11b3"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/qt/ScintillaEdit/WidgetGen.py"}, "region": {"startLine": 248}}}]}, {"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": 94721, "scanner": "repobility-threat-engine", "fingerprint": "3727ec35ae8eb3276831b0fae17e18b054d951bb7192a2504f632134e5cf4a3b", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "values.Delete(partition);", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|3727ec35ae8eb3276831b0fae17e18b054d951bb7192a2504f632134e5cf4a3b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/src/SparseVector.h"}, "region": {"startLine": 69}}}]}, {"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": 94720, "scanner": "repobility-threat-engine", "fingerprint": "841378534b3b9ca0d03356ed877463e1595fb06b5881c3081a2bca8d919aabfa", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "body.Delete(partition);", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|841378534b3b9ca0d03356ed877463e1595fb06b5881c3081a2bca8d919aabfa"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scintilla/src/Partitioning.h"}, "region": {"startLine": 159}}}]}, {"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": 94719, "scanner": "repobility-threat-engine", "fingerprint": "26469e57e47d5e4a2b73b0d5a957ba0d482c37503d54bd03e305ef7ca98c2082", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "imageOut.save(\"../doc/LexillaLogo.png\", \"png\")", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|26469e57e47d5e4a2b73b0d5a957ba0d482c37503d54bd03e305ef7ca98c2082"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/scripts/LexillaLogo.py"}, "region": {"startLine": 68}}}]}, {"ruleId": "MINED022", "level": "error", "message": {"text": "[MINED022] C Strcpy: strcpy/strcat dont bounds-check; use strncpy or snprintf."}, "properties": {"repobilityId": 94713, "scanner": "repobility-threat-engine", "fingerprint": "d691dab34661900ef29cb22ac82793df0caeb02ed741f5620274d799c97d23b0", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "c-strcpy", "owasp": null, "cwe_ids": ["CWE-120"], "languages": ["c", "cpp"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347949+00:00", "triaged_in_corpus": 20, "observations_count": 39114, "ai_coder_pattern_id": 130}, "scanner": "repobility-threat-engine", "correlation_key": "fp|d691dab34661900ef29cb22ac82793df0caeb02ed741f5620274d799c97d23b0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/lexers/LexDMIS.cxx"}, "region": {"startLine": 133}}}]}, {"ruleId": "MINED022", "level": "error", "message": {"text": "[MINED022] C Strcpy: strcpy/strcat dont bounds-check; use strncpy or snprintf."}, "properties": {"repobilityId": 94712, "scanner": "repobility-threat-engine", "fingerprint": "1c68f00a26d8da7357e1c668aa1e26b36d060d94389679f034fad509dedeca97", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "c-strcpy", "owasp": null, "cwe_ids": ["CWE-120"], "languages": ["c", "cpp"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347949+00:00", "triaged_in_corpus": 20, "observations_count": 39114, "ai_coder_pattern_id": 130}, "scanner": "repobility-threat-engine", "correlation_key": "fp|1c68f00a26d8da7357e1c668aa1e26b36d060d94389679f034fad509dedeca97"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/lexers/LexDMAP.cxx"}, "region": {"startLine": 203}}}]}, {"ruleId": "MINED022", "level": "error", "message": {"text": "[MINED022] C Strcpy: strcpy/strcat dont bounds-check; use strncpy or snprintf."}, "properties": {"repobilityId": 94711, "scanner": "repobility-threat-engine", "fingerprint": "5dffd0113db8c848297ae47a87e6e6bbd68b628989008efad6acfada879d9205", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"mined": true, "mining": {"slug": "c-strcpy", "owasp": null, "cwe_ids": ["CWE-120"], "languages": ["c", "cpp"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347949+00:00", "triaged_in_corpus": 20, "observations_count": 39114, "ai_coder_pattern_id": 130}, "scanner": "repobility-threat-engine", "correlation_key": "fp|5dffd0113db8c848297ae47a87e6e6bbd68b628989008efad6acfada879d9205"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lexilla/examples/SimpleLexer/SimpleLexer.cxx"}, "region": {"startLine": 102}}}]}]}]}