{"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": "MINED111", "name": "[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or ", "shortDescription": {"text": "[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that runs code without re-raising or logging the exception. Hides real failures and makes bugs hard to diagnose."}, "fullDescription": {"text": "Either narrow the exception type, log the exception with `logger.exception(...)`, or re-raise after handling."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED109", "name": "[MINED109] Mutable default argument in `make_mock_affected_files` (list): `def make_mock_affected_files(... = []/{}/set(", "shortDescription": {"text": "[MINED109] Mutable default argument in `make_mock_affected_files` (list): `def make_mock_affected_files(... = []/{}/set())` \u2014 Python's default value is constructed ONCE at function definition time and shared across all calls. Mutating it in"}, "fullDescription": {"text": "Use None as the default and create the collection inside the function: `def make_mock_affected_files(x=None): x = x or []`"}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "WEB003", "name": "Public web service has no security.txt", "shortDescription": {"text": "Public web service has no security.txt"}, "fullDescription": {"text": "Add /.well-known/security.txt with Contact, Expires, Canonical, Preferred-Languages, and Policy fields. Keep the contact endpoint monitored."}, "properties": {"scanner": "repobility-web-presence", "category": "quality", "severity": "medium", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "WEB015", "name": "Public web app has no Content Security Policy", "shortDescription": {"text": "Public web app has no Content Security Policy"}, "fullDescription": {"text": "Add a Content-Security-Policy header through the web framework or hosting config. For static apps, add a CSP meta tag that restricts default-src, script-src, connect-src, img-src, and frame-ancestors."}, "properties": {"scanner": "repobility-web-presence", "category": "quality", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "AUC001", "name": "[AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks but does not define .repobilit", "shortDescription": {"text": "[AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks but does not define .repobility/access.yml or equivalent authorization documentation."}, "fullDescription": {"text": "Add .repobility/access.yml mapping routes to anonymous, authenticated, owner, admin, and super_admin. Keep business-specific rules in the repo so CI can enforce them."}, "properties": {"scanner": "repobility-access-control", "category": "auth", "severity": "medium", "confidence": 0.92, "cwe": "", "owasp": ""}}, {"id": "CFG006", "name": "[CFG006] Missing .gitignore: No .gitignore file. Risk of committing secrets and build artifacts.", "shortDescription": {"text": "[CFG006] Missing .gitignore: No .gitignore file. Risk of committing secrets and build artifacts."}, "fullDescription": {"text": "Add a .gitignore appropriate for your language/framework."}, "properties": {"scanner": "repobility-threat-engine", "category": "practices", "severity": "medium", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "SEC045", "name": "[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data \u2014 even admin-stored data \u2014 is a latera", "shortDescription": {"text": "[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data \u2014 even admin-stored data \u2014 is a lateral-movement vector after any one credential compromise. Sandboxes (__builtins__ cleared) are escapable: attackers use obj"}, "fullDescription": {"text": "For literal data structures: use ast.literal_eval(text) \u2014 only parses literals, raises on code.\nFor formula evaluation: use asteval or simpleeval (purpose-built sandboxes with allow-lists).\nFor Odoo: use odoo.tools.safe_eval(expr, locals_dict, mode='exec').\nIf you genuinely need to execute admin-stored code: require explicit super-admin permission AND log every execution with a stack trace."}, "properties": {"scanner": "repobility-threat-engine", "category": "injection", "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 15 (SonarSource scale). Cognitive complexi", "shortDescription": {"text": "[COMP001] High cognitive complexity: Function `main` has cognitive complexity 15 (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 15."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "medium", "confidence": 0.95, "cwe": "", "owasp": ""}}, {"id": "WEB011", "name": "Public web app has no humans.txt", "shortDescription": {"text": "Public web app has no humans.txt"}, "fullDescription": {"text": "Add humans.txt with team ownership, contact URL, key documentation links, and the last-updated date."}, "properties": {"scanner": "repobility-web-presence", "category": "quality", "severity": "low", "confidence": 0.5, "cwe": "", "owasp": ""}}, {"id": "WEB008", "name": "Public docs site has no llms.txt", "shortDescription": {"text": "Public docs site has no llms.txt"}, "fullDescription": {"text": "Add llms.txt with the product summary, canonical docs, API endpoints, security guidance, and preferred CLI workflow for AI agents."}, "properties": {"scanner": "repobility-web-presence", "category": "quality", "severity": "low", "confidence": 0.64, "cwe": "", "owasp": ""}}, {"id": "WEB002", "name": "Public web app has no sitemap", "shortDescription": {"text": "Public web app has no sitemap"}, "fullDescription": {"text": "Add sitemap.xml, a sitemap index, or a framework-native sitemap route and reference it from robots.txt."}, "properties": {"scanner": "repobility-web-presence", "category": "quality", "severity": "low", "confidence": 0.72, "cwe": "", "owasp": ""}}, {"id": "WEB001", "name": "Public web app has no robots.txt", "shortDescription": {"text": "Public web app has no robots.txt"}, "fullDescription": {"text": "Add robots.txt at the web root or a framework-native robots route. Include an explicit Sitemap directive and disallow only private paths."}, "properties": {"scanner": "repobility-web-presence", "category": "quality", "severity": "low", "confidence": 0.74, "cwe": "", "owasp": ""}}, {"id": "AUC005", "name": "[AUC005] No authorization-focused tests detected: No test files with common authorization, ownership, 403, admin, or sup", "shortDescription": {"text": "[AUC005] No authorization-focused tests detected: No test files with common authorization, ownership, 403, admin, or super_admin assertions were found."}, "fullDescription": {"text": "Add regression tests for anonymous denial, cross-user object denial, admin role limits, and super_admin-only behavior."}, "properties": {"scanner": "repobility-access-control", "category": "auth", "severity": "low", "confidence": 0.76, "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": "AIC007", "name": "Generated build artifact directory is present at repository root", "shortDescription": {"text": "Generated build artifact directory is present at repository root"}, "fullDescription": {"text": "Remove generated output from version control, add it to .gitignore and .dockerignore where relevant, and regenerate it in CI or release jobs."}, "properties": {"scanner": "repobility-ai-code-hygiene", "category": "quality", "severity": "low", "confidence": 0.7, "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": "MINED021", "name": "[MINED021] Path Traversal Os Join (and 2 more): Same pattern found in 2 additional files. Review if needed.", "shortDescription": {"text": "[MINED021] Path Traversal Os Join (and 2 more): Same pattern found in 2 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-22 / A01:2021 for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "SEC029", "name": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input (and 9 more): Same pattern found in 9 additi", "shortDescription": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input (and 9 more): Same pattern found in 9 additional files. Review if needed."}, "fullDescription": {"text": "Validate the URL against an allowlist BEFORE fetching:\n  ALLOWED = {'images.example.com', 'cdn.example.com'}\n  host = urlparse(url).hostname\n  if host not in ALLOWED: abort(400)\nOr use a server-side proxy (Imgproxy / serve-files-only-from-S3) that isolates outbound network access from the request handler.\nBlock private CIDRs explicitly: 10/8, 172.16/12, 192.168/16, 169.254/16."}, "properties": {"scanner": "repobility-threat-engine", "category": "ssrf", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED062", "name": "[MINED062] Python Dataclass No Fields: @dataclass over an empty class \u2014 unfinished model.", "shortDescription": {"text": "[MINED062] Python Dataclass No Fields: @dataclass over an empty class \u2014 unfinished model."}, "fullDescription": {"text": "Review and fix per the pattern semantics."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "SEC013", "name": "[SEC013] Path Traversal \u2014 User Input in File Path (and 3 more): Same pattern found in 3 additional files. Review if need", "shortDescription": {"text": "[SEC013] Path Traversal \u2014 User Input in File Path (and 3 more): Same pattern found in 3 additional files. Review if needed."}, "fullDescription": {"text": "Use os.path.realpath() and verify the path starts with your expected base directory. Use secure_filename() for uploads."}, "properties": {"scanner": "repobility-threat-engine", "category": "path_traversal", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "SEC103", "name": "[SEC103] LDAP injection \u2014 non-constant search filter (and 1 more): Same pattern found in 1 additional files. Review if n", "shortDescription": {"text": "[SEC103] LDAP injection \u2014 non-constant search filter (and 1 more): Same pattern found in 1 additional files. Review if needed."}, "fullDescription": {"text": "Escape with javax.naming.ldap.Rdn.escapeValue or equivalent. For python-ldap, use ldap.filter.escape_filter_chars. Better: use parameterized search APIs (Spring LdapTemplate filter encoders)."}, "properties": {"scanner": "repobility-threat-engine", "category": "injection", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED050", "name": "[MINED050] Stub Only Function (and 1 more): Same pattern found in 1 additional files. Review if needed.", "shortDescription": {"text": "[MINED050] Stub Only Function (and 1 more): Same pattern found in 1 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": "MINED043", "name": "[MINED043] Http Not Https (and 98 more): Same pattern found in 98 additional files. Review if needed.", "shortDescription": {"text": "[MINED043] Http Not Https (and 98 more): Same pattern found in 98 additional files. Review if needed."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-319 / A02:2021 for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "SEC114", "name": "[SEC114] path.join / Path() on user-controlled segment without containment check (and 39 more): Same pattern found in 39", "shortDescription": {"text": "[SEC114] path.join / Path() on user-controlled segment without containment check (and 39 more): Same pattern found in 39 additional files. Review if needed."}, "fullDescription": {"text": "After joining, re-check containment: `if !strings.HasPrefix(filepath.Clean(joined), filepath.Clean(baseDir)+string(os.PathSeparator)) { error }`. In Node: `path.resolve(base, x); if (!resolved.startsWith(base + path.sep)) throw`."}, "properties": {"scanner": "repobility-threat-engine", "category": "path_traversal", "severity": "info", "confidence": 0.2, "cwe": "", "owasp": ""}}, {"id": "MINED115", "name": "[MINED115] Action `superbrothers/close-pull-request` pinned to mutable ref `@v3`: `uses: superbrothers/close-pull-reques", "shortDescription": {"text": "[MINED115] Action `superbrothers/close-pull-request` pinned to mutable ref `@v3`: `uses: superbrothers/close-pull-request@v3` resolves at workflow-run time. Tags and branches can be re-pushed by the action owner; that made the tj-actions/ch"}, "fullDescription": {"text": "Replace with: `uses: superbrothers/close-pull-request@<40-char-sha>  # v3` and let Dependabot bump it on a scheduled cadence."}, "properties": {"scanner": "repobility-supply-chain", "category": "dependency", "severity": "high", "confidence": 0.9, "cwe": "", "owasp": ""}}, {"id": "MINED112", "name": "[MINED112] FastAPI PATCH shutil.which has no auth: Handler `test_get_depot_tools_path_is_cached` is registered with rout", "shortDescription": {"text": "[MINED112] FastAPI PATCH shutil.which has no auth: Handler `test_get_depot_tools_path_is_cached` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "fullDescription": {"text": "Add Depends(get_current_user) or Security(...) to the handler signature. If the route is truly public, document it with a code comment so the rule knows it's intentional."}, "properties": {"scanner": "repobility-route-auth", "category": "quality", "severity": "high", "confidence": 0.8, "cwe": "", "owasp": ""}}, {"id": "MINED106", "name": "[MINED106] Phantom test coverage: test_no_fatal_exception: Test function `test_no_fatal_exception` runs code but contain", "shortDescription": {"text": "[MINED106] Phantom test coverage: test_no_fatal_exception: Test function `test_no_fatal_exception` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "fullDescription": {"text": "Add an explicit assertion that captures the test's intent, or remove the test."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED108", "name": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testSingletonInArbitraryHeader` of class `CheckS", "shortDescription": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testSingletonInArbitraryHeader` of class `CheckSingletonInHeadersTest` reads `self.assertIn`, but no assignment to it exists in __init__ (and no class-level fallback). "}, "fullDescription": {"text": "Initialize `self.assertIn = <default>` in __init__, or add a class-level default."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED023", "name": "[MINED023] Xxe Sax Default: xml.etree.ElementTree.parse / xml.sax / lxml without disable-entities \u2014 XXE attack.", "shortDescription": {"text": "[MINED023] Xxe Sax Default: xml.etree.ElementTree.parse / xml.sax / lxml without disable-entities \u2014 XXE attack."}, "fullDescription": {"text": "Review and fix per the pattern semantics. See CWE-611 / A05:2021 for context."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "high", "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": "SEC085", "name": "[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived input enables command injection. ", "shortDescription": {"text": "[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived input enables command injection. Ported from eslint-plugin-security detect-child-process (Apache-2.0)."}, "fullDescription": {"text": "Use execFile / spawn with separate args array; never pass shell strings."}, "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": "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": "MINED107", "name": "[MINED107] Missing import: `warnings` used but not imported: The file uses `warnings.something(...)` but never imports `", "shortDescription": {"text": "[MINED107] Missing import: `warnings` used but not imported: The file uses `warnings.something(...)` but never imports `warnings`. This raises NameError at runtime the first time the line executes."}, "fullDescription": {"text": "Add `import warnings` at the top of the file."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "critical", "confidence": 1.0, "cwe": "", "owasp": ""}}]}}, "automationDetails": {"id": "repobility/1403"}, "properties": {"repository": "chromium/chromium", "repoUrl": "https://github.com/chromium/chromium", "branch": "main"}, "results": [{"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 144000, "scanner": "repobility-ast-engine", "fingerprint": "8d529f4a9d97eb53adafe054da954194230f46a7a9cd5730e917980f481d48da", "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|8d529f4a9d97eb53adafe054da954194230f46a7a9cd5730e917980f481d48da"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome/browser/resources/glic/PRESUBMIT.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "MINED109", "level": "warning", "message": {"text": "[MINED109] Mutable default argument in `make_mock_affected_files` (list): `def make_mock_affected_files(... = []/{}/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": 143999, "scanner": "repobility-ast-engine", "fingerprint": "00d38d6c9b47e06303e1a4dbb22fd742f606d8b06cdd2cb3c0506b72148a42c9", "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|00d38d6c9b47e06303e1a4dbb22fd742f606d8b06cdd2cb3c0506b72148a42c9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome/android/webapk/PRESUBMIT_test.py"}, "region": {"startLine": 46}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143998, "scanner": "repobility-ast-engine", "fingerprint": "3ecf4261a4331a8ca8aa8fa1c0b9b6b4bd829f5822f81669e66a2a9d6e0efe9c", "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|3ecf4261a4331a8ca8aa8fa1c0b9b6b4bd829f5822f81669e66a2a9d6e0efe9c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome/browser/PRESUBMIT.py"}, "region": {"startLine": 75}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143997, "scanner": "repobility-ast-engine", "fingerprint": "3297b11965ca2b87f4d5972f93f9e6f625f2ee6edfa4ee755008d88dbea6c0fb", "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|3297b11965ca2b87f4d5972f93f9e6f625f2ee6edfa4ee755008d88dbea6c0fb"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/metrics/actions/PRESUBMIT.py"}, "region": {"startLine": 210}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143996, "scanner": "repobility-ast-engine", "fingerprint": "f2434d4d9c5cb8006b63c816a55078d639d12c28d6eba07a2ad3fea735ac5328", "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|f2434d4d9c5cb8006b63c816a55078d639d12c28d6eba07a2ad3fea735ac5328"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/licenses/licenses.py"}, "region": {"startLine": 1185}}}]}, {"ruleId": "MINED109", "level": "warning", "message": {"text": "[MINED109] Mutable default argument in `ParseDir` (list): `def ParseDir(... = []/{}/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": 143995, "scanner": "repobility-ast-engine", "fingerprint": "3d7d8aa028e325ae071e2155f572aacd61990e7e09dc8f3e905e5799d9e3c455", "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|3d7d8aa028e325ae071e2155f572aacd61990e7e09dc8f3e905e5799d9e3c455"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/licenses/licenses.py"}, "region": {"startLine": 672}}}]}, {"ruleId": "MINED109", "level": "warning", "message": {"text": "[MINED109] Mutable default argument in `ParseMetadataFile` (list): `def ParseMetadataFile(... = []/{}/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": 143994, "scanner": "repobility-ast-engine", "fingerprint": "313ed991259ab76d357ca2c596909e0e24eb3a91121e0a3cfd4f4b1c344f6f1c", "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|313ed991259ab76d357ca2c596909e0e24eb3a91121e0a3cfd4f4b1c344f6f1c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/licenses/licenses.py"}, "region": {"startLine": 523}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143993, "scanner": "repobility-ast-engine", "fingerprint": "2ce8d18c6722536b1a0331ce12db1dc0d6390ac910b365aadd28aaf5d6945853", "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|2ce8d18c6722536b1a0331ce12db1dc0d6390ac910b365aadd28aaf5d6945853"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "content/test/data/accessibility/PRESUBMIT.py"}, "region": {"startLine": 469}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143992, "scanner": "repobility-ast-engine", "fingerprint": "595bf8a520a6c281630a08a11af56e2777c05b7b31bfb22faa0865947aaa408f", "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|595bf8a520a6c281630a08a11af56e2777c05b7b31bfb22faa0865947aaa408f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "content/test/data/accessibility/PRESUBMIT.py"}, "region": {"startLine": 483}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143991, "scanner": "repobility-ast-engine", "fingerprint": "2f9a4cb55259a699e5eff0eb9664dadf7e6399763344984ea3ce5215339e33e8", "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|2f9a4cb55259a699e5eff0eb9664dadf7e6399763344984ea3ce5215339e33e8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "content/test/data/accessibility/PRESUBMIT.py"}, "region": {"startLine": 515}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143989, "scanner": "repobility-ast-engine", "fingerprint": "fb39cc53fcaf8ae68f739f3fc7ab2a2ce715a2157c6394b871bcfadc01053026", "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|fb39cc53fcaf8ae68f739f3fc7ab2a2ce715a2157c6394b871bcfadc01053026"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "content/browser/PRESUBMIT.py"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143988, "scanner": "repobility-ast-engine", "fingerprint": "7a07bddb86d6511e2f0aeff409ac738b88297a095e5adb94716a1905f1790141", "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|7a07bddb86d6511e2f0aeff409ac738b88297a095e5adb94716a1905f1790141"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/chromium-docs/scripts/chromium_docs.py"}, "region": {"startLine": 225}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143987, "scanner": "repobility-ast-engine", "fingerprint": "6be85273d46d9096f202c1d08971db34fab8bfab130162677636bd4970cd02ca", "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|6be85273d46d9096f202c1d08971db34fab8bfab130162677636bd4970cd02ca"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/prompts/projects/spanification/run.py"}, "region": {"startLine": 218}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143986, "scanner": "repobility-ast-engine", "fingerprint": "303d452f36b39a57f233eda8b5d04dd2064a41e843cfd38cdc6a78bc94dd886e", "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|303d452f36b39a57f233eda8b5d04dd2064a41e843cfd38cdc6a78bc94dd886e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/projects/code-health/histogram-cleanup/scripts/find_expired.py"}, "region": {"startLine": 47}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143985, "scanner": "repobility-ast-engine", "fingerprint": "25dc39b08708d813a9c192f529142e3437471feabbaf6090246f5995fa8c6c17", "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|25dc39b08708d813a9c192f529142e3437471feabbaf6090246f5995fa8c6c17"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/asserts/check_changes.py"}, "region": {"startLine": 106}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143984, "scanner": "repobility-ast-engine", "fingerprint": "1423421619ab08ec541aa711452ddf2ff1f31fd2f7f1dc0f2a8b5f2c7d06e67b", "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|1423421619ab08ec541aa711452ddf2ff1f31fd2f7f1dc0f2a8b5f2c7d06e67b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/results.py"}, "region": {"startLine": 125}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143983, "scanner": "repobility-ast-engine", "fingerprint": "65496735260b78bb4a7f2a9549995fb65e13735166f4297ad3399f519ce3b8c8", "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|65496735260b78bb4a7f2a9549995fb65e13735166f4297ad3399f519ce3b8c8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/workers.py"}, "region": {"startLine": 408}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143975, "scanner": "repobility-ast-engine", "fingerprint": "a40cc6f352163155712418d5daa2ff3496204a26ff65997d6d2df925ae61148c", "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|a40cc6f352163155712418d5daa2ff3496204a26ff65997d6d2df925ae61148c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/lint_promptfoo_testcases.py"}, "region": {"startLine": 162}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143974, "scanner": "repobility-ast-engine", "fingerprint": "d86e22ec841ba5627b501a2e6647be24fa43b709bb48f2cee5fadae2d1e12f0e", "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|d86e22ec841ba5627b501a2e6647be24fa43b709bb48f2cee5fadae2d1e12f0e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/gemini_provider.py"}, "region": {"startLine": 803}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143968, "scanner": "repobility-ast-engine", "fingerprint": "c4615aeca57d920ac2f686c3867af07884e3183796caa8eed0de883cc91d5e06", "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|c4615aeca57d920ac2f686c3867af07884e3183796caa8eed0de883cc91d5e06"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install.py"}, "region": {"startLine": 553}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143954, "scanner": "repobility-ast-engine", "fingerprint": "b5cc83c46cbfa0a34aaeedc974986402bb36b854aedb4af52f6549764aa8b221", "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|b5cc83c46cbfa0a34aaeedc974986402bb36b854aedb4af52f6549764aa8b221"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/browser/PRESUBMIT.py"}, "region": {"startLine": 70}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143953, "scanner": "repobility-ast-engine", "fingerprint": "2a014045947e892a91991b2f6f8c825cdbee2e7203a7406dabb6487ecf627e9d", "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|2a014045947e892a91991b2f6f8c825cdbee2e7203a7406dabb6487ecf627e9d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/guest_view/browser/PRESUBMIT.py"}, "region": {"startLine": 21}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143952, "scanner": "repobility-ast-engine", "fingerprint": "7e07bd64972ca1adc1f663c15280b9e29043ef79bad7a9f41459f69ce01960e4", "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|7e07bd64972ca1adc1f663c15280b9e29043ef79bad7a9f41459f69ce01960e4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/password_manager/content/browser/PRESUBMIT.py"}, "region": {"startLine": 21}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143951, "scanner": "repobility-ast-engine", "fingerprint": "2c7234ffe9428365196c7e14662355c2cdc9b797fa1967c542f6836aa206fa5c", "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|2c7234ffe9428365196c7e14662355c2cdc9b797fa1967c542f6836aa206fa5c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/record_replay/PRESUBMIT.py"}, "region": {"startLine": 32}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143945, "scanner": "repobility-ast-engine", "fingerprint": "d7a3578fe313a6a69f206eb472703f34ba46f5b68d97811bbe49fe97f008d6dd", "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|d7a3578fe313a6a69f206eb472703f34ba46f5b68d97811bbe49fe97f008d6dd"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ios/PRESUBMIT.py"}, "region": {"startLine": 624}}}]}, {"ruleId": "MINED109", "level": "warning", "message": {"text": "[MINED109] Mutable default argument in `_FindNamespaceInBlock` (list): `def _FindNamespaceInBlock(... = []/{}/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": 143943, "scanner": "repobility-ast-engine", "fingerprint": "ef5d9e00ad396eb304cc70340155dbbeec9b9f42d5074857315a65f0b046d6e2", "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|ef5d9e00ad396eb304cc70340155dbbeec9b9f42d5074857315a65f0b046d6e2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cc/PRESUBMIT.py"}, "region": {"startLine": 168}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143942, "scanner": "repobility-ast-engine", "fingerprint": "04c4a1d397198642bab5a510708bfc6906385748673bb4dce64c50d8c1c3ef38", "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|04c4a1d397198642bab5a510708bfc6906385748673bb4dce64c50d8c1c3ef38"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT.py"}, "region": {"startLine": 7604}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143941, "scanner": "repobility-ast-engine", "fingerprint": "cd18c93a8c8e29c1fc090b18449936c63b01c62ad40ecfba9c1815519887d432", "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|cd18c93a8c8e29c1fc090b18449936c63b01c62ad40ecfba9c1815519887d432"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT.py"}, "region": {"startLine": 7386}}}]}, {"ruleId": "MINED111", "level": "warning", "message": {"text": "[MINED111] Bare except continues silently: 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": {"repobilityId": 143940, "scanner": "repobility-ast-engine", "fingerprint": "420ba2bedb83c33728a0bc56bc813a9f7348bc3b0cc2ee9d83e3b3a1874f4516", "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|420ba2bedb83c33728a0bc56bc813a9f7348bc3b0cc2ee9d83e3b3a1874f4516"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT.py"}, "region": {"startLine": 3921}}}]}, {"ruleId": "MINED109", "level": "warning", "message": {"text": "[MINED109] Mutable default argument in `runTestWithAffectedFiles` (dict): `def runTestWithAffectedFiles(... = []/{}/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": 143937, "scanner": "repobility-ast-engine", "fingerprint": "96077f25812c4bfe17174fd0fd27df0854906155fea01ea0c2770781751a1448", "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|96077f25812c4bfe17174fd0fd27df0854906155fea01ea0c2770781751a1448"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 4739}}}]}, {"ruleId": "MINED109", "level": "warning", "message": {"text": "[MINED109] Mutable default argument in `__init__` (list): `def __init__(... = []/{}/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": 143915, "scanner": "repobility-ast-engine", "fingerprint": "2c5ef8900c01a02b09e3584b31bb2ef7f766f7ee88327510b898ec01294e34ff", "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|2c5ef8900c01a02b09e3584b31bb2ef7f766f7ee88327510b898ec01294e34ff"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test_mocks.py"}, "region": {"startLine": 216}}}]}, {"ruleId": "WEB003", "level": "warning", "message": {"text": "Public web service has no security.txt"}, "properties": {"repobilityId": 143910, "scanner": "repobility-web-presence", "fingerprint": "5cd26606c5a53c9f403ff7a92a6917c19cf440a23ce03e2b90e8c493312ef8cd", "category": "quality", "severity": "medium", "confidence": 0.78, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "Repository looks like a public web app/API but no security.txt file or route was discovered.", "evidence": {"rule_id": "WEB003", "scanner": "repobility-web-presence", "references": ["https://www.rfc-editor.org/rfc/rfc9116", "https://github.com/Lissy93/web-check"], "correlation_key": "fp|5cd26606c5a53c9f403ff7a92a6917c19cf440a23ce03e2b90e8c493312ef8cd"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".well-known/security.txt"}, "region": {"startLine": 1}}}]}, {"ruleId": "WEB015", "level": "warning", "message": {"text": "Public web app has no Content Security Policy"}, "properties": {"repobilityId": 143909, "scanner": "repobility-web-presence", "fingerprint": "7eb70cae3ff63d8ed7c31706185d32b37655333b40b58ca826d740b08fb1ad63", "category": "quality", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "Repository looks like a public web app but no CSP header, framework header config, Helmet policy, or CSP meta tag was discovered.", "evidence": {"rule_id": "WEB015", "scanner": "repobility-web-presence", "references": ["https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP", "https://github.com/Lissy93/web-check"], "correlation_key": "fp|7eb70cae3ff63d8ed7c31706185d32b37655333b40b58ca826d740b08fb1ad63"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "index.html"}, "region": {"startLine": 1}}}]}, {"ruleId": "AUC001", "level": "warning", "message": {"text": "[AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks but does not define .repobility/access.yml or equivalent authorization documentation."}, "properties": {"repobilityId": 143903, "scanner": "repobility-access-control", "fingerprint": "f1305052c3ba1e6c1cdb5dccc19e58a8168cf78b176658f32b1fc823df3e9d10", "category": "auth", "severity": "medium", "confidence": 0.92, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "Static route and framework evidence require project-owner confirmation.", "evidence": {"scanner": "repobility-access-control", "frameworks": ["Next.js"], "expected_files": [".repobility/access.yml", ".repobility/access.yaml", ".repobility/access.json", ".repobility/authorization.yml"], "correlation_key": "fp|f1305052c3ba1e6c1cdb5dccc19e58a8168cf78b176658f32b1fc823df3e9d10"}}}, {"ruleId": "CFG006", "level": "warning", "message": {"text": "[CFG006] Missing .gitignore: No .gitignore file. Risk of committing secrets and build artifacts."}, "properties": {"repobilityId": 143885, "scanner": "repobility-threat-engine", "fingerprint": "c65fc71ce58c37a0e07837c0fe294108b731c43ef16027a2f0971c757bbe9a16", "category": "practices", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "No .gitignore file found in repository root", "evidence": {"reason": "No .gitignore file found in repository root", "rule_id": "CFG006", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "repo|practices|cfg006"}}}, {"ruleId": "SEC045", "level": "warning", "message": {"text": "[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data \u2014 even admin-stored data \u2014 is a lateral-movement vector after any one credential compromise. Sandboxes (__builtins__ cleared) are escapable: attackers use object introspection (().__class__.__mro__[-1].__subclasses__()) to reach os.system. CWE-95 (eval injection)."}, "properties": {"repobilityId": 143879, "scanner": "repobility-threat-engine", "fingerprint": "7d98dd8aaa64eff28dfa8f73b79924578926eb96ce5b7cf65a759305b2109d84", "category": "injection", "severity": "medium", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "exec(", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC045", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "code|injection|token|13|sec045"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome/browser/ash/arc/PRESUBMIT.py"}, "region": {"startLine": 13}}}]}, {"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": 143860, "scanner": "repobility-threat-engine", "fingerprint": "03a9d40ddef3fb303e175ee4283ed3b054f3ea6ebf17421da68a7eaec1938026", "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|03a9d40ddef3fb303e175ee4283ed3b054f3ea6ebf17421da68a7eaec1938026"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/projects/code-health/histogram-cleanup/scripts/find_expired_in_file.py"}, "region": {"startLine": 43}}}]}, {"ruleId": "COMP001", "level": "warning", "message": {"text": "[COMP001] High cognitive complexity: Function `main` has cognitive complexity 15 (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=1, except=1, for=2, if=3, nested_bonus=6, ternary=2."}, "properties": {"repobilityId": 143852, "scanner": "repobility-threat-engine", "fingerprint": "5fd83f88f71ffbe53ba6a4043c93f133f2fe5069baa68df23e7c19f3226bd6e7", "category": "quality", "severity": "medium", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 15 (severity threshold for medium: 15+).", "evidence": {"scanner": "repobility-threat-engine", "function": "main", "breakdown": {"if": 3, "for": 2, "break": 1, "except": 1, "ternary": 2, "nested_bonus": 6}, "complexity": 15, "correlation_key": "fp|5fd83f88f71ffbe53ba6a4043c93f133f2fe5069baa68df23e7c19f3226bd6e7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/projects/code-health/histogram-cleanup/scripts/find_expired.py"}, "region": {"startLine": 51}}}]}, {"ruleId": "WEB011", "level": "note", "message": {"text": "Public web app has no humans.txt"}, "properties": {"repobilityId": 143908, "scanner": "repobility-web-presence", "fingerprint": "bdd551fbe1ab6405480e0d5755632562c2096cb9e9a6a071ef60e4c27a6873f1", "category": "quality", "severity": "low", "confidence": 0.5, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Repository looks like a public web app but no humans.txt file or route was discovered.", "evidence": {"rule_id": "WEB011", "scanner": "repobility-web-presence", "references": ["https://github.com/Lissy93/web-check"], "correlation_key": "fp|bdd551fbe1ab6405480e0d5755632562c2096cb9e9a6a071ef60e4c27a6873f1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "humans.txt"}, "region": {"startLine": 1}}}]}, {"ruleId": "WEB008", "level": "note", "message": {"text": "Public docs site has no llms.txt"}, "properties": {"repobilityId": 143907, "scanner": "repobility-web-presence", "fingerprint": "cdce8ed8706710d39c3e7272dad572dd639cff74fd3d2ac62d8f6f522b891d76", "category": "quality", "severity": "low", "confidence": 0.64, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Repository looks public and documentation-heavy but no llms.txt file or route was discovered.", "evidence": {"rule_id": "WEB008", "scanner": "repobility-web-presence", "references": ["https://llmstxt.org/"], "correlation_key": "fp|cdce8ed8706710d39c3e7272dad572dd639cff74fd3d2ac62d8f6f522b891d76"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "llms.txt"}, "region": {"startLine": 1}}}]}, {"ruleId": "WEB002", "level": "note", "message": {"text": "Public web app has no sitemap"}, "properties": {"repobilityId": 143906, "scanner": "repobility-web-presence", "fingerprint": "fccbe72d13ca3ba9197ec37b0daa0802fb6d5ebff54b3eb9f09b59b0f8d0acdf", "category": "quality", "severity": "low", "confidence": 0.72, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "Repository looks like a public web app but no sitemap file or route was discovered.", "evidence": {"rule_id": "WEB002", "scanner": "repobility-web-presence", "references": ["https://www.sitemaps.org/protocol.html", "https://github.com/Lissy93/web-check"], "correlation_key": "fp|fccbe72d13ca3ba9197ec37b0daa0802fb6d5ebff54b3eb9f09b59b0f8d0acdf"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sitemap.xml"}, "region": {"startLine": 1}}}]}, {"ruleId": "WEB001", "level": "note", "message": {"text": "Public web app has no robots.txt"}, "properties": {"repobilityId": 143905, "scanner": "repobility-web-presence", "fingerprint": "cae3f2223945958e14d8eb90f7965fa26b47011cc5be29c2855a4054937e29c4", "category": "quality", "severity": "low", "confidence": 0.74, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "Repository looks like a public web app but no robots.txt file or route was discovered.", "evidence": {"rule_id": "WEB001", "scanner": "repobility-web-presence", "references": ["https://www.rfc-editor.org/rfc/rfc9309", "https://github.com/Lissy93/web-check"], "correlation_key": "fp|cae3f2223945958e14d8eb90f7965fa26b47011cc5be29c2855a4054937e29c4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "robots.txt"}, "region": {"startLine": 1}}}]}, {"ruleId": "AUC005", "level": "note", "message": {"text": "[AUC005] No authorization-focused tests detected: No test files with common authorization, ownership, 403, admin, or super_admin assertions were found."}, "properties": {"repobilityId": 143904, "scanner": "repobility-access-control", "fingerprint": "c58bb88e6682225dc480b3036f30153044953a3d94f500396678a77324e8d30e", "category": "auth", "severity": "low", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Static route and framework evidence require project-owner confirmation.", "evidence": {"scanner": "repobility-access-control", "frameworks": ["Next.js"], "correlation_key": "fp|c58bb88e6682225dc480b3036f30153044953a3d94f500396678a77324e8d30e"}}}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143902, "scanner": "repobility-ai-code-hygiene", "fingerprint": "a032dac7d5b991c65b0a0927807b60c37613a0b637eee61f5c5333a500a167e6", "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": "tools/disable_tests/PRESUBMIT.py", "duplicate_line": 1, "correlation_key": "fp|a032dac7d5b991c65b0a0927807b60c37613a0b637eee61f5c5333a500a167e6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/infra/PRESUBMIT.py"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143901, "scanner": "repobility-ai-code-hygiene", "fingerprint": "5936a5dee3c80ece326408b120cb3bce4e8652eafa7c10093f792ea88fca8695", "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": "tools/android/native_lib_memory/PRESUBMIT.py", "duplicate_line": 2, "correlation_key": "fp|5936a5dee3c80ece326408b120cb3bce4e8652eafa7c10093f792ea88fca8695"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/cygprofile/PRESUBMIT.py"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143900, "scanner": "repobility-ai-code-hygiene", "fingerprint": "7b826103b1bbfeaa69792b33256cdba42ec5af0ad61fd7c32d47ae62caf417f7", "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": "tools/android/build_speed/PRESUBMIT.py", "duplicate_line": 2, "correlation_key": "fp|7b826103b1bbfeaa69792b33256cdba42ec5af0ad61fd7c32d47ae62caf417f7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/android/dependency_analysis/PRESUBMIT.py"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143899, "scanner": "repobility-ai-code-hygiene", "fingerprint": "633c9a6ededeaa0e74200e0c37dc38965cf802008aaef719fe24948c004dbd01", "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": "chrome/browser/PRESUBMIT.py", "duplicate_line": 265, "correlation_key": "fp|633c9a6ededeaa0e74200e0c37dc38965cf802008aaef719fe24948c004dbd01"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ios/chrome/browser/flags/PRESUBMIT.py"}, "region": {"startLine": 12}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143898, "scanner": "repobility-ai-code-hygiene", "fingerprint": "f8dc3c9eeab34e7a7595bf0eb891828157e76c86e8a073eb7ede4cf5bbcbb508", "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": "extensions/browser/PRESUBMIT.py", "duplicate_line": 13, "correlation_key": "fp|f8dc3c9eeab34e7a7595bf0eb891828157e76c86e8a073eb7ede4cf5bbcbb508"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extensions/common/permissions/PRESUBMIT.py"}, "region": {"startLine": 14}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143897, "scanner": "repobility-ai-code-hygiene", "fingerprint": "b4c71e86bd54baafbea8cad1ceed2cd2ad6c88dcc50b92660c70a232d76fbbec", "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": "components/guest_view/browser/PRESUBMIT.py", "duplicate_line": 1, "correlation_key": "fp|b4c71e86bd54baafbea8cad1ceed2cd2ad6c88dcc50b92660c70a232d76fbbec"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/password_manager/content/browser/PRESUBMIT.py"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143896, "scanner": "repobility-ai-code-hygiene", "fingerprint": "385a94a399ff8592cbf29c3e57bd18d083a7d56d24a479d06fb378b7c96536d4", "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": "chrome/browser/resources/PRESUBMIT.py", "duplicate_line": 91, "correlation_key": "fp|385a94a399ff8592cbf29c3e57bd18d083a7d56d24a479d06fb378b7c96536d4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome/renderer/resources/PRESUBMIT.py"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143895, "scanner": "repobility-ai-code-hygiene", "fingerprint": "ff082391deea8626e7ec101253579e0251494f9f7f77e7478df4582af4c5f80e", "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": "chrome/browser/android/vr/PRESUBMIT.py", "duplicate_line": 2, "correlation_key": "fp|ff082391deea8626e7ec101253579e0251494f9f7f77e7478df4582af4c5f80e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome/browser/vr/PRESUBMIT.py"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143894, "scanner": "repobility-ai-code-hygiene", "fingerprint": "048c8302d412edf6d01fc9918bd5500d351f087b7a70aca99f7b2741b725f503", "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": "ash/webui/personalization_app/resources/PRESUBMIT.py", "duplicate_line": 5, "correlation_key": "fp|048c8302d412edf6d01fc9918bd5500d351f087b7a70aca99f7b2741b725f503"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome/browser/resources/chromeos/PRESUBMIT.py"}, "region": {"startLine": 1}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143893, "scanner": "repobility-ai-code-hygiene", "fingerprint": "bb5b08fef55072425c26bd903114431bc5bf29e211c3023e6ee105ae420590e5", "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": "ash/webui/common/resources/PRESUBMIT.py", "duplicate_line": 2, "correlation_key": "fp|bb5b08fef55072425c26bd903114431bc5bf29e211c3023e6ee105ae420590e5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ash/webui/shortcut_customization_ui/resources/PRESUBMIT.py"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143892, "scanner": "repobility-ai-code-hygiene", "fingerprint": "2e8b31d9f080fae0ec2b52b32b172ede34b81a5a9b71d9c3997a75ca1971ca5f", "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": "ash/webui/personalization_app/resources/PRESUBMIT.py", "duplicate_line": 2, "correlation_key": "fp|2e8b31d9f080fae0ec2b52b32b172ede34b81a5a9b71d9c3997a75ca1971ca5f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ash/webui/scanning/resources/PRESUBMIT.py"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143891, "scanner": "repobility-ai-code-hygiene", "fingerprint": "bdf0864dba08a42f2c31e96b1edbf0c8172d37316b85128157044f51c6d2bd31", "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": "ash/webui/personalization_app/resources/PRESUBMIT.py", "duplicate_line": 2, "correlation_key": "fp|bdf0864dba08a42f2c31e96b1edbf0c8172d37316b85128157044f51c6d2bd31"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ash/webui/print_management/resources/PRESUBMIT.py"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143890, "scanner": "repobility-ai-code-hygiene", "fingerprint": "17a2da9266d4cdbfdc8cf22cbb18a4a38dcbc59b2729bad999978af128a8a54d", "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": "ash/webui/common/resources/PRESUBMIT.py", "duplicate_line": 2, "correlation_key": "fp|17a2da9266d4cdbfdc8cf22cbb18a4a38dcbc59b2729bad999978af128a8a54d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ash/webui/firmware_update_ui/resources/PRESUBMIT.py"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143889, "scanner": "repobility-ai-code-hygiene", "fingerprint": "5069aeabb1257a8081c5748d4d2b6b04f387ab9013db792f34376ad3627800d7", "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": "ash/webui/common/resources/PRESUBMIT.py", "duplicate_line": 2, "correlation_key": "fp|5069aeabb1257a8081c5748d4d2b6b04f387ab9013db792f34376ad3627800d7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ash/webui/diagnostics_ui/resources/PRESUBMIT.py"}, "region": {"startLine": 2}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143888, "scanner": "repobility-ai-code-hygiene", "fingerprint": "66cc7ae5c95df7471764e388361b48c1c461b11c1389b0c1ee679a9aa95de4f0", "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": "agents/testing/gemini_cli_installation.py", "duplicate_line": 11, "correlation_key": "fp|66cc7ae5c95df7471764e388361b48c1c461b11c1389b0c1ee679a9aa95de4f0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/promptfoo_installation.py"}, "region": {"startLine": 72}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 143887, "scanner": "repobility-ai-code-hygiene", "fingerprint": "3caca96a426e9f26e6812f7888f4ce1868d5f6f60e4e2dbde085fca71b72056e", "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": "agents/projects/code-health/histogram-cleanup/scripts/find_expired.py", "duplicate_line": 43, "correlation_key": "fp|3caca96a426e9f26e6812f7888f4ce1868d5f6f60e4e2dbde085fca71b72056e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/projects/code-health/histogram-cleanup/scripts/find_expired_in_file.py"}, "region": {"startLine": 66}}}]}, {"ruleId": "AIC007", "level": "note", "message": {"text": "Generated build artifact directory is present at repository root"}, "properties": {"repobilityId": 143886, "scanner": "repobility-ai-code-hygiene", "fingerprint": "9ce25f11f897b8a8b2478fd0136724866f111b604484c20a5c690bce80d94da1", "category": "quality", "severity": "low", "confidence": 0.7, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "Repository root contains a common generated artifact directory.", "evidence": {"rule_id": "AIC007", "scanner": "repobility-ai-code-hygiene", "directory": "build", "references": ["https://git-scm.com/docs/gitignore", "https://arxiv.org/abs/2601.15195"], "correlation_key": "fp|9ce25f11f897b8a8b2478fd0136724866f111b604484c20a5c690bce80d94da1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "build"}, "region": {"startLine": 1}}}]}, {"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": 143884, "scanner": "repobility-threat-engine", "fingerprint": "ec46991d8c60b3ab456bb360361b74f92944b383d77aa8629a39c227dc9d615a", "category": "quality", "severity": "low", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "' please include the tast trybot by adding: '\n        + keyword\n        + ' to your CL description'", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC132", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|ec46991d8c60b3ab456bb360361b74f92944b383d77aa8629a39c227dc9d615a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui/base/ime/ash/PRESUBMIT.py"}, "region": {"startLine": 16}}}]}, {"ruleId": "COMP001", "level": "note", "message": {"text": "[COMP001] High cognitive complexity: Function `get_gemini_command` has cognitive complexity 12 (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: except=1, if=6, nested_bonus=5."}, "properties": {"repobilityId": 143851, "scanner": "repobility-threat-engine", "fingerprint": "a639f542790a8a2b04f594cda086444962eaf58793e2208ba19329f4aa20fa38", "category": "quality", "severity": "low", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 12 (severity threshold for low: 8+).", "evidence": {"scanner": "repobility-threat-engine", "function": "get_gemini_command", "breakdown": {"if": 6, "except": 1, "nested_bonus": 5}, "complexity": 12, "correlation_key": "fp|a639f542790a8a2b04f594cda086444962eaf58793e2208ba19329f4aa20fa38"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/common/gemini_helpers.py"}, "region": {"startLine": 43}}}]}, {"ruleId": "COMP001", "level": "note", "message": {"text": "[COMP001] High cognitive complexity: Function `CheckCommands` has cognitive complexity 10 (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: continue=1, except=1, for=1, if=3, nested_bonus=4."}, "properties": {"repobilityId": 143850, "scanner": "repobility-threat-engine", "fingerprint": "c107f153ead16e644236589237f36f4ed0865430a2db1d1a7faefef8189cb37e", "category": "quality", "severity": "low", "confidence": 0.95, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "AST-derived cognitive complexity score = 10 (severity threshold for low: 8+).", "evidence": {"scanner": "repobility-threat-engine", "function": "CheckCommands", "breakdown": {"if": 3, "for": 1, "except": 1, "continue": 1, "nested_bonus": 4}, "complexity": 10, "correlation_key": "fp|c107f153ead16e644236589237f36f4ed0865430a2db1d1a7faefef8189cb37e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".gemini/commands/PRESUBMIT.py"}, "region": {"startLine": 17}}}]}, {"ruleId": "MINED021", "level": "none", "message": {"text": "[MINED021] Path Traversal Os Join (and 2 more): Same pattern found in 2 additional files. Review if needed."}, "properties": {"repobilityId": 143878, "scanner": "repobility-threat-engine", "fingerprint": "62ec5a4d114934401c6c870baf8b504c8187d6aacafd060446ee2aff1f7af4a3", "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": "path-traversal-os-join", "owasp": "A01:2021", "cwe_ids": ["CWE-22"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347947+00:00", "triaged_in_corpus": 15, "observations_count": 45678, "ai_coder_pattern_id": 31}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|62ec5a4d114934401c6c870baf8b504c8187d6aacafd060446ee2aff1f7af4a3", "aggregated_count": 2}}}, {"ruleId": "SEC029", "level": "none", "message": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input (and 9 more): Same pattern found in 9 additional files. Review if needed."}, "properties": {"repobilityId": 143873, "scanner": "repobility-threat-engine", "fingerprint": "a0769f34321ccb4a2408866410ff258332c2e3d0c176eda236c0efe5490d0026", "category": "ssrf", "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": {"reason": "Deduplicated summary only: 9 additional occurrences found. The top occurrences remain visible as actionable findings.", "rule_id": "SEC029", "scanner": "repobility-threat-engine", "confidence": 0.2, "correlation_key": "fp|a0769f34321ccb4a2408866410ff258332c2e3d0c176eda236c0efe5490d0026"}}}, {"ruleId": "MINED062", "level": "none", "message": {"text": "[MINED062] Python Dataclass No Fields: @dataclass over an empty class \u2014 unfinished model."}, "properties": {"repobilityId": 143869, "scanner": "repobility-threat-engine", "fingerprint": "baf659314109620661f198493edf42eccff67e3771e12a2df289ee2dd0137227", "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-dataclass-no-fields", "owasp": null, "cwe_ids": [], "languages": ["python"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.348046+00:00", "triaged_in_corpus": 10, "observations_count": 92448, "ai_coder_pattern_id": 144}, "scanner": "repobility-threat-engine", "correlation_key": "fp|baf659314109620661f198493edf42eccff67e3771e12a2df289ee2dd0137227"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup.py"}, "region": {"startLine": 31}}}]}, {"ruleId": "SEC013", "level": "none", "message": {"text": "[SEC013] Path Traversal \u2014 User Input in File Path (and 3 more): Same pattern found in 3 additional files. Review if needed."}, "properties": {"repobilityId": 143868, "scanner": "repobility-threat-engine", "fingerprint": "ed9af2be75e89f45b6214d4eb2e341f682d32cac9a9f402646dc44b0b2076655", "category": "path_traversal", "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": "SEC013", "scanner": "repobility-threat-engine", "confidence": 0.2, "correlation_key": "fp|ed9af2be75e89f45b6214d4eb2e341f682d32cac9a9f402646dc44b0b2076655"}}}, {"ruleId": "SEC103", "level": "none", "message": {"text": "[SEC103] LDAP injection \u2014 non-constant search filter (and 1 more): Same pattern found in 1 additional files. Review if needed."}, "properties": {"repobilityId": 143864, "scanner": "repobility-threat-engine", "fingerprint": "22508ccee32638f9ac364756933bbf6b1f3edd72383ba0881512139ec7cc5c09", "category": "injection", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 1 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"reason": "Deduplicated summary only: 1 additional occurrences found. The top occurrences remain visible as actionable findings.", "rule_id": "SEC103", "scanner": "repobility-threat-engine", "confidence": 0.2, "correlation_key": "fp|22508ccee32638f9ac364756933bbf6b1f3edd72383ba0881512139ec7cc5c09"}}}, {"ruleId": "MINED050", "level": "none", "message": {"text": "[MINED050] Stub Only Function (and 1 more): Same pattern found in 1 additional files. Review if needed."}, "properties": {"repobilityId": 143857, "scanner": "repobility-threat-engine", "fingerprint": "86ba1835d70968651e1fbb2569a4d94211de579a814cf34a5d1e1e2eafe3f130", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 1 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|86ba1835d70968651e1fbb2569a4d94211de579a814cf34a5d1e1e2eafe3f130", "aggregated_count": 1}}}, {"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": 143856, "scanner": "repobility-threat-engine", "fingerprint": "0efd4cf08d1bb6ede93d2fb21b5d3913a5a51075f59eb3ab4030201bc2531cc0", "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|0efd4cf08d1bb6ede93d2fb21b5d3913a5a51075f59eb3ab4030201bc2531cc0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/projects/code-health/histogram-cleanup/scripts/find_expired_in_file.py"}, "region": {"startLine": 44}}}]}, {"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": 143855, "scanner": "repobility-threat-engine", "fingerprint": "7f2d2eff2b501491b0e622569dda6abc5ec10b80f58bfdbb2a28f12811554e32", "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|7f2d2eff2b501491b0e622569dda6abc5ec10b80f58bfdbb2a28f12811554e32"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/projects/code-health/histogram-cleanup/scripts/find_expired.py"}, "region": {"startLine": 69}}}]}, {"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": 143854, "scanner": "repobility-threat-engine", "fingerprint": "a73b9f5f0774167341b684dd1037a8abb4b31277edca5906472ea112ca06ae89", "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|a73b9f5f0774167341b684dd1037a8abb4b31277edca5906472ea112ca06ae89"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/common/gemini_helpers.py"}, "region": {"startLine": 70}}}]}, {"ruleId": "COMP001", "level": "none", "message": {"text": "[COMP001] High cognitive complexity (and 63 more): Same pattern found in 63 additional files. Review if needed."}, "properties": {"repobilityId": 143853, "scanner": "repobility-threat-engine", "fingerprint": "6d741399a942c68f8b15e173fd5db2814fc8f15590ac89d2da9c2100d3683688", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 63 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"scanner": "repobility-threat-engine", "function": "CheckCommands", "breakdown": {"if": 3, "for": 1, "except": 1, "continue": 1, "nested_bonus": 4}, "aggregated": true, "complexity": 10, "correlation_key": "fp|6d741399a942c68f8b15e173fd5db2814fc8f15590ac89d2da9c2100d3683688", "aggregated_count": 63}}}, {"ruleId": "MINED043", "level": "none", "message": {"text": "[MINED043] Http Not Https (and 98 more): Same pattern found in 98 additional files. Review if needed."}, "properties": {"repobilityId": 143849, "scanner": "repobility-threat-engine", "fingerprint": "41c9084023061c7b8305ea169ec935efaf35e275ab84e7da8482274ce08e1b51", "category": "quality", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 98 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"mined": true, "mining": {"slug": "http-not-https", "owasp": "A02:2021", "cwe_ids": ["CWE-319"], "precision": 0.917, "promoted_at": "2026-05-18T14:01:32.347999+00:00", "triaged_in_corpus": 12, "observations_count": 4113831, "ai_coder_pattern_id": 15}, "scanner": "repobility-threat-engine", "aggregated": true, "correlation_key": "fp|41c9084023061c7b8305ea169ec935efaf35e275ab84e7da8482274ce08e1b51", "aggregated_count": 98}}}, {"ruleId": "MINED043", "level": "none", "message": {"text": "[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data."}, "properties": {"repobilityId": 143848, "scanner": "repobility-threat-engine", "fingerprint": "c40c0ce91f8644ecf20d12882ab81b6a27c4b388c95a6a02a61d0527ba9a712a", "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": "http-not-https", "owasp": "A02:2021", "cwe_ids": ["CWE-319"], "precision": 0.917, "promoted_at": "2026-05-18T14:01:32.347999+00:00", "triaged_in_corpus": 12, "observations_count": 4113831, "ai_coder_pattern_id": 15}, "scanner": "repobility-threat-engine", "correlation_key": "fp|c40c0ce91f8644ecf20d12882ab81b6a27c4b388c95a6a02a61d0527ba9a712a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/common/PRESUBMIT.py"}, "region": {"startLine": 6}}}]}, {"ruleId": "MINED043", "level": "none", "message": {"text": "[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data."}, "properties": {"repobilityId": 143847, "scanner": "repobility-threat-engine", "fingerprint": "df821da4487a227983f511fe8138a29fcbd1568ddd749b4768c5baeecdef3b1a", "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": "http-not-https", "owasp": "A02:2021", "cwe_ids": ["CWE-319"], "precision": 0.917, "promoted_at": "2026-05-18T14:01:32.347999+00:00", "triaged_in_corpus": 12, "observations_count": 4113831, "ai_coder_pattern_id": 15}, "scanner": "repobility-threat-engine", "correlation_key": "fp|df821da4487a227983f511fe8138a29fcbd1568ddd749b4768c5baeecdef3b1a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/PRESUBMIT.py"}, "region": {"startLine": 6}}}]}, {"ruleId": "MINED043", "level": "none", "message": {"text": "[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle credentials or data."}, "properties": {"repobilityId": 143846, "scanner": "repobility-threat-engine", "fingerprint": "5d5a946588d800009028916f543a434c7b7dccec07a1e3425b113137ad0730fa", "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": "http-not-https", "owasp": "A02:2021", "cwe_ids": ["CWE-319"], "precision": 0.917, "promoted_at": "2026-05-18T14:01:32.347999+00:00", "triaged_in_corpus": 12, "observations_count": 4113831, "ai_coder_pattern_id": 15}, "scanner": "repobility-threat-engine", "correlation_key": "fp|5d5a946588d800009028916f543a434c7b7dccec07a1e3425b113137ad0730fa"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".gemini/commands/PRESUBMIT.py"}, "region": {"startLine": 6}}}]}, {"ruleId": "SEC114", "level": "none", "message": {"text": "[SEC114] path.join / Path() on user-controlled segment without containment check (and 39 more): Same pattern found in 39 additional files. Review if needed."}, "properties": {"repobilityId": 143845, "scanner": "repobility-threat-engine", "fingerprint": "11d98dcc426f701412477ec06132ed0cecb04c5a18fcef89361061597158f490", "category": "path_traversal", "severity": "info", "confidence": 0.2, "triageState": "false_positive", "verdict": "likely_fp", "isResolved": true, "reason": "Deduplicated summary only: 39 additional occurrences found. The top occurrences remain visible as actionable findings.", "evidence": {"reason": "Deduplicated summary only: 39 additional occurrences found. The top occurrences remain visible as actionable findings.", "rule_id": "SEC114", "scanner": "repobility-threat-engine", "confidence": 0.2, "correlation_key": "fp|11d98dcc426f701412477ec06132ed0cecb04c5a18fcef89361061597158f490"}}}, {"ruleId": "MINED115", "level": "error", "message": {"text": "[MINED115] Action `superbrothers/close-pull-request` pinned to mutable ref `@v3`: `uses: superbrothers/close-pull-request@v3` 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": 144026, "scanner": "repobility-supply-chain", "fingerprint": "952989ff9dd0bd4cfcd77d2ed5cbe3499c2ec64a69b1685261722ef0b8826fcb", "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|952989ff9dd0bd4cfcd77d2ed5cbe3499c2ec64a69b1685261722ef0b8826fcb"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/close-pull-request.yml"}, "region": {"startLine": 15}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH shutil.which has no auth: Handler `test_get_depot_tools_path_is_cached` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144025, "scanner": "repobility-route-auth", "fingerprint": "6b8c2199de60281f64353ac76368e7c9c3aaccf3371f7f5efeadb993c898dc4e", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|6b8c2199de60281f64353ac76368e7c9c3aaccf3371f7f5efeadb993c898dc4e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 117}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH shutil.which has no auth: Handler `test_get_depot_tools_path_failure` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144024, "scanner": "repobility-route-auth", "fingerprint": "dfbf708e02c9e993443f3d10e75c8b3fb1229d6c50726f90d6bd93f93b368e2b", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|dfbf708e02c9e993443f3d10e75c8b3fb1229d6c50726f90d6bd93f93b368e2b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 110}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH shutil.which has no auth: Handler `test_get_depot_tools_path_success` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144023, "scanner": "repobility-route-auth", "fingerprint": "baafa913638144572ab858be69884fe31ea4783b576e252e3b46df3d7dfa173f", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|baafa913638144572ab858be69884fe31ea4783b576e252e3b46df3d7dfa173f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 102}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH subprocess.run has no auth: Handler `test_get_gclient_root_is_cached` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144022, "scanner": "repobility-route-auth", "fingerprint": "198e56461b89395d20658a3ccc06ab0d1442eb1fa82201089fa5a39b4c041fc4", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|198e56461b89395d20658a3ccc06ab0d1442eb1fa82201089fa5a39b4c041fc4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 86}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH subprocess.run has no auth: Handler `test_get_gclient_root_failure` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144021, "scanner": "repobility-route-auth", "fingerprint": "c1ea3b2571658eecd7f3055c9fd1f168e35d3131ac2a36926d3525f97aedf846", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|c1ea3b2571658eecd7f3055c9fd1f168e35d3131ac2a36926d3525f97aedf846"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 79}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH subprocess.run has no auth: Handler `test_get_gclient_root_success` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144020, "scanner": "repobility-route-auth", "fingerprint": "fded5a9ef3924f4fffd708de6557fb4eeca29490003ab26ec312558af35f4d81", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|fded5a9ef3924f4fffd708de6557fb4eeca29490003ab26ec312558af35f4d81"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 71}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH subprocess.run has no auth: Handler `test_check_btrfs_is_cached` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144019, "scanner": "repobility-route-auth", "fingerprint": "c5bc366cad920ad41f4cabbc3c73437d9717c57e2990ae78c4cd22e3375ae143", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|c5bc366cad920ad41f4cabbc3c73437d9717c57e2990ae78c4cd22e3375ae143"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 53}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH subprocess.run has no auth: Handler `test_check_btrfs_stat_fails` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144018, "scanner": "repobility-route-auth", "fingerprint": "ea315dc141ed1bcffff1756d0b92baa4e0f495e1956ed6b6705e6dd119ae537e", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|ea315dc141ed1bcffff1756d0b92baa4e0f495e1956ed6b6705e6dd119ae537e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 46}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH subprocess.run has no auth: Handler `test_check_btrfs_is_not_btrfs` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144017, "scanner": "repobility-route-auth", "fingerprint": "3661044597f44e9d205c205ae4674a65330144b4657665797c84b2eebf42de01", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|3661044597f44e9d205c205ae4674a65330144b4657665797c84b2eebf42de01"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 35}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH subprocess.run has no auth: Handler `test_check_btrfs_is_btrfs` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144016, "scanner": "repobility-route-auth", "fingerprint": "048fe86aebd8c275fbeb2a03fc3f1f5df39d9132ed8c1b38888d279ec32388f5", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|048fe86aebd8c275fbeb2a03fc3f1f5df39d9132ed8c1b38888d279ec32388f5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 27}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH pathlib.Path.home has no auth: Handler `test_fix_skips_existing_user_extension` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144015, "scanner": "repobility-route-auth", "fingerprint": "c1c18cedfd51598edb05f6c1af41f6697673b8cf88afcf448389464606ace67f", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|c1c18cedfd51598edb05f6c1af41f6697673b8cf88afcf448389464606ace67f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 486}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH install.find_extensions_dir_for_extension has no auth: Handler `test_fix_extensions` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144014, "scanner": "repobility-route-auth", "fingerprint": "886225696860a14992f60a7e5c8751d1482334f4fc9a3dabf626bf3a54c6025f", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|886225696860a14992f60a7e5c8751d1482334f4fc9a3dabf626bf3a54c6025f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 428}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH pathlib.Path.home has no auth: Handler `test_remove_legacy_extension` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144013, "scanner": "repobility-route-auth", "fingerprint": "2bfab108f8e5c3353ee3e88d20916c3bf1296f40c4d6a37667094776815bc18d", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|2bfab108f8e5c3353ee3e88d20916c3bf1296f40c4d6a37667094776815bc18d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 260}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH install.find_extensions_dir_for_extension has no auth: Handler `test_add_extension_skip_prompt` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144012, "scanner": "repobility-route-auth", "fingerprint": "ce670d353447f8bb647a05baeba52a8bcbced5a5ca244a86410f6837071680de", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|ce670d353447f8bb647a05baeba52a8bcbced5a5ca244a86410f6837071680de"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 154}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH install.find_extensions_dir_for_extension has no auth: Handler `test_add_extension_link` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144011, "scanner": "repobility-route-auth", "fingerprint": "4d2e1e448920bc496d87d615eb65e2a5366686fbb3605fdabc076cbf461b27f4", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|4d2e1e448920bc496d87d615eb65e2a5366686fbb3605fdabc076cbf461b27f4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 141}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH install.find_extensions_dir_for_extension has no auth: Handler `test_add_extension_copy` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144010, "scanner": "repobility-route-auth", "fingerprint": "9f161a27378a5bcb94e6ad8ad94f5f9b0d7709a4326f3a7df17205bb7c86f32a", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|9f161a27378a5bcb94e6ad8ad94f5f9b0d7709a4326f3a7df17205bb7c86f32a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 128}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH setup.get_available_skills has no auth: Handler `test_handle_link_creates_parent_dir` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144009, "scanner": "repobility-route-auth", "fingerprint": "71b0e5adbc7d9b144d7ce9b1d00fe30432b73eac2fac22d73fd8572413284dbe", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|71b0e5adbc7d9b144d7ce9b1d00fe30432b73eac2fac22d73fd8572413284dbe"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 409}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH setup.get_installed_skills has no auth: Handler `test_handle_uninstall_missing_path` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144008, "scanner": "repobility-route-auth", "fingerprint": "6782267c412d479b3b8091ef38b3a40bbac73bfd5af680ffa610cb61eb3ada96", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|6782267c412d479b3b8091ef38b3a40bbac73bfd5af680ffa610cb61eb3ada96"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 392}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH setup.get_available_skills has no auth: Handler `test_handle_link_collision` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144007, "scanner": "repobility-route-auth", "fingerprint": "5e0d0273ed3ce209b95936a36520c5f435b50ef40018c539a5cbaa54fb43e9be", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|5e0d0273ed3ce209b95936a36520c5f435b50ef40018c539a5cbaa54fb43e9be"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 373}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH setup.get_installed_skills has no auth: Handler `test_handle_enable_skill_not_found` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144006, "scanner": "repobility-route-auth", "fingerprint": "3161291bd4d41239fed2625dd5b98be4af7d9e9e657e17baf0be5fa34b6f6ebb", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|3161291bd4d41239fed2625dd5b98be4af7d9e9e657e17baf0be5fa34b6f6ebb"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 315}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH setup.get_installed_skills has no auth: Handler `test_handle_disable` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144005, "scanner": "repobility-route-auth", "fingerprint": "5fe3d6bdabcd185ec3df534cdc4eb12db26953472b79680fe3cc2197d7f04dfe", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|5fe3d6bdabcd185ec3df534cdc4eb12db26953472b79680fe3cc2197d7f04dfe"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 298}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH setup.get_installed_skills has no auth: Handler `test_handle_enable` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144004, "scanner": "repobility-route-auth", "fingerprint": "a151ca6c65ef0f355a91a737c3bc720923eb5c6442fcf595bdafdd19d39be6b1", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|a151ca6c65ef0f355a91a737c3bc720923eb5c6442fcf595bdafdd19d39be6b1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 281}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH setup.get_installed_skills has no auth: Handler `test_handle_uninstall_dir` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144003, "scanner": "repobility-route-auth", "fingerprint": "5dab1e12d601556a40913fd6497455a8c507b1c95d238b7d00e2e71dad8ec32b", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|5dab1e12d601556a40913fd6497455a8c507b1c95d238b7d00e2e71dad8ec32b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 255}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH setup.get_installed_skills has no auth: Handler `test_handle_uninstall_symlink` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144002, "scanner": "repobility-route-auth", "fingerprint": "5c33379bf6e66df1ddc6a6f1fca254e478080d94bfd4e4876253c6ea74edca7b", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|5c33379bf6e66df1ddc6a6f1fca254e478080d94bfd4e4876253c6ea74edca7b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 233}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH setup.get_available_skills has no auth: Handler `test_handle_link` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 144001, "scanner": "repobility-route-auth", "fingerprint": "a71c336a8f9486e2d3d0c4878e3943cb81f0cbc3daadc2c2b92e1050ce234df2", "category": "quality", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "fastapi-destructive-unauth", "owasp": "A01:2021", "cwe_ids": ["CWE-306", "CWE-862"], "languages": ["python", "javascript"], "observations_count": 10455}, "scanner": "repobility-route-auth", "correlation_key": "fp|a71c336a8f9486e2d3d0c4878e3943cb81f0cbc3daadc2c2b92e1050ce234df2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 171}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_no_fatal_exception: Test function `test_no_fatal_exception` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143982, "scanner": "repobility-ast-engine", "fingerprint": "14c18aa6bd8d6f40865b1a271f3e835103fefb1e07ce446ce873079cc36a0c08", "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|14c18aa6bd8d6f40865b1a271f3e835103fefb1e07ce446ce873079cc36a0c08"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/workers_unittest.py"}, "region": {"startLine": 773}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_fatal_exception: Test function `test_fatal_exception` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143981, "scanner": "repobility-ast-engine", "fingerprint": "07f6c867b9c34568e98d37cc2e6ad9b8d5113e285a9a0150a993ea6e08680cd2", "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|07f6c867b9c34568e98d37cc2e6ad9b8d5113e285a9a0150a993ea6e08680cd2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/workers_unittest.py"}, "region": {"startLine": 762}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_exit_clean_btrfs_fallback: Test function `test_exit_clean_btrfs_fallback` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143980, "scanner": "repobility-ast-engine", "fingerprint": "ace66fd656836ecf226b8d764552fb10f46ea9ac65c9da8b7aeeaffc263ba32d", "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|ace66fd656836ecf226b8d764552fb10f46ea9ac65c9da8b7aeeaffc263ba32d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/workers_unittest.py"}, "region": {"startLine": 195}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_exit_no_clean: Test function `test_exit_no_clean` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143979, "scanner": "repobility-ast-engine", "fingerprint": "2ec237e9f3460dcc08c0a329f30426e79db91249a930a0c42d216b8f40208069", "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|2ec237e9f3460dcc08c0a329f30426e79db91249a930a0c42d216b8f40208069"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/workers_unittest.py"}, "region": {"startLine": 180}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_exit_clean_no_btrfs: Test function `test_exit_clean_no_btrfs` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143978, "scanner": "repobility-ast-engine", "fingerprint": "79761c0d1bcfbd5bd471e4231c36f3eec3312a7ed44c854f073bce01cb6ae6aa", "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|79761c0d1bcfbd5bd471e4231c36f3eec3312a7ed44c854f073bce01cb6ae6aa"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/workers_unittest.py"}, "region": {"startLine": 167}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_exit_clean_btrfs: Test function `test_exit_clean_btrfs` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143977, "scanner": "repobility-ast-engine", "fingerprint": "b5c64fb69bac1cbdca58e63c4b0150801d7f75a2fc1b8a05ca1f434529136a7b", "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|b5c64fb69bac1cbdca58e63c4b0150801d7f75a2fc1b8a05ca1f434529136a7b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/workers_unittest.py"}, "region": {"startLine": 144}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_enter_exists: Test function `test_enter_exists` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143976, "scanner": "repobility-ast-engine", "fingerprint": "2a654402915e982b219bf2a17d364b1944c4c8318f3bd1d1c0151333d160e6d2", "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|2a654402915e982b219bf2a17d364b1944c4c8318f3bd1d1c0151333d160e6d2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/workers_unittest.py"}, "region": {"startLine": 119}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_mock_without_command_name: Test function `test_mock_without_command_name` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143973, "scanner": "repobility-ast-engine", "fingerprint": "05f817682f2b7ac058626e0f289c373075316c7414b3fdb5cd6c82e4a07301e8", "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|05f817682f2b7ac058626e0f289c373075316c7414b3fdb5cd6c82e4a07301e8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/gemini_provider_unittest.py"}, "region": {"startLine": 1143}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_call_api_installs_mocks: Test function `test_call_api_installs_mocks` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143972, "scanner": "repobility-ast-engine", "fingerprint": "02408a68f8862439a79ffdd27d39305e8c9aa2bade8ee289e9980f4d78aa2b18", "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|02408a68f8862439a79ffdd27d39305e8c9aa2bade8ee289e9980f4d78aa2b18"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/gemini_provider_unittest.py"}, "region": {"startLine": 1032}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_get_depot_tools_path_is_cached: Test function `test_get_depot_tools_path_is_cached` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143971, "scanner": "repobility-ast-engine", "fingerprint": "ec4dc6c83d07057a4265888992898c34c90f3975eb469cf7e05e7253dc3b90fe", "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|ec4dc6c83d07057a4265888992898c34c90f3975eb469cf7e05e7253dc3b90fe"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 117}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_get_gclient_root_is_cached: Test function `test_get_gclient_root_is_cached` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143970, "scanner": "repobility-ast-engine", "fingerprint": "1eee3385bf077a53bd479ec78c4de92d9bcc44ea9512c06172202e813cde0018", "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|1eee3385bf077a53bd479ec78c4de92d9bcc44ea9512c06172202e813cde0018"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 86}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_check_btrfs_is_cached: Test function `test_check_btrfs_is_cached` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143969, "scanner": "repobility-ast-engine", "fingerprint": "60c46b70b785e8f7fadd553bba862bb241fb59170b3f1ed2d62ed39ebf8ade95", "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|60c46b70b785e8f7fadd553bba862bb241fb59170b3f1ed2d62ed39ebf8ade95"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/testing/checkout_helpers_unittest.py"}, "region": {"startLine": 53}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_disable_extension_user_scope: Test function `test_disable_extension_user_scope` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143967, "scanner": "repobility-ast-engine", "fingerprint": "502a38fe8c87684bb6915c36a1099d4bcc586639a96d3cfc33626ed0b963bd21", "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|502a38fe8c87684bb6915c36a1099d4bcc586639a96d3cfc33626ed0b963bd21"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 250}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_disable_extension: Test function `test_disable_extension` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143966, "scanner": "repobility-ast-engine", "fingerprint": "c9aa66bf90f5535d99d2eb59ef652ec96ba50ad1d8b1b295dc7fda35d6b52dc7", "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|c9aa66bf90f5535d99d2eb59ef652ec96ba50ad1d8b1b295dc7fda35d6b52dc7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 241}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_enable_extension_user_scope: Test function `test_enable_extension_user_scope` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143965, "scanner": "repobility-ast-engine", "fingerprint": "63c3c7190a0b49e913a966dd384b7a370c2747ca79175ef593269c7a009f4cad", "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|63c3c7190a0b49e913a966dd384b7a370c2747ca79175ef593269c7a009f4cad"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 232}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_enable_extension: Test function `test_enable_extension` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143964, "scanner": "repobility-ast-engine", "fingerprint": "e26056db2b5b28fdd74f39768c3064e0dd2e10a900f50cf2ed70a5e27c134808", "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|e26056db2b5b28fdd74f39768c3064e0dd2e10a900f50cf2ed70a5e27c134808"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 223}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_remove_extension: Test function `test_remove_extension` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143963, "scanner": "repobility-ast-engine", "fingerprint": "163603fcb5a4fe8778f7ebfb66b106b7eab25364f9881f9b463b2789ab4b44f3", "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|163603fcb5a4fe8778f7ebfb66b106b7eab25364f9881f9b463b2789ab4b44f3"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 215}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_update_all_extensions: Test function `test_update_all_extensions` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143962, "scanner": "repobility-ast-engine", "fingerprint": "a7e4f367459f97cca7cb1b7440bb859f588e4487a9e54164847283a6e1ae7845", "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|a7e4f367459f97cca7cb1b7440bb859f588e4487a9e54164847283a6e1ae7845"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 208}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_update_extension: Test function `test_update_extension` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143961, "scanner": "repobility-ast-engine", "fingerprint": "9efa739ec86f390b9442d76fd6a110551d8720f16f5d74058a3ef0c5872629a6", "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|9efa739ec86f390b9442d76fd6a110551d8720f16f5d74058a3ef0c5872629a6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 200}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_add_test_extension: Test function `test_add_test_extension` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143960, "scanner": "repobility-ast-engine", "fingerprint": "2eb2fcda3cd5ab6f963e3701de0f4eb7ec2806951a724126ebea1c8657a0cbdc", "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|2eb2fcda3cd5ab6f963e3701de0f4eb7ec2806951a724126ebea1c8657a0cbdc"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 167}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_add_extension_skip_prompt: Test function `test_add_extension_skip_prompt` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143959, "scanner": "repobility-ast-engine", "fingerprint": "95ff7cd3103875678db25e37296a71d59b5974a6b9b73a2f4cab62e775ead9ef", "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|95ff7cd3103875678db25e37296a71d59b5974a6b9b73a2f4cab62e775ead9ef"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 154}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_add_extension_link: Test function `test_add_extension_link` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143958, "scanner": "repobility-ast-engine", "fingerprint": "ca37a3ba798cbfadccbd413981396a99286e0a1ec34ad831a4a86e73bf6b784a", "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|ca37a3ba798cbfadccbd413981396a99286e0a1ec34ad831a4a86e73bf6b784a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 141}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_add_extension_copy: Test function `test_add_extension_copy` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143957, "scanner": "repobility-ast-engine", "fingerprint": "624671808ce59a9095ad2cec19d4e014e864a944b55a9f4563f04d8f31bd3387", "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|624671808ce59a9095ad2cec19d4e014e864a944b55a9f4563f04d8f31bd3387"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/extensions/install_unittest.py"}, "region": {"startLine": 128}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_run_skill_command_disable: Test function `test_run_skill_command_disable` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143956, "scanner": "repobility-ast-engine", "fingerprint": "87bdf8c64415b8ed2ab8d7b23a093bc48cd652726fccfe80baff2b694071e0ef", "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|87bdf8c64415b8ed2ab8d7b23a093bc48cd652726fccfe80baff2b694071e0ef"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 161}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_run_skill_command_enable: Test function `test_run_skill_command_enable` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 143955, "scanner": "repobility-ast-engine", "fingerprint": "65102cbcc6913703d422735910075229f17f0a05a94cdf05227075fca7258ebe", "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|65102cbcc6913703d422735910075229f17f0a05a94cdf05227075fca7258ebe"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/skills/setup_unittest.py"}, "region": {"startLine": 153}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testSingletonInArbitraryHeader` of class `CheckSingletonInHeadersTest` reads `self.assertIn`, 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": 143936, "scanner": "repobility-ast-engine", "fingerprint": "06b124eaefe298088b9783361691626c82e98671f2ced2fee6dfc397283896f3", "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|06b124eaefe298088b9783361691626c82e98671f2ced2fee6dfc397283896f3"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 149}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testSingletonInArbitraryHeader` of class `CheckSingletonInHeadersTest` 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": 143935, "scanner": "repobility-ast-engine", "fingerprint": "54eddf1441a7e91dadc466804f3ee21a4ab36a7043cb1438a050be00cfd9df66", "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|54eddf1441a7e91dadc466804f3ee21a4ab36a7043cb1438a050be00cfd9df66"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 148}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testSingletonInArbitraryHeader` of class `CheckSingletonInHeadersTest` 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": 143934, "scanner": "repobility-ast-engine", "fingerprint": "5f9bf5dfca01fef9a407b96ebf273705fefe43c27ffa2f8a04dd99e1b553297e", "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|5f9bf5dfca01fef9a407b96ebf273705fefe43c27ffa2f8a04dd99e1b553297e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 147}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testSingletonInArbitraryHeader` of class `CheckSingletonInHeadersTest` 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": 143933, "scanner": "repobility-ast-engine", "fingerprint": "fc9ed5addc4416ac0d862d79dc37acbda5dbb7e4ab62cb932b902cbdb7d8b46e", "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|fc9ed5addc4416ac0d862d79dc37acbda5dbb7e4ab62cb932b902cbdb7d8b46e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 146}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testBadFiles` of class `CheckForSuperfluousStlIncludesInHeadersTest` reads `self.assertIn`, 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": 143932, "scanner": "repobility-ast-engine", "fingerprint": "10490c5a0be6798d184e15aa10b4280d7bf13a45adb3db1c604bff7701b33b3a", "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|10490c5a0be6798d184e15aa10b4280d7bf13a45adb3db1c604bff7701b33b3a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 121}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testBadFiles` of class `CheckForSuperfluousStlIncludesInHeadersTest` reads `self.assertIn`, 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": 143931, "scanner": "repobility-ast-engine", "fingerprint": "92916ce435b7612b12ca36ff54e28c95cc3725c5b57d6c7bd7fdfddf08e4151e", "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|92916ce435b7612b12ca36ff54e28c95cc3725c5b57d6c7bd7fdfddf08e4151e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 120}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testBadFiles` of class `CheckForSuperfluousStlIncludesInHeadersTest` 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": 143930, "scanner": "repobility-ast-engine", "fingerprint": "916ef06df1f8c0ec625acfb18b3a8cd07482d1f5b145c6087de7f8971ffd80c4", "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|916ef06df1f8c0ec625acfb18b3a8cd07482d1f5b145c6087de7f8971ffd80c4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 119}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testGoodFiles` of class `CheckForSuperfluousStlIncludesInHeadersTest` 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": 143929, "scanner": "repobility-ast-engine", "fingerprint": "72bd853ec3da38bac5e88c41023735acd8d57aa542e4fe4ba2a902f9a08380d5", "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|72bd853ec3da38bac5e88c41023735acd8d57aa542e4fe4ba2a902f9a08380d5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 107}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testGoodFiles` of class `BadExtensionsTest` 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": 143928, "scanner": "repobility-ast-engine", "fingerprint": "014f3057d5f1223c841c848b032e25cf9c0763ca63d6c52cd9c3ea9e50709c9e", "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|014f3057d5f1223c841c848b032e25cf9c0763ca63d6c52cd9c3ea9e50709c9e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 83}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testBadOrigFile` of class `BadExtensionsTest` reads `self.assertIn`, 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": 143927, "scanner": "repobility-ast-engine", "fingerprint": "a675c9bf57c1cd29af18e35e8a28c73006e4bf38cb02ca428a3eddf994f06437", "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|a675c9bf57c1cd29af18e35e8a28c73006e4bf38cb02ca428a3eddf994f06437"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 74}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testBadOrigFile` of class `BadExtensionsTest` 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": 143926, "scanner": "repobility-ast-engine", "fingerprint": "bc52d9ee568ebd23b06d4b21efcfb52204bd3639bea57ea127d39c3ef1a5fef9", "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|bc52d9ee568ebd23b06d4b21efcfb52204bd3639bea57ea127d39c3ef1a5fef9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 73}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testBadOrigFile` of class `BadExtensionsTest` 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": 143925, "scanner": "repobility-ast-engine", "fingerprint": "0975554d3551014f91d40d418c650b905ec440cfec244aaabbd5ff5f49c36bda", "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|0975554d3551014f91d40d418c650b905ec440cfec244aaabbd5ff5f49c36bda"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 72}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testBadRejFile` of class `BadExtensionsTest` reads `self.assertIn`, 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": 143924, "scanner": "repobility-ast-engine", "fingerprint": "3df99d9832d54072fd3a12d792d40a762bdce4c653bea8a7fc1ea3e46ba86286", "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|3df99d9832d54072fd3a12d792d40a762bdce4c653bea8a7fc1ea3e46ba86286"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 61}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testBadRejFile` of class `BadExtensionsTest` reads `self.assertIn`, 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": 143923, "scanner": "repobility-ast-engine", "fingerprint": "729bf8d299251a2f5509fafe9aa95894873a99a79a4c3eb04c321cd49df6ff2d", "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|729bf8d299251a2f5509fafe9aa95894873a99a79a4c3eb04c321cd49df6ff2d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 60}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testBadRejFile` of class `BadExtensionsTest` 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": 143922, "scanner": "repobility-ast-engine", "fingerprint": "144456cdff85ed493d56bdbab223d7edb15bded40eef84ffdca19f7187e62e32", "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|144456cdff85ed493d56bdbab223d7edb15bded40eef84ffdca19f7187e62e32"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 59}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testBadRejFile` of class `BadExtensionsTest` 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": 143921, "scanner": "repobility-ast-engine", "fingerprint": "9609bfb53587f486ebedebbbd6177301648979474b9ed0b9f7bda06f44ea3611", "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|9609bfb53587f486ebedebbbd6177301648979474b9ed0b9f7bda06f44ea3611"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testIgnoresReadmes` of class `VersionControlConflictsTest` 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": 143920, "scanner": "repobility-ast-engine", "fingerprint": "5db3301296e23549854b9cd5e59930b3362e8b0079b6c893e97df6d1b8bcd02c", "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|5db3301296e23549854b9cd5e59930b3362e8b0079b6c893e97df6d1b8bcd02c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 44}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testTypicalConflict` of class `VersionControlConflictsTest` reads `self.assertIn`, 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": 143919, "scanner": "repobility-ast-engine", "fingerprint": "78a39b76b1f85772edeb4fdd7badf282796b7032ecca3f21ab93960172433918", "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|78a39b76b1f85772edeb4fdd7badf282796b7032ecca3f21ab93960172433918"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 35}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testTypicalConflict` of class `VersionControlConflictsTest` reads `self.assertIn`, 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": 143918, "scanner": "repobility-ast-engine", "fingerprint": "e87b71bb3af12da452ac7fac0ed43889a39ce279dffae259dd87596dac91ae5a", "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|e87b71bb3af12da452ac7fac0ed43889a39ce279dffae259dd87596dac91ae5a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 34}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIn` used but never assigned in __init__: Method `testTypicalConflict` of class `VersionControlConflictsTest` reads `self.assertIn`, 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": 143917, "scanner": "repobility-ast-engine", "fingerprint": "c466761e7b909296693ceb376c3132fc2103ba5242710c5ca32ddce0d1eb0886", "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|c466761e7b909296693ceb376c3132fc2103ba5242710c5ca32ddce0d1eb0886"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 33}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `testTypicalConflict` of class `VersionControlConflictsTest` 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": 143916, "scanner": "repobility-ast-engine", "fingerprint": "2c8494d861aaccc7f9320d5c618bea7a1f4f1e9f77dbb30ec8da2be45ca95cca", "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|2c8494d861aaccc7f9320d5c618bea7a1f4f1e9f77dbb30ec8da2be45ca95cca"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test.py"}, "region": {"startLine": 32}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.AffectedFiles` used but never assigned in __init__: Method `AffectedTestableFiles` of class `MockInputApi` reads `self.AffectedFiles`, 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": 143914, "scanner": "repobility-ast-engine", "fingerprint": "bb23d28d5025c1b223f41b16ce7667f573897bb6393a5405751d71427d028f9e", "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|bb23d28d5025c1b223f41b16ce7667f573897bb6393a5405751d71427d028f9e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test_mocks.py"}, "region": {"startLine": 164}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.AffectedFiles` used but never assigned in __init__: Method `AffectedSourceFiles` of class `MockInputApi` reads `self.AffectedFiles`, 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": 143913, "scanner": "repobility-ast-engine", "fingerprint": "44483f647777f032eb49739f7d0ca545b7a195a96b5b29ce364f6c50155ee345", "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|44483f647777f032eb49739f7d0ca545b7a195a96b5b29ce364f6c50155ee345"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test_mocks.py"}, "region": {"startLine": 160}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.AffectedSourceFiles` used but never assigned in __init__: Method `RightHandSideLines` of class `MockInputApi` reads `self.AffectedSourceFiles`, 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": 143912, "scanner": "repobility-ast-engine", "fingerprint": "ff2f10f22d564a2608d55804d3ad4e98dc7e80185de713b0f111fa4e4f1f5c8a", "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|ff2f10f22d564a2608d55804d3ad4e98dc7e80185de713b0f111fa4e4f1f5c8a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test_mocks.py"}, "region": {"startLine": 153}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.glob` used but never assigned in __init__: Method `InitFiles` of class `MockInputApi` reads `self.glob`, 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": 143911, "scanner": "repobility-ast-engine", "fingerprint": "bc723b9da28f1beb38a2af7420a16ca9f805f1f1735ac42a6a2d2f67ef660235", "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|bc723b9da28f1beb38a2af7420a16ca9f805f1f1735ac42a6a2d2f67ef660235"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT_test_mocks.py"}, "region": {"startLine": 142}}}]}, {"ruleId": "MINED023", "level": "error", "message": {"text": "[MINED023] Xxe Sax Default: xml.etree.ElementTree.parse / xml.sax / lxml without disable-entities \u2014 XXE attack."}, "properties": {"repobilityId": 143883, "scanner": "repobility-threat-engine", "fingerprint": "0c878ca43f224da86509c1222f0bdd14f5fb9181781b647f17e65a056ca8c077", "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": "xxe-sax-default", "owasp": "A05:2021", "cwe_ids": ["CWE-611"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347952+00:00", "triaged_in_corpus": 15, "observations_count": 38926, "ai_coder_pattern_id": 33}, "scanner": "repobility-threat-engine", "correlation_key": "fp|0c878ca43f224da86509c1222f0bdd14f5fb9181781b647f17e65a056ca8c077"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/win/DebugVisualizers/PRESUBMIT.py"}, "region": {"startLine": 27}}}]}, {"ruleId": "MINED004", "level": "error", "message": {"text": "[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums)."}, "properties": {"repobilityId": 143882, "scanner": "repobility-threat-engine", "fingerprint": "f99e91d673b23345a30f191136a197a39638905a5b7af796c1621f5b94b1c2c4", "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|f99e91d673b23345a30f191136a197a39638905a5b7af796c1621f5b94b1c2c4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/perf/PRESUBMIT.py"}, "region": {"startLine": 147}}}]}, {"ruleId": "MINED004", "level": "error", "message": {"text": "[MINED004] Weak Crypto: MD5/SHA1/DES/RC4 used for security context (not just checksums)."}, "properties": {"repobilityId": 143881, "scanner": "repobility-threat-engine", "fingerprint": "80edb6421a83991a0a66a67dc14643f7f3d9e920bde43651ca482f2006b88683", "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|80edb6421a83991a0a66a67dc14643f7f3d9e920bde43651ca482f2006b88683"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/metrics/actions/PRESUBMIT.py"}, "region": {"startLine": 40}}}]}, {"ruleId": "SEC085", "level": "error", "message": {"text": "[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived input enables command injection. Ported from eslint-plugin-security detect-child-process (Apache-2.0)."}, "properties": {"repobilityId": 143880, "scanner": "repobility-threat-engine", "fingerprint": "02de365c8a40994233e38f8269f9e205ced5304dac43aba9dc407e4a2cc9622e", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "exec(presubmit_content", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC085", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|02de365c8a40994233e38f8269f9e205ced5304dac43aba9dc407e4a2cc9622e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "chrome/browser/ash/arc/PRESUBMIT.py"}, "region": {"startLine": 13}}}]}, {"ruleId": "MINED021", "level": "error", "message": {"text": "[MINED021] Path Traversal Os Join: os.path.join(user_dir, filename) where filename can contain \"../\" \u2014 directory escape."}, "properties": {"repobilityId": 143877, "scanner": "repobility-threat-engine", "fingerprint": "42943f8cbc5db0d07053100c8e6da8f802610293180c71884775aa0327d4d610", "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": "path-traversal-os-join", "owasp": "A01:2021", "cwe_ids": ["CWE-22"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347947+00:00", "triaged_in_corpus": 15, "observations_count": 45678, "ai_coder_pattern_id": 31}, "scanner": "repobility-threat-engine", "correlation_key": "fp|42943f8cbc5db0d07053100c8e6da8f802610293180c71884775aa0327d4d610"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "infra/config/targets/PRESUBMIT.py"}, "region": {"startLine": 14}}}]}, {"ruleId": "MINED021", "level": "error", "message": {"text": "[MINED021] Path Traversal Os Join: os.path.join(user_dir, filename) where filename can contain \"../\" \u2014 directory escape."}, "properties": {"repobilityId": 143876, "scanner": "repobility-threat-engine", "fingerprint": "d3c98c48c0f7a7cdc75198c99d1aeaf1e8581abde22a038bda409174953c376d", "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": "path-traversal-os-join", "owasp": "A01:2021", "cwe_ids": ["CWE-22"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347947+00:00", "triaged_in_corpus": 15, "observations_count": 45678, "ai_coder_pattern_id": 31}, "scanner": "repobility-threat-engine", "correlation_key": "fp|d3c98c48c0f7a7cdc75198c99d1aeaf1e8581abde22a038bda409174953c376d"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gpu/config/PRESUBMIT.py"}, "region": {"startLine": 18}}}]}, {"ruleId": "MINED021", "level": "error", "message": {"text": "[MINED021] Path Traversal Os Join: os.path.join(user_dir, filename) where filename can contain \"../\" \u2014 directory escape."}, "properties": {"repobilityId": 143875, "scanner": "repobility-threat-engine", "fingerprint": "114f8d32681671d6fda76b6d00700b3b1a8179e84d8244c782964922c9bfcec1", "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": "path-traversal-os-join", "owasp": "A01:2021", "cwe_ids": ["CWE-22"], "precision": 1.0, "promoted_at": "2026-05-18T14:01:32.347947+00:00", "triaged_in_corpus": 15, "observations_count": 45678, "ai_coder_pattern_id": 31}, "scanner": "repobility-threat-engine", "correlation_key": "fp|114f8d32681671d6fda76b6d00700b3b1a8179e84d8244c782964922c9bfcec1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "android_webview/java/res/raw/PRESUBMIT.py"}, "region": {"startLine": 18}}}]}, {"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": 143874, "scanner": "repobility-threat-engine", "fingerprint": "d634329a2a72ade1fc45867bb3c721e91a9e084aa5762f998952546a165b7e61", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "mProcessor.destroy();", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC128", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|d634329a2a72ade1fc45867bb3c721e91a9e084aa5762f998952546a165b7e61"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "android_webview/glue/java/src/com/android/webview/chromium/PacProcessorImpl.java"}, "region": {"startLine": 41}}}]}, {"ruleId": "SEC029", "level": "error", "message": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.254.169.254 metadata, internal Kubernetes endpoints, file:// URIs), exfiltrate data, or pivot through your network. SSRF is OWASP A10:2021 and a frequent foothold in cloud breaches."}, "properties": {"repobilityId": 143872, "scanner": "repobility-threat-engine", "fingerprint": "0f19646d5d2668ea17da1599b1221e94baf3e10f66cf369698516e5d39d6f893", "category": "ssrf", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "URL(c", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC029", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|0f19646d5d2668ea17da1599b1221e94baf3e10f66cf369698516e5d39d6f893"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "android_webview/browser/aw_web_ui_controller_factory.h"}, "region": {"startLine": 23}}}]}, {"ruleId": "SEC029", "level": "error", "message": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.254.169.254 metadata, internal Kubernetes endpoints, file:// URIs), exfiltrate data, or pivot through your network. SSRF is OWASP A10:2021 and a frequent foothold in cloud breaches."}, "properties": {"repobilityId": 143871, "scanner": "repobility-threat-engine", "fingerprint": "0a2660c824a4a886e0026f572b317bcb751d4e617d3f917bd084d1261bd01f18", "category": "ssrf", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "Url(\n      c", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC029", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|0a2660c824a4a886e0026f572b317bcb751d4e617d3f917bd084d1261bd01f18"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "android_webview/browser/aw_ssl_host_state_delegate.h"}, "region": {"startLine": 89}}}]}, {"ruleId": "SEC029", "level": "error", "message": {"text": "[SEC029] Server-Side Request Forgery (SSRF) \u2014 outbound HTTP from user input: Outbound HTTP request to a user-controlled URL without allowlist validation. Attackers can probe internal services (169.254.169.254 metadata, internal Kubernetes endpoints, file:// URIs), exfiltrate data, or pivot through your network. SSRF is OWASP A10:2021 and a frequent foothold in cloud breaches."}, "properties": {"repobilityId": 143870, "scanner": "repobility-threat-engine", "fingerprint": "0c972180103845ef7182aeb5bd50c6e158c5a9c6641ffcffb3aef803c363f649", "category": "ssrf", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "Url(c", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC029", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|0c972180103845ef7182aeb5bd50c6e158c5a9c6641ffcffb3aef803c363f649"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "android_webview/browser/aw_enterprise_authentication_app_link_manager.h"}, "region": {"startLine": 28}}}]}, {"ruleId": "SEC013", "level": "error", "message": {"text": "[SEC013] Path Traversal \u2014 User Input in File Path: User-controlled input used in file path without sanitization. Allows reading arbitrary files."}, "properties": {"repobilityId": 143867, "scanner": "repobility-threat-engine", "fingerprint": "29b78fcf4916829d2aece719b9dd4549b641f21b74a60ae7dc628ddb0bf147c8", "category": "path_traversal", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "User-controlled input detected in file path construction", "evidence": {"match": "os.path.join(input", "reason": "User-controlled input detected in file path construction", "rule_id": "SEC013", "scanner": "repobility-threat-engine", "confidence": 0.8, "correlation_key": "code|path_traversal|gpu/config/presubmit.py|18|sec013"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "gpu/config/PRESUBMIT.py"}, "region": {"startLine": 18}}}]}, {"ruleId": "SEC013", "level": "error", "message": {"text": "[SEC013] Path Traversal \u2014 User Input in File Path: User-controlled input used in file path without sanitization. Allows reading arbitrary files."}, "properties": {"repobilityId": 143866, "scanner": "repobility-threat-engine", "fingerprint": "05988cb2f181fbd0e6274e761952351f8955baeb8eb996647ef8f77061df7f9d", "category": "path_traversal", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "User-controlled input detected in file path construction", "evidence": {"match": "os.path.join(input", "reason": "User-controlled input detected in file path construction", "rule_id": "SEC013", "scanner": "repobility-threat-engine", "confidence": 0.8, "correlation_key": "code|path_traversal|token|18|sec013"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "android_webview/java/res/raw/PRESUBMIT.py"}, "region": {"startLine": 18}}}]}, {"ruleId": "SEC013", "level": "error", "message": {"text": "[SEC013] Path Traversal \u2014 User Input in File Path: User-controlled input used in file path without sanitization. Allows reading arbitrary files."}, "properties": {"repobilityId": 143865, "scanner": "repobility-threat-engine", "fingerprint": "d702cbc4dfe78951835ab6d2bdfc63d0eed9513910e8db7c40a37bdb9959bff8", "category": "path_traversal", "severity": "high", "confidence": 0.8, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "User-controlled input detected in file path construction", "evidence": {"match": "open(input", "reason": "User-controlled input detected in file path construction", "rule_id": "SEC013", "scanner": "repobility-threat-engine", "confidence": 0.8, "correlation_key": "code|path_traversal|token|30|sec013"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/prompts/process_prompts.py"}, "region": {"startLine": 30}}}]}, {"ruleId": "SEC103", "level": "error", "message": {"text": "[SEC103] LDAP injection \u2014 non-constant search filter: User input concatenated into an LDAP search filter. Attackers inject `*)(uid=*` style payloads to bypass auth or enumerate accounts."}, "properties": {"repobilityId": 143863, "scanner": "repobility-threat-engine", "fingerprint": "1cf9af79b1cff4a77276e8396a80771d1ca34a77c0a27588fe4188936cd80662", "category": "injection", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": ".search(r' {4}name = \"(.+)", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC103", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "code|injection|token|21|sec103"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "infra/config/targets/PRESUBMIT.py"}, "region": {"startLine": 21}}}]}, {"ruleId": "SEC103", "level": "error", "message": {"text": "[SEC103] LDAP injection \u2014 non-constant search filter: User input concatenated into an LDAP search filter. Attackers inject `*)(uid=*` style payloads to bypass auth or enumerate accounts."}, "properties": {"repobilityId": 143862, "scanner": "repobility-threat-engine", "fingerprint": "bb5dcac992b5cbaacfc4f8de20114ddae6b1e80d9e9b486c3d17b45ed49eafcc", "category": "injection", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": ".search(\n      r'\\bconst +' + '(?P<type>(%s)", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC103", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "code|injection|cc/presubmit.py|110|sec103"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cc/PRESUBMIT.py"}, "region": {"startLine": 110}}}]}, {"ruleId": "SEC103", "level": "error", "message": {"text": "[SEC103] LDAP injection \u2014 non-constant search filter: User input concatenated into an LDAP search filter. Attackers inject `*)(uid=*` style payloads to bypass auth or enumerate accounts."}, "properties": {"repobilityId": 143861, "scanner": "repobility-threat-engine", "fingerprint": "23f07fc2f5198659f092ccd1d7c20464e847048bdbf57c835c0fe3e920378612", "category": "injection", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": ".search(r'<enum name=\"([^\"]+)", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC103", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "code|injection|token|25|sec103"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/projects/code-health/lint-sync/scripts/find_unguarded_enums.py"}, "region": {"startLine": 25}}}]}, {"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": 143859, "scanner": "repobility-threat-engine", "fingerprint": "3230459138fc2c689afff04d1fa1b5ab4e7f043d21b39ac0b0b8627c7db524e8", "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|3230459138fc2c689afff04d1fa1b5ab4e7f043d21b39ac0b0b8627c7db524e8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/projects/code-health/histogram-cleanup/scripts/find_expired_in_file.py"}, "region": {"startLine": 43}}}]}, {"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": 143858, "scanner": "repobility-threat-engine", "fingerprint": "25cd0ce945a8cd9a3f5de0da8d60a11d42bb01c575a10f3aa0fcae89540b107c", "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|25cd0ce945a8cd9a3f5de0da8d60a11d42bb01c575a10f3aa0fcae89540b107c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/projects/code-health/histogram-cleanup/scripts/find_expired.py"}, "region": {"startLine": 68}}}]}, {"ruleId": "SEC114", "level": "error", "message": {"text": "[SEC114] path.join / Path() on user-controlled segment without containment check: filepath.Clean / path.Join on attacker-supplied segments does NOT prevent escape from the base directory. `../../../etc/passwd` resolves cleanly."}, "properties": {"repobilityId": 143844, "scanner": "repobility-threat-engine", "fingerprint": "46610725fe6e2f0697cfba459d2ba536caa28c9c508ae6132fd531cf0257bbb8", "category": "path_traversal", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "path.join(input", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC114", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "code|path_traversal|agents/prompts/presubmit.py|15|sec114"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/prompts/PRESUBMIT.py"}, "region": {"startLine": 15}}}]}, {"ruleId": "SEC114", "level": "error", "message": {"text": "[SEC114] path.join / Path() on user-controlled segment without containment check: filepath.Clean / path.Join on attacker-supplied segments does NOT prevent escape from the base directory. `../../../etc/passwd` resolves cleanly."}, "properties": {"repobilityId": 143843, "scanner": "repobility-threat-engine", "fingerprint": "6721b35c6847f4939814bd9620372d3e304b411b6104083d3d179682f7ef2d7c", "category": "path_traversal", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "path.join(input", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC114", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "code|path_traversal|agents/presubmit.py|22|sec114"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/PRESUBMIT.py"}, "region": {"startLine": 22}}}]}, {"ruleId": "SEC114", "level": "error", "message": {"text": "[SEC114] path.join / Path() on user-controlled segment without containment check: filepath.Clean / path.Join on attacker-supplied segments does NOT prevent escape from the base directory. `../../../etc/passwd` resolves cleanly."}, "properties": {"repobilityId": 143842, "scanner": "repobility-threat-engine", "fingerprint": "c9545dfcaf821aa4319c3108072365e724846ee38b7631e0247a6ad7c0389eb7", "category": "path_traversal", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "path.join(input", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC114", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "code|path_traversal|. token|18|sec114"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".gemini/commands/PRESUBMIT.py"}, "region": {"startLine": 18}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `warnings` used but not imported: The file uses `warnings.something(...)` but never imports `warnings`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 143990, "scanner": "repobility-ast-engine", "fingerprint": "f2de4df882d1d0f9b86bdddf562576db6be3eb1b2ff816f955b4811f00db503e", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "missing-import-python", "owasp": "A06:2021", "cwe_ids": ["CWE-1075"], "languages": ["python"], "observations_count": 2192}, "scanner": "repobility-ast-engine", "correlation_key": "fp|f2de4df882d1d0f9b86bdddf562576db6be3eb1b2ff816f955b4811f00db503e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "content/test/gpu/PRESUBMIT.py"}, "region": {"startLine": 125}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `warnings` used but not imported: The file uses `warnings.something(...)` but never imports `warnings`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 143950, "scanner": "repobility-ast-engine", "fingerprint": "130f51917e1b62f9b471a4232e5bc055e80cbcceab0773af3cb7a82bf0addd43", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "missing-import-python", "owasp": "A06:2021", "cwe_ids": ["CWE-1075"], "languages": ["python"], "observations_count": 2192}, "scanner": "repobility-ast-engine", "correlation_key": "fp|130f51917e1b62f9b471a4232e5bc055e80cbcceab0773af3cb7a82bf0addd43"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/autofill/PRESUBMIT.py"}, "region": {"startLine": 124}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `warnings` used but not imported: The file uses `warnings.something(...)` but never imports `warnings`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 143949, "scanner": "repobility-ast-engine", "fingerprint": "bf6243503a93d39552585e132fb9cc0bb5b5bcacf8b6601731fcd54b6f3417b9", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "missing-import-python", "owasp": "A06:2021", "cwe_ids": ["CWE-1075"], "languages": ["python"], "observations_count": 2192}, "scanner": "repobility-ast-engine", "correlation_key": "fp|bf6243503a93d39552585e132fb9cc0bb5b5bcacf8b6601731fcd54b6f3417b9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "components/segmentation_platform/PRESUBMIT.py"}, "region": {"startLine": 96}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `enum` used but not imported: The file uses `enum.something(...)` but never imports `enum`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 143948, "scanner": "repobility-ast-engine", "fingerprint": "50991bd40b0b50a5731d7bc8096a2e185f132c5c54aa1ddb7532885e7ff27a1e", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "missing-import-python", "owasp": "A06:2021", "cwe_ids": ["CWE-1075"], "languages": ["python"], "observations_count": 2192}, "scanner": "repobility-ast-engine", "correlation_key": "fp|50991bd40b0b50a5731d7bc8096a2e185f132c5c54aa1ddb7532885e7ff27a1e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ui/accessibility/PRESUBMIT.py"}, "region": {"startLine": 205}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `warnings` used but not imported: The file uses `warnings.something(...)` but never imports `warnings`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 143947, "scanner": "repobility-ast-engine", "fingerprint": "c6f4b3576f89681f83a207866b62833c53ce0f0ffcacdbb097f76973873b0b12", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "missing-import-python", "owasp": "A06:2021", "cwe_ids": ["CWE-1075"], "languages": ["python"], "observations_count": 2192}, "scanner": "repobility-ast-engine", "correlation_key": "fp|c6f4b3576f89681f83a207866b62833c53ce0f0ffcacdbb097f76973873b0b12"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "testing/buildbot/filters/PRESUBMIT.py"}, "region": {"startLine": 68}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `queue` used but not imported: The file uses `queue.something(...)` but never imports `queue`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 143946, "scanner": "repobility-ast-engine", "fingerprint": "2b4cfb306ce882f876fcba92548a8e46a9b3fb84b9c86ad6dd348f5aefa4c489", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "missing-import-python", "owasp": "A06:2021", "cwe_ids": ["CWE-1075"], "languages": ["python"], "observations_count": 2192}, "scanner": "repobility-ast-engine", "correlation_key": "fp|2b4cfb306ce882f876fcba92548a8e46a9b3fb84b9c86ad6dd348f5aefa4c489"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "remoting/tools/magi-mode/PRESUBMIT.py"}, "region": {"startLine": 283}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `warnings` used but not imported: The file uses `warnings.something(...)` but never imports `warnings`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 143944, "scanner": "repobility-ast-engine", "fingerprint": "b31303384fb0be64591189a434e8af2cf0a6b2fa532ab39863cc2223171cc4fd", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "missing-import-python", "owasp": "A06:2021", "cwe_ids": ["CWE-1075"], "languages": ["python"], "observations_count": 2192}, "scanner": "repobility-ast-engine", "correlation_key": "fp|b31303384fb0be64591189a434e8af2cf0a6b2fa532ab39863cc2223171cc4fd"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "ios/PRESUBMIT.py"}, "region": {"startLine": 88}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `warnings` used but not imported: The file uses `warnings.something(...)` but never imports `warnings`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 143939, "scanner": "repobility-ast-engine", "fingerprint": "dc70fdc615288ac4642532e29994af537d43e4e4293a1be00270b301f9dd348e", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "missing-import-python", "owasp": "A06:2021", "cwe_ids": ["CWE-1075"], "languages": ["python"], "observations_count": 2192}, "scanner": "repobility-ast-engine", "correlation_key": "fp|dc70fdc615288ac4642532e29994af537d43e4e4293a1be00270b301f9dd348e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT.py"}, "region": {"startLine": 8212}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `ast` used but not imported: The file uses `ast.something(...)` but never imports `ast`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 143938, "scanner": "repobility-ast-engine", "fingerprint": "763509f4b985d7b46497f8d06754c1954ab1d7c3040b6fb74ac2d6fd5db76550", "category": "quality", "severity": "critical", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "missing-import-python", "owasp": "A06:2021", "cwe_ids": ["CWE-1075"], "languages": ["python"], "observations_count": 2192}, "scanner": "repobility-ast-engine", "correlation_key": "fp|763509f4b985d7b46497f8d06754c1954ab1d7c3040b6fb74ac2d6fd5db76550"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PRESUBMIT.py"}, "region": {"startLine": 5638}}}]}]}]}