{"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": "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": "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": "AGT015", "name": "Remote install command pipes network code directly to a shell", "shortDescription": {"text": "Remote install command pipes network code directly to a shell"}, "fullDescription": {"text": "Publish a package-manager install path or add checksum/signature verification before execution. For docs, show the inspect-then-run flow and pin the downloaded artifact version."}, "properties": {"scanner": "repobility-agent-runtime", "category": "dependency", "severity": "medium", "confidence": 0.7, "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": "COMP001", "name": "[COMP001] High cognitive complexity: Function `_sanitize_payload` has cognitive complexity 10 (SonarSource scale). Cogni", "shortDescription": {"text": "[COMP001] High cognitive complexity: Function `_sanitize_payload` 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 recur"}, "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 10."}, "properties": {"scanner": "repobility-threat-engine", "category": "quality", "severity": "low", "confidence": 0.95, "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": "MINED131", "name": "[MINED131] pre-commit hook `https://github.com/commitizen-tools/commitizen` pinned to mutable rev `v4.10.1`: `.pre-commi", "shortDescription": {"text": "[MINED131] pre-commit hook `https://github.com/commitizen-tools/commitizen` pinned to mutable rev `v4.10.1`: `.pre-commit-config.yaml` references `https://github.com/commitizen-tools/commitizen` at `rev: v4.10.1`. If `{rev}` is a branch or "}, "fullDescription": {"text": "Pin to a commit SHA: `rev: <40-char-sha>` and bump it through `pre-commit autoupdate` (which writes to PRs that are reviewed)."}, "properties": {"scanner": "repobility-supply-chain", "category": "dependency", "severity": "high", "confidence": 0.9, "cwe": "", "owasp": ""}}, {"id": "MINED112", "name": "[MINED112] FastAPI PATCH crewai_cli.cli.DeployCommand has no auth: Handler `test_deploy_status_no_uuid` is registered wi", "shortDescription": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.DeployCommand has no auth: Handler `test_deploy_status_no_uuid` 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": "MINED110", "name": "[MINED110] Blocking call `time.sleep` inside async function `test_mixed_sync_async_handler_execution`: `time.sleep` is a", "shortDescription": {"text": "[MINED110] Blocking call `time.sleep` inside async function `test_mixed_sync_async_handler_execution`: `time.sleep` is a synchronous (blocking) call. When invoked inside an `async def` it stalls the event loop, preventing every other corout"}, "fullDescription": {"text": "Use the async equivalent: `aiohttp` instead of `requests`, `asyncio.sleep` instead of `time.sleep`, `aiofiles` instead of `open`."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED106", "name": "[MINED106] Phantom test coverage: test_list_crews: Test function `test_list_crews` runs code but contains no assert / ex", "shortDescription": {"text": "[MINED106] Phantom test coverage: test_list_crews: Test function `test_list_crews` 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.assertEqual` used but never assigned in __init__: Method `test_dump_new_settings` of class `TestSetting", "shortDescription": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `test_dump_new_settings` of class `TestSettings` reads `self.assertEqual`, but no assignment to it exists in __init__ (and no class-level fallback). This raises Attri"}, "fullDescription": {"text": "Initialize `self.assertEqual = <default>` in __init__, or add a class-level default."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "high", "confidence": 1.0, "cwe": "", "owasp": ""}}, {"id": "MINED116", "name": "[MINED116] Workflow uses `secrets.CREWAI_TOOL_SPECS_PRIVATE_KEY` on a `pull_request` trigger: This workflow triggers on ", "shortDescription": {"text": "[MINED116] Workflow uses `secrets.CREWAI_TOOL_SPECS_PRIVATE_KEY` on a `pull_request` trigger: This workflow triggers on `pull_request`, which checks out the FORK's code. Referencing `${ secrets.CREWAI_TOOL_SPECS_PRIVATE_KEY }` lets a PR fro"}, "fullDescription": {"text": "Either remove the secret reference, or switch the trigger to `pull_request_target` AND ensure no fork-controlled code runs before the secret is consumed."}, "properties": {"scanner": "repobility-supply-chain", "category": "dependency", "severity": "critical", "confidence": 0.9, "cwe": "", "owasp": ""}}, {"id": "MINED107", "name": "[MINED107] Missing import: `string` used but not imported: The file uses `string.something(...)` but never imports `stri", "shortDescription": {"text": "[MINED107] Missing import: `string` used but not imported: The file uses `string.something(...)` but never imports `string`. This raises NameError at runtime the first time the line executes."}, "fullDescription": {"text": "Add `import string` at the top of the file."}, "properties": {"scanner": "repobility-ast-engine", "category": "quality", "severity": "critical", "confidence": 1.0, "cwe": "", "owasp": ""}}]}}, "automationDetails": {"id": "repobility/939"}, "properties": {"repository": "crewAIInc/crewAI", "repoUrl": "https://github.com/crewAIInc/crewAI", "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": 88213, "scanner": "repobility-ast-engine", "fingerprint": "468de54d5235705549b7d844057be74e69af05ac6ceb545e7705055b12622ea2", "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|468de54d5235705549b7d844057be74e69af05ac6ceb545e7705055b12622ea2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/cli.py"}, "region": {"startLine": 277}}}]}, {"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": 88212, "scanner": "repobility-ast-engine", "fingerprint": "b4569b52038ffd1756b767689789efc6915333fd68d59078dec6d97ebf40181b", "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|b4569b52038ffd1756b767689789efc6915333fd68d59078dec6d97ebf40181b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/cli.py"}, "region": {"startLine": 180}}}]}, {"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": 88211, "scanner": "repobility-ast-engine", "fingerprint": "23e020e952b637c8b2bddcf8b91e9f1f73477789f6d6077ac648e420f58add62", "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|23e020e952b637c8b2bddcf8b91e9f1f73477789f6d6077ac648e420f58add62"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/cli.py"}, "region": {"startLine": 117}}}]}, {"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": 88210, "scanner": "repobility-ast-engine", "fingerprint": "00cfc20ff55f255166262ce41800c4994097500f1f2f1b1b9383f87054cbb9a8", "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|00cfc20ff55f255166262ce41800c4994097500f1f2f1b1b9383f87054cbb9a8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/cli.py"}, "region": {"startLine": 51}}}]}, {"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": 88209, "scanner": "repobility-ast-engine", "fingerprint": "e596a4425fa5ef3521c80ec6adacdf596400f75e103e00110bec2161c4d77750", "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|e596a4425fa5ef3521c80ec6adacdf596400f75e103e00110bec2161c4d77750"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/memory_tui.py"}, "region": {"startLine": 390}}}]}, {"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": 88208, "scanner": "repobility-ast-engine", "fingerprint": "019b60fc29f056f8936311eacd5f83386cf3b32769a5683659ed96a518a5ee29", "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|019b60fc29f056f8936311eacd5f83386cf3b32769a5683659ed96a518a5ee29"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/memory_tui.py"}, "region": {"startLine": 140}}}]}, {"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": 88207, "scanner": "repobility-ast-engine", "fingerprint": "b28cf8d3781aab749849de40dabd014d04f8aa9e22aa4158ba2a056d8171ee1b", "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|b28cf8d3781aab749849de40dabd014d04f8aa9e22aa4158ba2a056d8171ee1b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/checkpoint_cli.py"}, "region": {"startLine": 284}}}]}, {"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": 88206, "scanner": "repobility-ast-engine", "fingerprint": "12fd615ce0e953aebf1197753d34c46c6422a7c9ec87c15f0cec331fc47298cb", "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|12fd615ce0e953aebf1197753d34c46c6422a7c9ec87c15f0cec331fc47298cb"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/checkpoint_cli.py"}, "region": {"startLine": 386}}}]}, {"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": 88205, "scanner": "repobility-ast-engine", "fingerprint": "beb0979785b5fa19464def132e09692f04c11fbc47c48cd217ed0c0cd19ea0ee", "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|beb0979785b5fa19464def132e09692f04c11fbc47c48cd217ed0c0cd19ea0ee"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/checkpoint_cli.py"}, "region": {"startLine": 240}}}]}, {"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": 88204, "scanner": "repobility-ast-engine", "fingerprint": "88b9db69b30277b746f8a970dbf90aff2242f81819e56a73671568fc53078b88", "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|88b9db69b30277b746f8a970dbf90aff2242f81819e56a73671568fc53078b88"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/train_crew.py"}, "region": {"startLine": 31}}}]}, {"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": 88203, "scanner": "repobility-ast-engine", "fingerprint": "fc8432c156b1f3b4e101e3336250262edc2c299800592f1b6d4c3f96a07104fe", "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|fc8432c156b1f3b4e101e3336250262edc2c299800592f1b6d4c3f96a07104fe"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/create_flow.py"}, "region": {"startLine": 53}}}]}, {"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": 88202, "scanner": "repobility-ast-engine", "fingerprint": "490d9b4863b661b416e45ac3403d783e7efb83c56f622cebfe762c2c23e79ae6", "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|490d9b4863b661b416e45ac3403d783e7efb83c56f622cebfe762c2c23e79ae6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/run_crew.py"}, "region": {"startLine": 73}}}]}, {"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": 88201, "scanner": "repobility-ast-engine", "fingerprint": "34598f5d79727e2b4b006075c952aee79efcd144f38400ccc71edd0b6ab62a9a", "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|34598f5d79727e2b4b006075c952aee79efcd144f38400ccc71edd0b6ab62a9a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/kickoff_flow.py"}, "region": {"startLine": 22}}}]}, {"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": 88150, "scanner": "repobility-ast-engine", "fingerprint": "d2835dfe46e0532db7a2be3ec19e435512ce2c5c4fc05b6ffb2d167281370ef0", "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|d2835dfe46e0532db7a2be3ec19e435512ce2c5c4fc05b6ffb2d167281370ef0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 830}}}]}, {"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": 88149, "scanner": "repobility-ast-engine", "fingerprint": "bd920ca89ea8c172c77d8d4a245763f7129f171279ad1cd51301c805a0c5b0a8", "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|bd920ca89ea8c172c77d8d4a245763f7129f171279ad1cd51301c805a0c5b0a8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 2357}}}]}, {"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": 88148, "scanner": "repobility-ast-engine", "fingerprint": "afc77c19d63528458cce8e587485de7740e3f3f7c7a6905f5f8e5d9520d7e6cb", "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|afc77c19d63528458cce8e587485de7740e3f3f7c7a6905f5f8e5d9520d7e6cb"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 2201}}}]}, {"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": 88147, "scanner": "repobility-ast-engine", "fingerprint": "9203b359825f4e1011690e3ed77a7e12f453f55efc8137c236b3e5a27018146b", "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|9203b359825f4e1011690e3ed77a7e12f453f55efc8137c236b3e5a27018146b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 1069}}}]}, {"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": 88146, "scanner": "repobility-ast-engine", "fingerprint": "6a8b2e5f30928488bcbace67399659b346e452998db1f14a5678f51c38a69e8f", "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|6a8b2e5f30928488bcbace67399659b346e452998db1f14a5678f51c38a69e8f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 2338}}}]}, {"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": 88145, "scanner": "repobility-ast-engine", "fingerprint": "4abbb1ca56533004e9705ff5affb1041d19be2192e9cd72132c5a795df0f1a25", "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|4abbb1ca56533004e9705ff5affb1041d19be2192e9cd72132c5a795df0f1a25"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 2325}}}]}, {"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": 88144, "scanner": "repobility-ast-engine", "fingerprint": "02444d15d871ecfa1987c60cc2a83ac8a8a4a59c96758cd25b68ea6dfa4d2d92", "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|02444d15d871ecfa1987c60cc2a83ac8a8a4a59c96758cd25b68ea6dfa4d2d92"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 2310}}}]}, {"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": 88143, "scanner": "repobility-ast-engine", "fingerprint": "15f726f773ea7995fd46978bed3ca722f8b455365b9cab2d38d26fc63a9fd294", "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|15f726f773ea7995fd46978bed3ca722f8b455365b9cab2d38d26fc63a9fd294"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 2273}}}]}, {"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": 88142, "scanner": "repobility-ast-engine", "fingerprint": "121bc16bb525db6046a063168b9d5724e8845fe22f06bfac9802525155783a6e", "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|121bc16bb525db6046a063168b9d5724e8845fe22f06bfac9802525155783a6e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 2113}}}]}, {"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": 88141, "scanner": "repobility-ast-engine", "fingerprint": "17375527c882c157f9c2af38022d51d408fd888d93d3a539dc27b0da9b6858f8", "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|17375527c882c157f9c2af38022d51d408fd888d93d3a539dc27b0da9b6858f8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 2004}}}]}, {"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": 88140, "scanner": "repobility-ast-engine", "fingerprint": "3c4bdd1dc43bcc7c040d3f545d18d5bc04a14643a3694e31150b8beefe42f32c", "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|3c4bdd1dc43bcc7c040d3f545d18d5bc04a14643a3694e31150b8beefe42f32c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 835}}}]}, {"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": 88139, "scanner": "repobility-ast-engine", "fingerprint": "ae2af2a702a8a48d0dd2c6a6aed56b5672876eccb7522d4df61d4e145f8b1b0e", "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|ae2af2a702a8a48d0dd2c6a6aed56b5672876eccb7522d4df61d4e145f8b1b0e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/devtools/src/crewai_devtools/cli.py"}, "region": {"startLine": 537}}}]}, {"ruleId": "WEB003", "level": "warning", "message": {"text": "Public web service has no security.txt"}, "properties": {"repobilityId": 88138, "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": "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": 88137, "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": ["Django", "FastAPI"], "expected_files": [".repobility/access.yml", ".repobility/access.yaml", ".repobility/access.json", ".repobility/authorization.yml"], "correlation_key": "fp|f1305052c3ba1e6c1cdb5dccc19e58a8168cf78b176658f32b1fc823df3e9d10"}}}, {"ruleId": "AGT015", "level": "warning", "message": {"text": "Remote install command pipes network code directly to a shell"}, "properties": {"repobilityId": 88136, "scanner": "repobility-agent-runtime", "fingerprint": "93f6aaacdbd2288ac7d96945f4d8f78e86f5203ffe3e9199d8889f1495c03377", "category": "dependency", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "File contains a remote download piped directly to a shell without visible checksum or signature verification.", "evidence": {"rule_id": "AGT015", "scanner": "repobility-agent-runtime", "references": [], "correlation_key": "fp|93f6aaacdbd2288ac7d96945f4d8f78e86f5203ffe3e9199d8889f1495c03377"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/ko/installation.mdx"}, "region": {"startLine": 55}}}]}, {"ruleId": "AGT015", "level": "warning", "message": {"text": "Remote install command pipes network code directly to a shell"}, "properties": {"repobilityId": 88135, "scanner": "repobility-agent-runtime", "fingerprint": "b0d3e9ae0c433e7d5292cba7c5ce25569d853c9b6f822fe51cdf79ec850997dd", "category": "dependency", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "likely", "isResolved": false, "reason": "File contains a remote download piped directly to a shell without visible checksum or signature verification.", "evidence": {"rule_id": "AGT015", "scanner": "repobility-agent-runtime", "references": [], "correlation_key": "fp|b0d3e9ae0c433e7d5292cba7c5ce25569d853c9b6f822fe51cdf79ec850997dd"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/ar/installation.mdx"}, "region": {"startLine": 62}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88134, "scanner": "repobility-ai-code-hygiene", "fingerprint": "4d668aef7111a6b389ef4b7dfddf0ac7604f20627d10105e345409b2ddd3fe7b", "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": "lib/crewai/src/crewai/events/types/llm_events.py", "duplicate_line": 10, "correlation_key": "fp|4d668aef7111a6b389ef4b7dfddf0ac7604f20627d10105e345409b2ddd3fe7b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/events/types/tool_usage_events.py"}, "region": {"startLine": 22}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88133, "scanner": "repobility-ai-code-hygiene", "fingerprint": "1360dbfddf314a83714974e0b971f45dff4951d6c56f82c5cd4367c31e1748c6", "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": "lib/crewai/src/crewai/events/event_listener.py", "duplicate_line": 86, "correlation_key": "fp|1360dbfddf314a83714974e0b971f45dff4951d6c56f82c5cd4367c31e1748c6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py"}, "region": {"startLine": 95}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88132, "scanner": "repobility-ai-code-hygiene", "fingerprint": "705959acf735adb99e124ba339c591f571e9fe8f3f1c4603af3f891f410e5bc9", "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": "lib/crewai/src/crewai/events/event_types.py", "duplicate_line": 1, "correlation_key": "fp|705959acf735adb99e124ba339c591f571e9fe8f3f1c4603af3f891f410e5bc9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py"}, "region": {"startLine": 22}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88131, "scanner": "repobility-ai-code-hygiene", "fingerprint": "e51ac617e1347be63cd47e86ddfa98fd82dda7ac81d0a52fbad2e712f4b1e64f", "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": "lib/crewai/src/crewai/events/__init__.py", "duplicate_line": 64, "correlation_key": "fp|e51ac617e1347be63cd47e86ddfa98fd82dda7ac81d0a52fbad2e712f4b1e64f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/events/event_types.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88130, "scanner": "repobility-ai-code-hygiene", "fingerprint": "b48f85b7b4ad1b08932fd215a8468e9548a564694a4bcb405c6ee51a33375cb1", "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": "lib/crewai/src/crewai/events/__init__.py", "duplicate_line": 43, "correlation_key": "fp|b48f85b7b4ad1b08932fd215a8468e9548a564694a4bcb405c6ee51a33375cb1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/events/event_listener.py"}, "region": {"startLine": 21}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88129, "scanner": "repobility-ai-code-hygiene", "fingerprint": "a915f65a73f90681e02bb9ad94dac6c022fa959122f697c368d3e0a3fdacdd66", "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": "lib/cli/src/crewai_cli/constants.py", "duplicate_line": 7, "correlation_key": "fp|a915f65a73f90681e02bb9ad94dac6c022fa959122f697c368d3e0a3fdacdd66"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/constants.py"}, "region": {"startLine": 23}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88128, "scanner": "repobility-ai-code-hygiene", "fingerprint": "b0db37e71aa4482125ac9b231d197b0a74157188edac33f021acdde4c6667842", "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": "lib/crewai/src/crewai/agents/agent_adapters/langgraph/langgraph_adapter.py", "duplicate_line": 125, "correlation_key": "fp|b0db37e71aa4482125ac9b231d197b0a74157188edac33f021acdde4c6667842"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/agents/agent_adapters/openai_agents/openai_adapter.py"}, "region": {"startLine": 76}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88127, "scanner": "repobility-ai-code-hygiene", "fingerprint": "20912e66700cd705383cfe005d630c477681c4cd18817ec1bea9897ee8467ef4", "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": "lib/crewai/src/crewai/a2a/updates/push_notifications/handler.py", "duplicate_line": 61, "correlation_key": "fp|20912e66700cd705383cfe005d630c477681c4cd18817ec1bea9897ee8467ef4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/a2a/updates/streaming/handler.py"}, "region": {"startLine": 376}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88126, "scanner": "repobility-ai-code-hygiene", "fingerprint": "6671afc4c5a44a89beb648cb23988587f14e1e6126cf401c60da200140f50ba5", "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": "lib/crewai/src/crewai/a2a/task_helpers.py", "duplicate_line": 309, "correlation_key": "fp|6671afc4c5a44a89beb648cb23988587f14e1e6126cf401c60da200140f50ba5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/a2a/updates/polling/handler.py"}, "region": {"startLine": 181}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88125, "scanner": "repobility-ai-code-hygiene", "fingerprint": "3aac041633b8f756e24890a95e5189f862f58d383c705e0427bbe539a3cdc782", "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": "lib/crewai/src/crewai/a2a/extensions/a2ui/__init__.py", "duplicate_line": 2, "correlation_key": "fp|3aac041633b8f756e24890a95e5189f862f58d383c705e0427bbe539a3cdc782"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/a2a/extensions/a2ui/validator.py"}, "region": {"startLine": 5}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88124, "scanner": "repobility-ai-code-hygiene", "fingerprint": "b874465f96b04dea4b8cbc1b8cda3dcf96df89d34cab3a04ba5fbee1221ff54c", "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": "lib/crewai/src/crewai/a2a/extensions/a2ui/models.py", "duplicate_line": 193, "correlation_key": "fp|b874465f96b04dea4b8cbc1b8cda3dcf96df89d34cab3a04ba5fbee1221ff54c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/a2a/extensions/a2ui/v0_9.py"}, "region": {"startLine": 625}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88123, "scanner": "repobility-ai-code-hygiene", "fingerprint": "83d38b08db3b77e654623dcdd336b484b5ecfe828b2b3eb3e76ec7d7d9473c0a", "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": "lib/crewai/src/crewai/a2a/extensions/a2ui/catalog.py", "duplicate_line": 114, "correlation_key": "fp|83d38b08db3b77e654623dcdd336b484b5ecfe828b2b3eb3e76ec7d7d9473c0a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/a2a/extensions/a2ui/v0_9.py"}, "region": {"startLine": 53}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88122, "scanner": "repobility-ai-code-hygiene", "fingerprint": "9088d05f2a6f861f32717d611f2438ff3f8d658a0a7c36c0e25c84eb850bd34e", "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": "lib/crewai-tools/src/crewai_tools/tools/tavily_get_research_tool/tavily_get_research_tool.py", "duplicate_line": 31, "correlation_key": "fp|9088d05f2a6f861f32717d611f2438ff3f8d658a0a7c36c0e25c84eb850bd34e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/tavily_research_tool/tavily_research_tool.py"}, "region": {"startLine": 67}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88121, "scanner": "repobility-ai-code-hygiene", "fingerprint": "22d610d7201afbb49e6ed4b5f254ba0e28797042157339c4bb4fb32288f1a4c5", "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": "lib/crewai-tools/src/crewai_tools/tools/browserbase_load_tool/browserbase_load_tool.py", "duplicate_line": 18, "correlation_key": "fp|22d610d7201afbb49e6ed4b5f254ba0e28797042157339c4bb4fb32288f1a4c5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/stagehand_tool.py"}, "region": {"startLine": 121}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88120, "scanner": "repobility-ai-code-hygiene", "fingerprint": "edbbe5ff52c6779bce15e1dedc1e9cda1ace8e33b7402495a52b8c4a7f9e7bd5", "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": "lib/crewai-tools/src/crewai_tools/tools/mongodb_vector_search_tool/vector_search.py", "duplicate_line": 75, "correlation_key": "fp|edbbe5ff52c6779bce15e1dedc1e9cda1ace8e33b7402495a52b8c4a7f9e7bd5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/stagehand_tool.py"}, "region": {"startLine": 120}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88119, "scanner": "repobility-ai-code-hygiene", "fingerprint": "e5296ae05010197fac46532fbd098c728ac4ed2889134c3bd2f12bfd87cba639", "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": "lib/crewai-tools/src/crewai_tools/tools/oxylabs_amazon_product_scraper_tool/oxylabs_amazon_product_scraper_tool.py", "duplicate_line": 5, "correlation_key": "fp|e5296ae05010197fac46532fbd098c728ac4ed2889134c3bd2f12bfd87cba639"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/oxylabs_universal_scraper_tool/oxylabs_universal_scraper_tool.py"}, "region": {"startLine": 5}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88118, "scanner": "repobility-ai-code-hygiene", "fingerprint": "719dc669fdf700514260e24d847eec6a3049e51b811c7d37fc641e238ffb2308", "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": "lib/crewai-tools/src/crewai_tools/tools/oxylabs_amazon_product_scraper_tool/oxylabs_amazon_product_scraper_tool.py", "duplicate_line": 5, "correlation_key": "fp|719dc669fdf700514260e24d847eec6a3049e51b811c7d37fc641e238ffb2308"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/oxylabs_google_search_scraper_tool/oxylabs_google_search_scraper_tool.py"}, "region": {"startLine": 5}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88117, "scanner": "repobility-ai-code-hygiene", "fingerprint": "88b409ac52c52621d21aa6c82fd40d3177ea8c69c1c728999aabece8817668ed", "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": "lib/crewai-tools/src/crewai_tools/tools/oxylabs_amazon_product_scraper_tool/oxylabs_amazon_product_scraper_tool.py", "duplicate_line": 5, "correlation_key": "fp|88b409ac52c52621d21aa6c82fd40d3177ea8c69c1c728999aabece8817668ed"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/oxylabs_amazon_search_scraper_tool/oxylabs_amazon_search_scraper_tool.py"}, "region": {"startLine": 5}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88116, "scanner": "repobility-ai-code-hygiene", "fingerprint": "70db666ea8366ddba0a97d8ca379c1675a943878f2830252ef7383a541597465", "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": "lib/crewai-tools/src/crewai_tools/tools/browserbase_load_tool/browserbase_load_tool.py", "duplicate_line": 18, "correlation_key": "fp|70db666ea8366ddba0a97d8ca379c1675a943878f2830252ef7383a541597465"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/mongodb_vector_search_tool/vector_search.py"}, "region": {"startLine": 76}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88115, "scanner": "repobility-ai-code-hygiene", "fingerprint": "48bb984a9fc3afa79aff7eb16b878363d65b1a75d1a913ec68a1489f2b30b4b8", "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": "lib/crewai-tools/src/crewai_tools/tools/firecrawl_crawl_website_tool/firecrawl_crawl_website_tool.py", "duplicate_line": 49, "correlation_key": "fp|48bb984a9fc3afa79aff7eb16b878363d65b1a75d1a913ec68a1489f2b30b4b8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/firecrawl_search_tool/firecrawl_search_tool.py"}, "region": {"startLine": 49}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88114, "scanner": "repobility-ai-code-hygiene", "fingerprint": "68804cd1b33f00bfc52ed63ca4bd6a25868f6373e0aa7935c3f2805e71119810", "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": "lib/crewai-tools/src/crewai_tools/tools/firecrawl_crawl_website_tool/firecrawl_crawl_website_tool.py", "duplicate_line": 50, "correlation_key": "fp|68804cd1b33f00bfc52ed63ca4bd6a25868f6373e0aa7935c3f2805e71119810"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/firecrawl_scrape_website_tool/firecrawl_scrape_website_tool.py"}, "region": {"startLine": 56}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88113, "scanner": "repobility-ai-code-hygiene", "fingerprint": "98daf2a63d9bfb48b414289c564b8ed796655ca9c40b83db784825893b49100e", "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": "lib/crewai-tools/src/crewai_tools/tools/daytona_sandbox_tool/daytona_file_tool.py", "duplicate_line": 111, "correlation_key": "fp|98daf2a63d9bfb48b414289c564b8ed796655ca9c40b83db784825893b49100e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/e2b_sandbox_tool/e2b_file_tool.py"}, "region": {"startLine": 27}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88112, "scanner": "repobility-ai-code-hygiene", "fingerprint": "0119f9a56ad1936379fb968d2caea33a7baa020bde2f7db05b867462514ba2a9", "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": "lib/crewai-tools/src/crewai_tools/tools/contextualai_create_agent_tool/contextual_create_agent_tool.py", "duplicate_line": 18, "correlation_key": "fp|0119f9a56ad1936379fb968d2caea33a7baa020bde2f7db05b867462514ba2a9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/contextualai_query_tool/contextual_query_tool.py"}, "region": {"startLine": 20}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88111, "scanner": "repobility-ai-code-hygiene", "fingerprint": "62028759f000dfa37ff3b9c3a6b37795d0a279584991c2704a2c366b9aeec5ae", "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": "lib/crewai-tools/src/crewai_tools/tools/brave_search_tool/brave_news_tool.py", "duplicate_line": 18, "correlation_key": "fp|62028759f000dfa37ff3b9c3a6b37795d0a279584991c2704a2c366b9aeec5ae"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/brave_search_tool/brave_video_tool.py"}, "region": {"startLine": 18}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88110, "scanner": "repobility-ai-code-hygiene", "fingerprint": "d9efcb3769e28b31c77702058bb3ff04f173d4c23f4e4be677f03d13578205d8", "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": "lib/crewai-tools/src/crewai_tools/__init__.py", "duplicate_line": 30, "correlation_key": "fp|d9efcb3769e28b31c77702058bb3ff04f173d4c23f4e4be677f03d13578205d8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/__init__.py"}, "region": {"startLine": 19}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88109, "scanner": "repobility-ai-code-hygiene", "fingerprint": "a1a5dec7197ed91ef187c71544548aa31651440a3a9dd55e6686acfcff20f185", "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": "lib/crewai-tools/src/crewai_tools/rag/loaders/mysql_loader.py", "duplicate_line": 33, "correlation_key": "fp|a1a5dec7197ed91ef187c71544548aa31651440a3a9dd55e6686acfcff20f185"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/rag/loaders/postgres_loader.py"}, "region": {"startLine": 32}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88108, "scanner": "repobility-ai-code-hygiene", "fingerprint": "02b97421c09c594e092e61290b300915615bd14c5551f8e9d701415ccd87be20", "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": "lib/crewai-tools/src/crewai_tools/aws/s3/reader_tool.py", "duplicate_line": 15, "correlation_key": "fp|02b97421c09c594e092e61290b300915615bd14c5551f8e9d701415ccd87be20"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/aws/s3/writer_tool.py"}, "region": {"startLine": 16}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88107, "scanner": "repobility-ai-code-hygiene", "fingerprint": "77416bb08f854759fd16e6f047a8bd85e89916b3cec436f2e52bab8aeab1a962", "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": "lib/crewai-core/src/crewai_core/auth/providers/auth0.py", "duplicate_line": 14, "correlation_key": "fp|77416bb08f854759fd16e6f047a8bd85e89916b3cec436f2e52bab8aeab1a962"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-core/src/crewai_core/auth/providers/okta.py"}, "region": {"startLine": 14}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88106, "scanner": "repobility-ai-code-hygiene", "fingerprint": "09cb9ee3c47ef1f2f6b8843e3e210ce266efcd03aeb68f45d4600f9779117684", "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": "lib/crewai-core/src/crewai_core/auth/providers/auth0.py", "duplicate_line": 14, "correlation_key": "fp|09cb9ee3c47ef1f2f6b8843e3e210ce266efcd03aeb68f45d4600f9779117684"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-core/src/crewai_core/auth/providers/entra_id.py"}, "region": {"startLine": 15}}}]}, {"ruleId": "AIC003", "level": "note", "message": {"text": "Duplicated implementation block across source files"}, "properties": {"repobilityId": 88105, "scanner": "repobility-ai-code-hygiene", "fingerprint": "315056ad88dfbb479cea010403748f59867980a6e93426958e7719b0cdaf6b4b", "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": "lib/cli/src/crewai_cli/checkpoint_tui.py", "duplicate_line": 120, "correlation_key": "fp|315056ad88dfbb479cea010403748f59867980a6e93426958e7719b0cdaf6b4b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/src/crewai_cli/memory_tui.py"}, "region": {"startLine": 26}}}]}, {"ruleId": "COMP001", "level": "note", "message": {"text": "[COMP001] High cognitive complexity: Function `_sanitize_payload` 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: else=1, for=1, if=3, nested_bonus=3, recursion=2."}, "properties": {"repobilityId": 88104, "scanner": "repobility-threat-engine", "fingerprint": "d0adca50405f72c9e0b47427ba5e58ce57685a715953c639692af1cf89752fac", "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": "_sanitize_payload", "breakdown": {"if": 3, "for": 1, "else": 1, "recursion": 2, "nested_bonus": 3}, "complexity": 10, "correlation_key": "fp|d0adca50405f72c9e0b47427ba5e58ce57685a715953c639692af1cf89752fac"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/age90_file_input_runner.py"}, "region": {"startLine": 41}}}]}, {"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": 88103, "scanner": "repobility-threat-engine", "fingerprint": "11c56f503b4c49347a6cedb873649bb1a676045e572fee2d2bc8fc17e814b060", "category": "quality", "severity": "low", "confidence": 1.0, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Pattern matched with no mitigating context found", "evidence": {"match": "'https://static.reo.dev/' + clientID + '/reo.js'", "reason": "Pattern matched with no mitigating context found", "rule_id": "SEC132", "scanner": "repobility-threat-engine", "confidence": 1.0, "correlation_key": "fp|11c56f503b4c49347a6cedb873649bb1a676045e572fee2d2bc8fc17e814b060"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/reo-tracking.js"}, "region": {"startLine": 11}}}]}, {"ruleId": "MINED131", "level": "error", "message": {"text": "[MINED131] pre-commit hook `https://github.com/commitizen-tools/commitizen` pinned to mutable rev `v4.10.1`: `.pre-commit-config.yaml` references `https://github.com/commitizen-tools/commitizen` at `rev: v4.10.1`. If `{rev}` is a branch or version tag, the repo owner can push new code there and `pre-commit install --install-hooks` will fetch it on every developer's machine."}, "properties": {"repobilityId": 88250, "scanner": "repobility-supply-chain", "fingerprint": "5347705a79198d18b5c738184c89fcaeb649c4f1e09cfafe597ba1b3eb6a655b", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "precommit-untrusted-repo", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|5347705a79198d18b5c738184c89fcaeb649c4f1e09cfafe597ba1b3eb6a655b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".pre-commit-config.yaml"}, "region": {"startLine": 62}}}]}, {"ruleId": "MINED131", "level": "error", "message": {"text": "[MINED131] pre-commit hook `https://github.com/astral-sh/uv-pre-commit` pinned to mutable rev `0.11.3`: `.pre-commit-config.yaml` references `https://github.com/astral-sh/uv-pre-commit` at `rev: 0.11.3`. If `{rev}` is a branch or version tag, the repo owner can push new code there and `pre-commit install --install-hooks` will fetch it on every developer's machine."}, "properties": {"repobilityId": 88249, "scanner": "repobility-supply-chain", "fingerprint": "b8e96868d4742c40379feefc1ba19c4af346ecaf0779550e80a58aaa9f40c7a2", "category": "dependency", "severity": "high", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "precommit-untrusted-repo", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|b8e96868d4742c40379feefc1ba19c4af346ecaf0779550e80a58aaa9f40c7a2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".pre-commit-config.yaml"}, "region": {"startLine": 23}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.DeployCommand has no auth: Handler `test_deploy_status_no_uuid` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88248, "scanner": "repobility-route-auth", "fingerprint": "be3ef46cff9e5211635be9c2dd0bccb54b9dd653cd77407f94ffa201d91e89e2", "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|be3ef46cff9e5211635be9c2dd0bccb54b9dd653cd77407f94ffa201d91e89e2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 179}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.DeployCommand has no auth: Handler `test_deploy_status` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88247, "scanner": "repobility-route-auth", "fingerprint": "6e63c633bc2c7a0fc55c26f7bb452e6dd85525a8aa5a8b0e76b63af3d6d6e7aa", "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|6e63c633bc2c7a0fc55c26f7bb452e6dd85525a8aa5a8b0e76b63af3d6d6e7aa"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 169}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.DeployCommand has no auth: Handler `test_deploy_push_no_uuid` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88246, "scanner": "repobility-route-auth", "fingerprint": "9892f5b6f4bba5ff112ab3893f6ec4599f66b6868b18c7813cba66294d830e09", "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|9892f5b6f4bba5ff112ab3893f6ec4599f66b6868b18c7813cba66294d830e09"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 160}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.DeployCommand has no auth: Handler `test_deploy_push` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88245, "scanner": "repobility-route-auth", "fingerprint": "f217e1fb2a4afb17e53b589a0d6cda5c2fd9d0f814917bfe4587aa08504dd7f6", "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|f217e1fb2a4afb17e53b589a0d6cda5c2fd9d0f814917bfe4587aa08504dd7f6"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 150}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.DeployCommand has no auth: Handler `test_deploy_list` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88244, "scanner": "repobility-route-auth", "fingerprint": "f4f44b6caa20454a4c166e377139d9330a9d313c1b09e227141898346d3305bc", "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|f4f44b6caa20454a4c166e377139d9330a9d313c1b09e227141898346d3305bc"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 141}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.DeployCommand has no auth: Handler `test_deploy_create` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88243, "scanner": "repobility-route-auth", "fingerprint": "adfa6b99ae6d985ceaf223490448ef0dc1a96ddd4b13863f32aa92a412c98852", "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|adfa6b99ae6d985ceaf223490448ef0dc1a96ddd4b13863f32aa92a412c98852"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 132}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.AuthenticationCommand has no auth: Handler `test_login` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88242, "scanner": "repobility-route-auth", "fingerprint": "63e09b4299cb55bf6bea6b05de34ca6cc661a31fc9f4bba56dc5556001f8861f", "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|63e09b4299cb55bf6bea6b05de34ca6cc661a31fc9f4bba56dc5556001f8861f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 123}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.evaluate_crew has no auth: Handler `test_test_invalid_string_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88241, "scanner": "repobility-route-auth", "fingerprint": "94ada610e496167c55aeaccd40b8766f491cb17b9a04aef0683fb0e17987f4e4", "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|94ada610e496167c55aeaccd40b8766f491cb17b9a04aef0683fb0e17987f4e4"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 111}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.evaluate_crew has no auth: Handler `test_test_custom_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88240, "scanner": "repobility-route-auth", "fingerprint": "9fac35145ce53dc971cdb79169864e44899c0f9fc4ec65a11152c245a85e8ab1", "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|9fac35145ce53dc971cdb79169864e44899c0f9fc4ec65a11152c245a85e8ab1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 102}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.evaluate_crew has no auth: Handler `test_test_default_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88239, "scanner": "repobility-route-auth", "fingerprint": "f97137aa4bc86de5040e90dcc01b8827807a492d096fad2b6b00163836ed2ee8", "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|f97137aa4bc86de5040e90dcc01b8827807a492d096fad2b6b00163836ed2ee8"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 93}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.train_crew has no auth: Handler `test_train_invalid_string_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88238, "scanner": "repobility-route-auth", "fingerprint": "cc139b54b3ab70bac9e7936e0bd36ef64c7cd3dd538086df510d6687cb28bf99", "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|cc139b54b3ab70bac9e7936e0bd36ef64c7cd3dd538086df510d6687cb28bf99"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 46}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.train_crew has no auth: Handler `test_train_custom_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88237, "scanner": "repobility-route-auth", "fingerprint": "b651f02353c59a3bd5bc74b9c25b1609650cae22ad669560949da9040fa3cb5c", "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|b651f02353c59a3bd5bc74b9c25b1609650cae22ad669560949da9040fa3cb5c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 37}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.cli.train_crew has no auth: Handler `test_train_default_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88236, "scanner": "repobility-route-auth", "fingerprint": "99aa7c0598b3404138953c07aa22ed31dc3c97a34d00d07323ff8f09531e678f", "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|99aa7c0598b3404138953c07aa22ed31dc3c97a34d00d07323ff8f09531e678f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_cli.py"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.train_crew.click has no auth: Handler `test_train_crew_unexpected_exception` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88235, "scanner": "repobility-route-auth", "fingerprint": "ef7afda9a3570f179c2dc7f99c8f010f151549211a1e14e60e88400f6b5759ae", "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|ef7afda9a3570f179c2dc7f99c8f010f151549211a1e14e60e88400f6b5759ae"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 76}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.train_crew.click has no auth: Handler `test_train_crew_called_process_error` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88234, "scanner": "repobility-route-auth", "fingerprint": "d8a03cc797f77b3b6262c7588789e67160eb81b4fe803effcc2b27bd02818267", "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|d8a03cc797f77b3b6262c7588789e67160eb81b4fe803effcc2b27bd02818267"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 47}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.train_crew.click has no auth: Handler `test_train_crew_negative_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88233, "scanner": "repobility-route-auth", "fingerprint": "8f1dbbec4620e054a52c082d1530e5b74ce1cacd09a9993b3d05f5961b60413e", "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|8f1dbbec4620e054a52c082d1530e5b74ce1cacd09a9993b3d05f5961b60413e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 37}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.train_crew.click has no auth: Handler `test_train_crew_zero_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88232, "scanner": "repobility-route-auth", "fingerprint": "437c6c9e6b403a71a8c4995289005066d451e60ea7ee510069d573c48f6f65db", "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|437c6c9e6b403a71a8c4995289005066d451e60ea7ee510069d573c48f6f65db"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.train_crew.subprocess.run has no auth: Handler `test_train_crew_positive_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88231, "scanner": "repobility-route-auth", "fingerprint": "78e7dd0885d3881c03862f34310336639b3ef5b69d5563cf7757384462c208ba", "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|78e7dd0885d3881c03862f34310336639b3ef5b69d5563cf7757384462c208ba"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 8}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.evaluate_crew.subprocess.run has no auth: Handler `test_evaluate_crew_omits_env_var_without_filename` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88230, "scanner": "repobility-route-auth", "fingerprint": "06499e19c1d0166733af6ab115a88aca244bdd418a930d367a8afef77e081c33", "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|06499e19c1d0166733af6ab115a88aca244bdd418a930d367a8afef77e081c33"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 114}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.evaluate_crew.subprocess.run has no auth: Handler `test_evaluate_crew_sets_trained_agents_env_var` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88229, "scanner": "repobility-route-auth", "fingerprint": "a56aa3e6947fe1d397bbe4bab58471aac5fabb622b5921e8c0a9563bf705f636", "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|a56aa3e6947fe1d397bbe4bab58471aac5fabb622b5921e8c0a9563bf705f636"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 103}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.evaluate_crew.click has no auth: Handler `test_test_crew_unexpected_exception` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88228, "scanner": "repobility-route-auth", "fingerprint": "96a399e396127fc1bc2002f61f25b55f2101039b4420357fe55dd56be9607545", "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|96a399e396127fc1bc2002f61f25b55f2101039b4420357fe55dd56be9607545"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 85}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.evaluate_crew.click has no auth: Handler `test_test_crew_called_process_error` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88227, "scanner": "repobility-route-auth", "fingerprint": "ad8ab8fc35bcc5ec9a27ac25bba3b0534e2cf23b79974468b6a54e602c9f8544", "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|ad8ab8fc35bcc5ec9a27ac25bba3b0534e2cf23b79974468b6a54e602c9f8544"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 55}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.evaluate_crew.click has no auth: Handler `test_test_crew_negative_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88226, "scanner": "repobility-route-auth", "fingerprint": "aeecd7d13637d0305a57165f5f5ec9afabaed79ba96a179d873eea47b74789bc", "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|aeecd7d13637d0305a57165f5f5ec9afabaed79ba96a179d873eea47b74789bc"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 45}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.evaluate_crew.click has no auth: Handler `test_test_crew_zero_iterations` is registered with router/app.patch(...) but no Depends/Security parameter is declared and no auth marker appears in the function body."}, "properties": {"repobilityId": 88225, "scanner": "repobility-route-auth", "fingerprint": "9d5df3b3a859a2e390de02d758b3ebd7452ee6d7b48a5cd8f0fb7a613980a4bc", "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|9d5df3b3a859a2e390de02d758b3ebd7452ee6d7b48a5cd8f0fb7a613980a4bc"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 36}}}]}, {"ruleId": "MINED112", "level": "error", "message": {"text": "[MINED112] FastAPI PATCH crewai_cli.evaluate_crew.subprocess.run has no auth: Handler `test_crew_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": 88224, "scanner": "repobility-route-auth", "fingerprint": "0b40df841d2d34978642c233e9e6a2554893c21efe9eb8d7412218d6f65ff64a", "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|0b40df841d2d34978642c233e9e6a2554893c21efe9eb8d7412218d6f65ff64a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 18}}}]}, {"ruleId": "MINED110", "level": "error", "message": {"text": "[MINED110] Blocking call `time.sleep` inside async function `test_mixed_sync_async_handler_execution`: `time.sleep` is a synchronous (blocking) call. When invoked inside an `async def` it stalls the event loop, preventing every other coroutine in the process from making progress."}, "properties": {"repobilityId": 88216, "scanner": "repobility-ast-engine", "fingerprint": "13d3ffb2a39aadd6caf9e0ed2da7ceebdcc8696f0f3568368667155ae6669313", "category": "quality", "severity": "high", "confidence": 1.0, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "asyncio-blocking-call", "owasp": null, "cwe_ids": ["CWE-833"], "languages": ["python"], "observations_count": 31606}, "scanner": "repobility-ast-engine", "correlation_key": "fp|13d3ffb2a39aadd6caf9e0ed2da7ceebdcc8696f0f3568368667155ae6669313"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/utilities/events/test_shutdown.py"}, "region": {"startLine": 251}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_list_crews: Test function `test_list_crews` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88200, "scanner": "repobility-ast-engine", "fingerprint": "7b3671a55af3e283af543da21ef5ae9c44df13db7c0d2dbd93abaaa860250bea", "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|7b3671a55af3e283af543da21ef5ae9c44df13db7c0d2dbd93abaaa860250bea"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_plus_api.py"}, "region": {"startLine": 283}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_delete_crew_by_uuid: Test function `test_delete_crew_by_uuid` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88199, "scanner": "repobility-ast-engine", "fingerprint": "b538344af20bf9d916df9ef38c92ce92c5418e3132b3c485061d5fff39ce6e50", "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|b538344af20bf9d916df9ef38c92ce92c5418e3132b3c485061d5fff39ce6e50"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_plus_api.py"}, "region": {"startLine": 276}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_delete_crew_by_name: Test function `test_delete_crew_by_name` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88198, "scanner": "repobility-ast-engine", "fingerprint": "62bfdc0edc73875569e9a8f1da489c7a0b6cee901a7b6de0816418716c0ae1e2", "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|62bfdc0edc73875569e9a8f1da489c7a0b6cee901a7b6de0816418716c0ae1e2"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_plus_api.py"}, "region": {"startLine": 269}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_crew_by_uuid: Test function `test_crew_by_uuid` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88197, "scanner": "repobility-ast-engine", "fingerprint": "4e879ef8901f99825753c16437aa0fbfa40073732959f19bb07c39b7129013dd", "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|4e879ef8901f99825753c16437aa0fbfa40073732959f19bb07c39b7129013dd"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_plus_api.py"}, "region": {"startLine": 257}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_crew_by_name: Test function `test_crew_by_name` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88196, "scanner": "repobility-ast-engine", "fingerprint": "7056063f60be4066b4fb94c0642bb6d4cc3c66d91bc86df349e8440d27b3ce22", "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|7056063f60be4066b4fb94c0642bb6d4cc3c66d91bc86df349e8440d27b3ce22"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_plus_api.py"}, "region": {"startLine": 245}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_crew_status_by_uuid: Test function `test_crew_status_by_uuid` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88195, "scanner": "repobility-ast-engine", "fingerprint": "d6581c1569c67401b512c1b977019e453f32abffdfaaf072077b00dbbad6832b", "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|d6581c1569c67401b512c1b977019e453f32abffdfaaf072077b00dbbad6832b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_plus_api.py"}, "region": {"startLine": 238}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_crew_status_by_name: Test function `test_crew_status_by_name` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88194, "scanner": "repobility-ast-engine", "fingerprint": "10f6f256f6afb8161883e0bb67d4cf6edb7f1a7696a91c934755bf9900ab096b", "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|10f6f256f6afb8161883e0bb67d4cf6edb7f1a7696a91c934755bf9900ab096b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_plus_api.py"}, "region": {"startLine": 231}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_deploy_by_uuid: Test function `test_deploy_by_uuid` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88193, "scanner": "repobility-ast-engine", "fingerprint": "3a99f532886f264e87a6eac4ca1772173270dec53e9f794033975470654f82f3", "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|3a99f532886f264e87a6eac4ca1772173270dec53e9f794033975470654f82f3"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_plus_api.py"}, "region": {"startLine": 224}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_deploy_by_name: Test function `test_deploy_by_name` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88192, "scanner": "repobility-ast-engine", "fingerprint": "3adcb4a147798b0d2171485ddb42d0f5aaf7955a536ff2d49d691bc93372a255", "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|3adcb4a147798b0d2171485ddb42d0f5aaf7955a536ff2d49d691bc93372a255"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_plus_api.py"}, "region": {"startLine": 217}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_create_folder_structure_rejects_reserved_names: Test function `test_create_folder_structure_rejects_reserved_names` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88191, "scanner": "repobility-ast-engine", "fingerprint": "54a8282b54113a92912a0442ab1174bc359b96a2d3a7d6402bfd39474a7ecd7b", "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|54a8282b54113a92912a0442ab1174bc359b96a2d3a7d6402bfd39474a7ecd7b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_create_crew.py"}, "region": {"startLine": 299}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_create_folder_structure_raises_error_for_invalid_names: Test function `test_create_folder_structure_raises_error_for_invalid_names` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88190, "scanner": "repobility-ast-engine", "fingerprint": "5f062da53ef0062eeb271e1e57e5505505fc2b1a8728742edc3fecf0734a4476", "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|5f062da53ef0062eeb271e1e57e5505505fc2b1a8728742edc3fecf0734a4476"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_create_crew.py"}, "region": {"startLine": 187}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_create_crew_normal_name_still_works: Test function `test_create_crew_normal_name_still_works` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88189, "scanner": "repobility-ast-engine", "fingerprint": "cdeb650309871ba397df3e2a5728c776f8e539247367e6b526da2237b1698751", "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|cdeb650309871ba397df3e2a5728c776f8e539247367e6b526da2237b1698751"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_create_crew.py"}, "region": {"startLine": 153}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_create_crew_with_multiple_trailing_slashes: Test function `test_create_crew_with_multiple_trailing_slashes` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88188, "scanner": "repobility-ast-engine", "fingerprint": "44dc22bc19b9b3857c302b6598c74d7a3bbd6348fbaab5035f630c5a179cec7b", "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|44dc22bc19b9b3857c302b6598c74d7a3bbd6348fbaab5035f630c5a179cec7b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_create_crew.py"}, "region": {"startLine": 129}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_list_settings: Test function `test_list_settings` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88187, "scanner": "repobility-ast-engine", "fingerprint": "33849b4a633fd64c0f5ef5ba41ad44b8444c5b5f7b5990455eea22103ca4e2b5", "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|33849b4a633fd64c0f5ef5ba41ad44b8444c5b5f7b5990455eea22103ca4e2b5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_settings_command.py"}, "region": {"startLine": 32}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_delete_secure_file_not_exists: Test function `test_delete_secure_file_not_exists` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88186, "scanner": "repobility-ast-engine", "fingerprint": "eb219d2c91af4be7a9c1cac46422d24311155499b557ffc36b2db44b2a124a88", "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|eb219d2c91af4be7a9c1cac46422d24311155499b557ffc36b2db44b2a124a88"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_token_manager.py"}, "region": {"startLine": 278}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_clear_tokens: Test function `test_clear_tokens` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88185, "scanner": "repobility-ast-engine", "fingerprint": "a81392db38b76b3221164a714b1b2eac262228c61f11cd39061111cc00836e7e", "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|a81392db38b76b3221164a714b1b2eac262228c61f11cd39061111cc00836e7e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_token_manager.py"}, "region": {"startLine": 132}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `test_dump_new_settings` of class `TestSettings` 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": 88184, "scanner": "repobility-ast-engine", "fingerprint": "50ec92c6561ec2ca6858379878d00c61d5a927df12b4c799e62704dbd66c0ea7", "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|50ec92c6561ec2ca6858379878d00c61d5a927df12b4c799e62704dbd66c0ea7"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 105}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `test_reset_settings` of class `TestSettings` 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": 88183, "scanner": "repobility-ast-engine", "fingerprint": "ff4f389188e9847ab4deac43add0cefc9d1cf2e478f2005dbafc090b05b6c2a9", "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|ff4f389188e9847ab4deac43add0cefc9d1cf2e478f2005dbafc090b05b6c2a9"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 92}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `test_reset_settings` of class `TestSettings` 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": 88182, "scanner": "repobility-ast-engine", "fingerprint": "3b2f872cd3dc62d083c4fef691f9b23439cb7cd2f45a58092de089432ec5932f", "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|3b2f872cd3dc62d083c4fef691f9b23439cb7cd2f45a58092de089432ec5932f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 90}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_reset_settings` of class `TestSettings` reads `self.config_path`, 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": 88181, "scanner": "repobility-ast-engine", "fingerprint": "b19fee0527b125bdb8ae566cf5f47809d7d96d8ef4a7dc6ad6d921050bba092f", "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|b19fee0527b125bdb8ae566cf5f47809d7d96d8ef4a7dc6ad6d921050bba092f"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 79}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `test_clear_user_settings` of class `TestSettings` 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": 88180, "scanner": "repobility-ast-engine", "fingerprint": "6770a142ee79cd262403f471e96188dff3fa2115cb55793879b25d1dd57ae843", "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|6770a142ee79cd262403f471e96188dff3fa2115cb55793879b25d1dd57ae843"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 70}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_clear_user_settings` of class `TestSettings` reads `self.config_path`, 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": 88179, "scanner": "repobility-ast-engine", "fingerprint": "dd9234e72a7b70fcb1447cdb89f8737d61e4dd3fa7b41c388a521187e1f2af85", "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|dd9234e72a7b70fcb1447cdb89f8737d61e4dd3fa7b41c388a521187e1f2af85"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 66}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_merge_file_and_input_data` of class `TestSettings` reads `self.config_path`, 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": 88178, "scanner": "repobility-ast-engine", "fingerprint": "4fcac984a34859d303faa09536147e9d9322e96acee6bd94da3fdb1b1852c2fa", "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|4fcac984a34859d303faa09536147e9d9322e96acee6bd94da3fdb1b1852c2fa"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 48}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_merge_file_and_input_data` of class `TestSettings` reads `self.config_path`, 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": 88177, "scanner": "repobility-ast-engine", "fingerprint": "54b05c22e6ebf88532b61be78f4f3ee0964d980605a117e83588b4b47f443dd0", "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|54b05c22e6ebf88532b61be78f4f3ee0964d980605a117e83588b4b47f443dd0"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 47}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_merge_file_and_input_data` of class `TestSettings` reads `self.config_path`, 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": 88176, "scanner": "repobility-ast-engine", "fingerprint": "e23c1cff462eb069fbff4e6b6ce1bd652d0580e9275932023b9d89afd6acef97", "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|e23c1cff462eb069fbff4e6b6ce1bd652d0580e9275932023b9d89afd6acef97"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 58}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `test_merge_file_and_input_data` of class `TestSettings` 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": 88175, "scanner": "repobility-ast-engine", "fingerprint": "f583a06420ab34ff9a4715e4f29d8bb4fb328596a269b30a5b11823f8539d9de", "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|f583a06420ab34ff9a4715e4f29d8bb4fb328596a269b30a5b11823f8539d9de"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 61}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `test_merge_file_and_input_data` of class `TestSettings` 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": 88174, "scanner": "repobility-ast-engine", "fingerprint": "941d48b467cfb3d79c1950d110c893cc802e276dcb07e89be08472b7c29fa921", "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|941d48b467cfb3d79c1950d110c893cc802e276dcb07e89be08472b7c29fa921"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 60}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_initialization_with_existing_file` of class `TestSettings` reads `self.config_path`, 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": 88173, "scanner": "repobility-ast-engine", "fingerprint": "137df33ff99c317ff7e9d242cc4da903203db1147ea199f3a2ab111bf0dc4494", "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|137df33ff99c317ff7e9d242cc4da903203db1147ea199f3a2ab111bf0dc4494"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 40}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_initialization_with_existing_file` of class `TestSettings` reads `self.config_path`, 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": 88172, "scanner": "repobility-ast-engine", "fingerprint": "b4774823fa371511fb199d336df8106986e8a749ebb9739909ad05d4483e1548", "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|b4774823fa371511fb199d336df8106986e8a749ebb9739909ad05d4483e1548"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 39}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_initialization_with_existing_file` of class `TestSettings` reads `self.config_path`, 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": 88171, "scanner": "repobility-ast-engine", "fingerprint": "73c89f7d3e1f895ed65d33c0f472b75c31fe592d1c109a56c95cb55ddcb97f38", "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|73c89f7d3e1f895ed65d33c0f472b75c31fe592d1c109a56c95cb55ddcb97f38"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 43}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `test_initialization_with_existing_file` of class `TestSettings` 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": 88170, "scanner": "repobility-ast-engine", "fingerprint": "b67d73a4fcd9c877b0897b9c35f272e49134b59d82cdf1bbcf9f644792f2e8f1", "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|b67d73a4fcd9c877b0897b9c35f272e49134b59d82cdf1bbcf9f644792f2e8f1"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 44}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_initialization_with_data` of class `TestSettings` reads `self.config_path`, 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": 88169, "scanner": "repobility-ast-engine", "fingerprint": "841ad4a193301944fce934ef5989fb0145b4ba1456c42df8bb8bd630428a7526", "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|841ad4a193301944fce934ef5989fb0145b4ba1456c42df8bb8bd630428a7526"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 33}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIsNone` used but never assigned in __init__: Method `test_initialization_with_data` of class `TestSettings` reads `self.assertIsNone`, 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": 88168, "scanner": "repobility-ast-engine", "fingerprint": "65b6d350f560a231c53b5732de418fa93f348693a727cc28ca16a74e9ee86d79", "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|65b6d350f560a231c53b5732de418fa93f348693a727cc28ca16a74e9ee86d79"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 36}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertEqual` used but never assigned in __init__: Method `test_initialization_with_data` of class `TestSettings` 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": 88167, "scanner": "repobility-ast-engine", "fingerprint": "ee95bbcc8078a37fe087c597d99436e38c35e316ff39fb495f041347a2fe645c", "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|ee95bbcc8078a37fe087c597d99436e38c35e316ff39fb495f041347a2fe645c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 35}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `test_empty_initialization` of class `TestSettings` reads `self.config_path`, 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": 88166, "scanner": "repobility-ast-engine", "fingerprint": "4c1a998ce3b00654f1c54711bb92dafa1c6eeca57bbf38e7e37cef3c3894caab", "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|4c1a998ce3b00654f1c54711bb92dafa1c6eeca57bbf38e7e37cef3c3894caab"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 27}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIsNone` used but never assigned in __init__: Method `test_empty_initialization` of class `TestSettings` reads `self.assertIsNone`, 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": 88165, "scanner": "repobility-ast-engine", "fingerprint": "e44d8f3d9dd2ceb809bcbfec13e38cfe366ed1069fe4b9cfc9b385d0204a6276", "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|e44d8f3d9dd2ceb809bcbfec13e38cfe366ed1069fe4b9cfc9b385d0204a6276"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 29}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.assertIsNone` used but never assigned in __init__: Method `test_empty_initialization` of class `TestSettings` reads `self.assertIsNone`, 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": 88164, "scanner": "repobility-ast-engine", "fingerprint": "3e1d091b619fcd9292998de34a4da994b86bb4a407a0f9ad57117686f471f26e", "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|3e1d091b619fcd9292998de34a4da994b86bb4a407a0f9ad57117686f471f26e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.test_dir` used but never assigned in __init__: Method `tearDown` of class `TestSettings` reads `self.test_dir`, 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": 88163, "scanner": "repobility-ast-engine", "fingerprint": "f130abcf85190750a55b06e50c0bbd2e3e67b80dc2836cdc61501748e466ed99", "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|f130abcf85190750a55b06e50c0bbd2e3e67b80dc2836cdc61501748e466ed99"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 24}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.test_dir` used but never assigned in __init__: Method `setUp` of class `TestSettings` reads `self.test_dir`, 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": 88162, "scanner": "repobility-ast-engine", "fingerprint": "23515f2b25c71b608935fe1805f4f8efe6b5936fbc37fa0257165fec5b074c36", "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|23515f2b25c71b608935fe1805f4f8efe6b5936fbc37fa0257165fec5b074c36"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 21}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.config_path` used but never assigned in __init__: Method `setUp` of class `TestSettings` reads `self.config_path`, 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": 88161, "scanner": "repobility-ast-engine", "fingerprint": "0333e8038b81280006fc74772a0479fca970b11c05ee30fb3036994e29b45acd", "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|0333e8038b81280006fc74772a0479fca970b11c05ee30fb3036994e29b45acd"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 21}}}]}, {"ruleId": "MINED108", "level": "error", "message": {"text": "[MINED108] `self.test_dir` used but never assigned in __init__: Method `setUp` of class `TestSettings` reads `self.test_dir`, 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": 88160, "scanner": "repobility-ast-engine", "fingerprint": "71705d7deebfcb4e5042c4000e54d1061aeb3fc80943c70a4c41f18b81d9433c", "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|71705d7deebfcb4e5042c4000e54d1061aeb3fc80943c70a4c41f18b81d9433c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_config.py"}, "region": {"startLine": 20}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_train_crew_unexpected_exception: Test function `test_train_crew_unexpected_exception` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88159, "scanner": "repobility-ast-engine", "fingerprint": "c6f98ef670a0835c263cf31e62d48770af74151cd1dbfa2d392d4a1d6b749436", "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|c6f98ef670a0835c263cf31e62d48770af74151cd1dbfa2d392d4a1d6b749436"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 76}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_train_crew_called_process_error: Test function `test_train_crew_called_process_error` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88158, "scanner": "repobility-ast-engine", "fingerprint": "e55d6426a166e209ab828eab2680e41708b965678e5752609729ba7963ff466e", "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|e55d6426a166e209ab828eab2680e41708b965678e5752609729ba7963ff466e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 47}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_train_crew_negative_iterations: Test function `test_train_crew_negative_iterations` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88157, "scanner": "repobility-ast-engine", "fingerprint": "6f9a6293fd37cca9afc5a320b70af48d33823a54733c1e8774dc816a21d738da", "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|6f9a6293fd37cca9afc5a320b70af48d33823a54733c1e8774dc816a21d738da"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 37}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_train_crew_zero_iterations: Test function `test_train_crew_zero_iterations` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88156, "scanner": "repobility-ast-engine", "fingerprint": "3b20e9334d51988a741f470fd7cb84c82047c15e69015dc19f36da857a472a07", "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|3b20e9334d51988a741f470fd7cb84c82047c15e69015dc19f36da857a472a07"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_train_crew_positive_iterations: Test function `test_train_crew_positive_iterations` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88155, "scanner": "repobility-ast-engine", "fingerprint": "02edc4dd52796596b5e29397159e601d26dcdc1e05f809e60ecd9b952cb5543c", "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|02edc4dd52796596b5e29397159e601d26dcdc1e05f809e60ecd9b952cb5543c"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_train_crew.py"}, "region": {"startLine": 8}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_test_crew_unexpected_exception: Test function `test_test_crew_unexpected_exception` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88154, "scanner": "repobility-ast-engine", "fingerprint": "7cb565241ddbf6b89986749dbf50ac831be4f64a977bd8e34d5e5b90b3afb57e", "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|7cb565241ddbf6b89986749dbf50ac831be4f64a977bd8e34d5e5b90b3afb57e"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 85}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_test_crew_called_process_error: Test function `test_test_crew_called_process_error` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88153, "scanner": "repobility-ast-engine", "fingerprint": "503972d24d00184d2bd7f6dee945bc92f9612c0a6e8e69654a0dbd51e24f9084", "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|503972d24d00184d2bd7f6dee945bc92f9612c0a6e8e69654a0dbd51e24f9084"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 55}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_test_crew_negative_iterations: Test function `test_test_crew_negative_iterations` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88152, "scanner": "repobility-ast-engine", "fingerprint": "586580e1f492a4009c33cc722bf43320d0312c06e6887befdbb676f3bf0feec5", "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|586580e1f492a4009c33cc722bf43320d0312c06e6887befdbb676f3bf0feec5"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 45}}}]}, {"ruleId": "MINED106", "level": "error", "message": {"text": "[MINED106] Phantom test coverage: test_test_crew_zero_iterations: Test function `test_test_crew_zero_iterations` runs code but contains no assert / expect / should call \u2014 it passes regardless of behaviour. Adds line coverage without verifying anything."}, "properties": {"repobilityId": 88151, "scanner": "repobility-ast-engine", "fingerprint": "243947f47a20512043e492e2d91172e0e7a9e33d200bad7e938a42ebf9da8f34", "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|243947f47a20512043e492e2d91172e0e7a9e33d200bad7e938a42ebf9da8f34"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/cli/tests/test_crew_test.py"}, "region": {"startLine": 36}}}]}, {"ruleId": "MINED116", "level": "error", "message": {"text": "[MINED116] Workflow uses `secrets.CREWAI_TOOL_SPECS_PRIVATE_KEY` on a `pull_request` trigger: This workflow triggers on `pull_request`, which checks out the FORK's code. Referencing `${ secrets.CREWAI_TOOL_SPECS_PRIVATE_KEY }` lets a PR from any fork exfiltrate the secret (modify a script, log the value, etc.). Use `pull_request_target` ONLY with strict checkout discipline (no fork code in the trusted context)."}, "properties": {"repobilityId": 88252, "scanner": "repobility-supply-chain", "fingerprint": "bae677be95d94ec0d6ba279d5601838660c317ebd70c98a30a4450340f689246", "category": "dependency", "severity": "critical", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-pull-request-secrets", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|bae677be95d94ec0d6ba279d5601838660c317ebd70c98a30a4450340f689246"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-tool-specs.yml"}, "region": {"startLine": 28}}}]}, {"ruleId": "MINED116", "level": "error", "message": {"text": "[MINED116] Workflow uses `secrets.CREWAI_TOOL_SPECS_APP_ID` on a `pull_request` trigger: This workflow triggers on `pull_request`, which checks out the FORK's code. Referencing `${ secrets.CREWAI_TOOL_SPECS_APP_ID }` lets a PR from any fork exfiltrate the secret (modify a script, log the value, etc.). Use `pull_request_target` ONLY with strict checkout discipline (no fork code in the trusted context)."}, "properties": {"repobilityId": 88251, "scanner": "repobility-supply-chain", "fingerprint": "4cce068cce30c91d0605a13ab1b0b94d7d127822cd0fe1565ecef32b2208f55a", "category": "dependency", "severity": "critical", "confidence": 0.9, "triageState": "open", "verdict": "", "isResolved": false, "reason": "", "evidence": {"mined": true, "mining": {"slug": "gha-pull-request-secrets", "owasp": "A08:2021", "cwe_ids": ["CWE-829"], "languages": ["yaml"], "observations_count": 0}, "scanner": "repobility-supply-chain", "correlation_key": "fp|4cce068cce30c91d0605a13ab1b0b94d7d127822cd0fe1565ecef32b2208f55a"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-tool-specs.yml"}, "region": {"startLine": 27}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `string` used but not imported: The file uses `string.something(...)` but never imports `string`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 88223, "scanner": "repobility-ast-engine", "fingerprint": "89cacb60abf3fcf76544c5ffb30552ec82e761d950bbcf207ef88ba4f4398626", "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|89cacb60abf3fcf76544c5ffb30552ec82e761d950bbcf207ef88ba4f4398626"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/serply_api_tool/serply_scholar_search_tool.py"}, "region": {"startLine": 88}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `string` used but not imported: The file uses `string.something(...)` but never imports `string`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 88222, "scanner": "repobility-ast-engine", "fingerprint": "4e038ec4fa80d3dfe3e930cdfa0396cd4ac2ddb55338bec5e0a765967f6c5168", "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|4e038ec4fa80d3dfe3e930cdfa0396cd4ac2ddb55338bec5e0a765967f6c5168"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/serply_api_tool/serply_job_search_tool.py"}, "region": {"startLine": 76}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `string` used but not imported: The file uses `string.something(...)` but never imports `string`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 88221, "scanner": "repobility-ast-engine", "fingerprint": "a180db3981c61c1f1a803d80a8185cc2603be8b3eb63e5ecf9b93f65dac72229", "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|a180db3981c61c1f1a803d80a8185cc2603be8b3eb63e5ecf9b93f65dac72229"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/serply_api_tool/serply_news_search_tool.py"}, "region": {"startLine": 83}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `string` used but not imported: The file uses `string.something(...)` but never imports `string`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 88220, "scanner": "repobility-ast-engine", "fingerprint": "09c2c2273c175adb9a50b4ee3ae0cdba05e6e2803771f99ee190838181b23afc", "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|09c2c2273c175adb9a50b4ee3ae0cdba05e6e2803771f99ee190838181b23afc"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/serply_api_tool/serply_web_search_tool.py"}, "region": {"startLine": 96}}}]}, {"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": 88219, "scanner": "repobility-ast-engine", "fingerprint": "5e71d0ac35419f00c540d7ba112fe03f28788f16a6c5097274971c620afdd211", "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|5e71d0ac35419f00c540d7ba112fe03f28788f16a6c5097274971c620afdd211"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/flow/visualization/renderers/interactive.py"}, "region": {"startLine": 125}}}]}, {"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": 88218, "scanner": "repobility-ast-engine", "fingerprint": "7f90d2a97f6522a8a6c474107712aa17f405054cceb5c1d3da59b10b8477184b", "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|7f90d2a97f6522a8a6c474107712aa17f405054cceb5c1d3da59b10b8477184b"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/state/event_record.py"}, "region": {"startLine": 175}}}]}, {"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": 88217, "scanner": "repobility-ast-engine", "fingerprint": "d6aa64dbd32525c57d8a22ee062565c03b7e3e37ac8fd534d9632fab7c3e92fe", "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|d6aa64dbd32525c57d8a22ee062565c03b7e3e37ac8fd534d9632fab7c3e92fe"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/events/handler_graph.py"}, "region": {"startLine": 79}}}]}, {"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": 88215, "scanner": "repobility-ast-engine", "fingerprint": "e6d97b896972e46a7d806692979b6cb8a93e8985d2743540642df0b9a0e36f60", "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|e6d97b896972e46a7d806692979b6cb8a93e8985d2743540642df0b9a0e36f60"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/a2a/utils/test_task.py"}, "region": {"startLine": 55}}}]}, {"ruleId": "MINED107", "level": "error", "message": {"text": "[MINED107] Missing import: `re` used but not imported: The file uses `re.something(...)` but never imports `re`. This raises NameError at runtime the first time the line executes."}, "properties": {"repobilityId": 88214, "scanner": "repobility-ast-engine", "fingerprint": "cdaf242fa52398e64db9cb49470cbbe48f3dbd421617c8f130122a50780c8cde", "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|cdaf242fa52398e64db9cb49470cbbe48f3dbd421617c8f130122a50780c8cde"}}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/test_event_record.py"}, "region": {"startLine": 322}}}]}]}]}