{"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": ""}}, {"id": "scanner-c3923dd06ec3139c", "name": "Possibly dead Python function: print_payload_and_stop", "shortDescription": {"text": "Possibly dead Python function: print_payload_and_stop"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd9b188770c03e91", "name": "Possibly dead Python function: list_skills", "shortDescription": {"text": "Possibly dead Python function: list_skills"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-823fd2313f779ced", "name": "Possibly dead Python function: task_to_kickoff_adapter", "shortDescription": {"text": "Possibly dead Python function: task_to_kickoff_adapter"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e0d2c2a538b99e5", "name": "Possibly dead Python function: filtered_warn", "shortDescription": {"text": "Possibly dead Python function: filtered_warn"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-461a7100f9b294f0", "name": "Possibly dead Python function: query_knowledge", "shortDescription": {"text": "Possibly dead Python function: query_knowledge"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38fc642253d3bab3", "name": "Possibly dead Python function: default_reset", "shortDescription": {"text": "Possibly dead Python function: default_reset"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0471c1a76e3e9fbf", "name": "Possibly dead Python function: knowledge_reset", "shortDescription": {"text": "Possibly dead Python function: knowledge_reset"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5437b36e9c15b10a", "name": "Possibly dead Python function: plugin", "shortDescription": {"text": "Possibly dead Python function: plugin"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d5e03f1c8568d80", "name": "Possibly dead Python function: analyze_for_consolidation", "shortDescription": {"text": "Possibly dead Python function: analyze_for_consolidation"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea5b4953f37612e3", "name": "Possibly dead Python function: aextract_memories", "shortDescription": {"text": "Possibly dead Python function: aextract_memories"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f60a50f7c4e96a4f", "name": "Possibly dead Python function: aremember", "shortDescription": {"text": "Possibly dead Python function: aremember"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0f4ed93243d8a88e", "name": "Possibly dead Python function: aremember_many", "shortDescription": {"text": "Possibly dead Python function: aremember_many"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ccd6a3f8784697db", "name": "Possibly dead Python function: arecall", "shortDescription": {"text": "Possibly dead Python function: arecall"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84ebc4342518122f", "name": "Possibly dead Python function: subscope", "shortDescription": {"text": "Possibly dead Python function: subscope"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-910e805a18d89061", "name": "Possibly dead Python function: tool_wrapper", "shortDescription": {"text": "Possibly dead Python function: tool_wrapper"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-999ff5941ffff035", "name": "Possibly dead Python function: bound_callback", "shortDescription": {"text": "Possibly dead Python function: bound_callback"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b190d307ea364ae7", "name": "Possibly dead Python function: create_aws_session", "shortDescription": {"text": "Possibly dead Python function: create_aws_session"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-044f3abef425735a", "name": "Possibly dead Python function: embed_fn", "shortDescription": {"text": "Possibly dead Python function: embed_fn"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de7ff7b80f91b380", "name": "Possibly dead Python function: maybe_cast_one_to_many", "shortDescription": {"text": "Possibly dead Python function: maybe_cast_one_to_many"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-985b6c986e45813b", "name": "Possibly dead Python function: wrapped_call", "shortDescription": {"text": "Possibly dead Python function: wrapped_call"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b06f8aaed9f4638", "name": "Stray `console.log` in TS/JS \u2014 lib/crewai/src/crewai/flow/visualization/assets/interactive.js:1651", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 lib/crewai/src/crewai/flow/visualization/assets/interactive.js:1651"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-32350875b9d83b7a", "name": "Privileged port 18 in use", "shortDescription": {"text": "Privileged port 18 in use"}, "fullDescription": {"text": "Port 18 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-577559008747cdf6", "name": "Privileged port 33 in use", "shortDescription": {"text": "Privileged port 33 in use"}, "fullDescription": {"text": "Port 33 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-250bc2f612791267", "name": "Privileged port 256 in use", "shortDescription": {"text": "Privileged port 256 in use"}, "fullDescription": {"text": "Port 256 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9317ac9ac4c15307", "name": "Privileged port 1 in use", "shortDescription": {"text": "Privileged port 1 in use"}, "fullDescription": {"text": "Port 1 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-57ad58c920082c06", "name": "Privileged port 40 in use", "shortDescription": {"text": "Privileged port 40 in use"}, "fullDescription": {"text": "Port 40 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c5871d4eeb688cd8", "name": "Privileged port 19 in use", "shortDescription": {"text": "Privileged port 19 in use"}, "fullDescription": {"text": "Port 19 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d2e393c7160a61cd", "name": "Privileged port 50 in use", "shortDescription": {"text": "Privileged port 50 in use"}, "fullDescription": {"text": "Port 50 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-52e683bf346b276e", "name": "Privileged port 3 in use", "shortDescription": {"text": "Privileged port 3 in use"}, "fullDescription": {"text": "Port 3 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7fac17e5b84828c0", "name": "Privileged port 47 in use", "shortDescription": {"text": "Privileged port 47 in use"}, "fullDescription": {"text": "Port 47 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f7a61a3fb09568fd", "name": "Privileged port 8 in use", "shortDescription": {"text": "Privileged port 8 in use"}, "fullDescription": {"text": "Port 8 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fe1a15228a39250e", "name": "Privileged port 57 in use", "shortDescription": {"text": "Privileged port 57 in use"}, "fullDescription": {"text": "Port 57 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-37d702e30f6c1659", "name": "Privileged port 252 in use", "shortDescription": {"text": "Privileged port 252 in use"}, "fullDescription": {"text": "Port 252 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1008751d9c5ecf21", "name": "Privileged port 21 in use", "shortDescription": {"text": "Privileged port 21 in use"}, "fullDescription": {"text": "Port 21 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a288c00a93e5ad9e", "name": "Privileged port 52 in use", "shortDescription": {"text": "Privileged port 52 in use"}, "fullDescription": {"text": "Port 52 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bb984d5c712015f6", "name": "Privileged port 43 in use", "shortDescription": {"text": "Privileged port 43 in use"}, "fullDescription": {"text": "Port 43 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b2bf32cf633606fa", "name": "Privileged port 71 in use", "shortDescription": {"text": "Privileged port 71 in use"}, "fullDescription": {"text": "Port 71 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-12c6f3e1bf5fb1f8", "name": "Privileged port 9 in use", "shortDescription": {"text": "Privileged port 9 in use"}, "fullDescription": {"text": "Port 9 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-474bdbc6b3620bef", "name": "Privileged port 17 in use", "shortDescription": {"text": "Privileged port 17 in use"}, "fullDescription": {"text": "Port 17 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f807d3da57d606d9", "name": "Privileged port 12 in use", "shortDescription": {"text": "Privileged port 12 in use"}, "fullDescription": {"text": "Port 12 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5cb2a064e4fa587d", "name": "Privileged port 4 in use", "shortDescription": {"text": "Privileged port 4 in use"}, "fullDescription": {"text": "Port 4 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6a4b41dc935aec50", "name": "Privileged port 39 in use", "shortDescription": {"text": "Privileged port 39 in use"}, "fullDescription": {"text": "Port 39 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d0245133ffe104c", "name": "Privileged port 7 in use", "shortDescription": {"text": "Privileged port 7 in use"}, "fullDescription": {"text": "Port 7 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b716d2f0a5b63a8", "name": "Privileged port 58 in use", "shortDescription": {"text": "Privileged port 58 in use"}, "fullDescription": {"text": "Port 58 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a364b7c73e7146eb", "name": "Privileged port 23 in use", "shortDescription": {"text": "Privileged port 23 in use"}, "fullDescription": {"text": "Port 23 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bfe6a74d8257fec1", "name": "Privileged port 14 in use", "shortDescription": {"text": "Privileged port 14 in use"}, "fullDescription": {"text": "Port 14 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-985cd1165716ea66", "name": "Privileged port 82 in use", "shortDescription": {"text": "Privileged port 82 in use"}, "fullDescription": {"text": "Port 82 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c65c25bbfe0c9800", "name": "Privileged port 16 in use", "shortDescription": {"text": "Privileged port 16 in use"}, "fullDescription": {"text": "Port 16 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d20c0d200da52fbf", "name": "Privileged port 324 in use", "shortDescription": {"text": "Privileged port 324 in use"}, "fullDescription": {"text": "Port 324 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de1f75ff6d31ae60", "name": "Privileged port 45 in use", "shortDescription": {"text": "Privileged port 45 in use"}, "fullDescription": {"text": "Port 45 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-129276be1cee71a6", "name": "Privileged port 20 in use", "shortDescription": {"text": "Privileged port 20 in use"}, "fullDescription": {"text": "Port 20 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bffc47aca3a0e8c8", "name": "Privileged port 98 in use", "shortDescription": {"text": "Privileged port 98 in use"}, "fullDescription": {"text": "Port 98 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-08cb0d7c599ed97e", "name": "Privileged port 5 in use", "shortDescription": {"text": "Privileged port 5 in use"}, "fullDescription": {"text": "Port 5 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b58f077f705b9b63", "name": "Privileged port 6 in use", "shortDescription": {"text": "Privileged port 6 in use"}, "fullDescription": {"text": "Port 6 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c16a9e01d441fe1e", "name": "Privileged port 56 in use", "shortDescription": {"text": "Privileged port 56 in use"}, "fullDescription": {"text": "Port 56 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e68f8c7e78ac8f8b", "name": "Privileged port 37 in use", "shortDescription": {"text": "Privileged port 37 in use"}, "fullDescription": {"text": "Port 37 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-756e22135769bd01", "name": "Privileged port 2 in use", "shortDescription": {"text": "Privileged port 2 in use"}, "fullDescription": {"text": "Port 2 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d549d70ac8d426cd", "name": "Privileged port 825 in use", "shortDescription": {"text": "Privileged port 825 in use"}, "fullDescription": {"text": "Port 825 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-65ae20c86dfd7cf4", "name": "Privileged port 51 in use", "shortDescription": {"text": "Privileged port 51 in use"}, "fullDescription": {"text": "Port 51 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b39034a87e93e7b", "name": "Privileged port 26 in use", "shortDescription": {"text": "Privileged port 26 in use"}, "fullDescription": {"text": "Port 26 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e38ed0f0177c32d7", "name": "Privileged port 31 in use", "shortDescription": {"text": "Privileged port 31 in use"}, "fullDescription": {"text": "Port 31 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-239fad75da8b22db", "name": "Privileged port 34 in use", "shortDescription": {"text": "Privileged port 34 in use"}, "fullDescription": {"text": "Port 34 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8dde4a1c8c644a70", "name": "Privileged port 858 in use", "shortDescription": {"text": "Privileged port 858 in use"}, "fullDescription": {"text": "Port 858 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1c8be50c681bff8c", "name": "Privileged port 35 in use", "shortDescription": {"text": "Privileged port 35 in use"}, "fullDescription": {"text": "Port 35 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-50e5ca2c43ed929c", "name": "Privileged port 67 in use", "shortDescription": {"text": "Privileged port 67 in use"}, "fullDescription": {"text": "Port 67 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b7d209fde94f95b2", "name": "Privileged port 93 in use", "shortDescription": {"text": "Privileged port 93 in use"}, "fullDescription": {"text": "Port 93 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de2d2a94182246a3", "name": "Privileged port 10 in use", "shortDescription": {"text": "Privileged port 10 in use"}, "fullDescription": {"text": "Port 10 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-792f362bfbc7560c", "name": "Privileged port 84 in use", "shortDescription": {"text": "Privileged port 84 in use"}, "fullDescription": {"text": "Port 84 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6caf31586fd74a5a", "name": "Privileged port 938 in use", "shortDescription": {"text": "Privileged port 938 in use"}, "fullDescription": {"text": "Port 938 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8735f85bd3f45a9c", "name": "Privileged port 41 in use", "shortDescription": {"text": "Privileged port 41 in use"}, "fullDescription": {"text": "Port 41 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-25337d973bcc1769", "name": "Privileged port 158 in use", "shortDescription": {"text": "Privileged port 158 in use"}, "fullDescription": {"text": "Port 158 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d494b597eaf6abd6", "name": "Privileged port 13 in use", "shortDescription": {"text": "Privileged port 13 in use"}, "fullDescription": {"text": "Port 13 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2bc326babdfe33a5", "name": "Privileged port 73 in use", "shortDescription": {"text": "Privileged port 73 in use"}, "fullDescription": {"text": "Port 73 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aafd09f43f49724a", "name": "Privileged port 32 in use", "shortDescription": {"text": "Privileged port 32 in use"}, "fullDescription": {"text": "Port 32 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-477f784aeabc667a", "name": "Privileged port 11 in use", "shortDescription": {"text": "Privileged port 11 in use"}, "fullDescription": {"text": "Port 11 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0fc400964da137ed", "name": "Privileged port 24 in use", "shortDescription": {"text": "Privileged port 24 in use"}, "fullDescription": {"text": "Port 24 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7230602f892ec74d", "name": "Privileged port 476 in use", "shortDescription": {"text": "Privileged port 476 in use"}, "fullDescription": {"text": "Port 476 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-99ab22230a856ff1", "name": "Privileged port 641 in use", "shortDescription": {"text": "Privileged port 641 in use"}, "fullDescription": {"text": "Port 641 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8df53a5bea5cce12", "name": "Privileged port 62 in use", "shortDescription": {"text": "Privileged port 62 in use"}, "fullDescription": {"text": "Port 62 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e83f431eea839a6", "name": "Privileged port 430 in use", "shortDescription": {"text": "Privileged port 430 in use"}, "fullDescription": {"text": "Port 430 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c3940b54c90f67e7", "name": "Privileged port 48 in use", "shortDescription": {"text": "Privileged port 48 in use"}, "fullDescription": {"text": "Port 48 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c2595c53a13e10c2", "name": "Privileged port 70 in use", "shortDescription": {"text": "Privileged port 70 in use"}, "fullDescription": {"text": "Port 70 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5220064372bf380a", "name": "Privileged port 38 in use", "shortDescription": {"text": "Privileged port 38 in use"}, "fullDescription": {"text": "Port 38 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-733a96b573500f46", "name": "Privileged port 30 in use", "shortDescription": {"text": "Privileged port 30 in use"}, "fullDescription": {"text": "Port 30 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-19015707c647d52d", "name": "Privileged port 89 in use", "shortDescription": {"text": "Privileged port 89 in use"}, "fullDescription": {"text": "Port 89 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9cd2921fa17b37b", "name": "Privileged port 59 in use", "shortDescription": {"text": "Privileged port 59 in use"}, "fullDescription": {"text": "Port 59 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-89fdc947c07478b0", "name": "Privileged port 75 in use", "shortDescription": {"text": "Privileged port 75 in use"}, "fullDescription": {"text": "Port 75 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-87690cd5cf28f732", "name": "Privileged port 68 in use", "shortDescription": {"text": "Privileged port 68 in use"}, "fullDescription": {"text": "Port 68 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5b7504ccd1e67b81", "name": "Privileged port 81 in use", "shortDescription": {"text": "Privileged port 81 in use"}, "fullDescription": {"text": "Port 81 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-480f691af4b59bee", "name": "Privileged port 319 in use", "shortDescription": {"text": "Privileged port 319 in use"}, "fullDescription": {"text": "Port 319 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e2ad644753eb971", "name": "Privileged port 46 in use", "shortDescription": {"text": "Privileged port 46 in use"}, "fullDescription": {"text": "Port 46 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0eae51e7c13ce45d", "name": "Privileged port 978 in use", "shortDescription": {"text": "Privileged port 978 in use"}, "fullDescription": {"text": "Port 978 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-45556987aad33ee1", "name": "Privileged port 36 in use", "shortDescription": {"text": "Privileged port 36 in use"}, "fullDescription": {"text": "Port 36 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c246ec52a5dac8e9", "name": "Privileged port 897 in use", "shortDescription": {"text": "Privileged port 897 in use"}, "fullDescription": {"text": "Port 897 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0462f160a3ce5a07", "name": "Privileged port 44 in use", "shortDescription": {"text": "Privileged port 44 in use"}, "fullDescription": {"text": "Port 44 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-11335f0687e67c44", "name": "Privileged port 54 in use", "shortDescription": {"text": "Privileged port 54 in use"}, "fullDescription": {"text": "Port 54 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-006174c9c699386d", "name": "Privileged port 79 in use", "shortDescription": {"text": "Privileged port 79 in use"}, "fullDescription": {"text": "Port 79 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-366f1ed8a64c8687", "name": "Privileged port 27 in use", "shortDescription": {"text": "Privileged port 27 in use"}, "fullDescription": {"text": "Port 27 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-874e47bd2554d1ea", "name": "Privileged port 767 in use", "shortDescription": {"text": "Privileged port 767 in use"}, "fullDescription": {"text": "Port 767 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f2e0e69741cf23e7", "name": "Privileged port 124 in use", "shortDescription": {"text": "Privileged port 124 in use"}, "fullDescription": {"text": "Port 124 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b1f8f6ef074e65a", "name": "Privileged port 97 in use", "shortDescription": {"text": "Privileged port 97 in use"}, "fullDescription": {"text": "Port 97 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d5fab7af2c357666", "name": "Privileged port 145 in use", "shortDescription": {"text": "Privileged port 145 in use"}, "fullDescription": {"text": "Port 145 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a5466b5dd809ed0b", "name": "Privileged port 85 in use", "shortDescription": {"text": "Privileged port 85 in use"}, "fullDescription": {"text": "Port 85 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8dd3c09cb5e424d0", "name": "Privileged port 49 in use", "shortDescription": {"text": "Privileged port 49 in use"}, "fullDescription": {"text": "Port 49 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e8f0dc8cb51ab421", "name": "Privileged port 60 in use", "shortDescription": {"text": "Privileged port 60 in use"}, "fullDescription": {"text": "Port 60 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9c7eec0c3ccb6f9b", "name": "Privileged port 83 in use", "shortDescription": {"text": "Privileged port 83 in use"}, "fullDescription": {"text": "Port 83 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f776f041e4ea53a0", "name": "Privileged port 992 in use", "shortDescription": {"text": "Privileged port 992 in use"}, "fullDescription": {"text": "Port 992 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-da15349966841f61", "name": "Privileged port 705 in use", "shortDescription": {"text": "Privileged port 705 in use"}, "fullDescription": {"text": "Port 705 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-59e11e041af3c214", "name": "Privileged port 254 in use", "shortDescription": {"text": "Privileged port 254 in use"}, "fullDescription": {"text": "Port 254 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5e9261dcadcbbdc2", "name": "Privileged port 868 in use", "shortDescription": {"text": "Privileged port 868 in use"}, "fullDescription": {"text": "Port 868 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d151dc96ed9bcf0e", "name": "Privileged port 76 in use", "shortDescription": {"text": "Privileged port 76 in use"}, "fullDescription": {"text": "Port 76 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-411ab63a5e41a8f0", "name": "Privileged port 126 in use", "shortDescription": {"text": "Privileged port 126 in use"}, "fullDescription": {"text": "Port 126 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7f0e0b3a23ade69c", "name": "Privileged port 15 in use", "shortDescription": {"text": "Privileged port 15 in use"}, "fullDescription": {"text": "Port 15 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c3685c5a38428a2d", "name": "Privileged port 687 in use", "shortDescription": {"text": "Privileged port 687 in use"}, "fullDescription": {"text": "Port 687 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ff2b93fc21941a80", "name": "Privileged port 413 in use", "shortDescription": {"text": "Privileged port 413 in use"}, "fullDescription": {"text": "Port 413 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8d158b7afa181c2a", "name": "Privileged port 941 in use", "shortDescription": {"text": "Privileged port 941 in use"}, "fullDescription": {"text": "Port 941 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-298a3bb779553c18", "name": "Privileged port 660 in use", "shortDescription": {"text": "Privileged port 660 in use"}, "fullDescription": {"text": "Port 660 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-167f77efbab6e0a6", "name": "Privileged port 582 in use", "shortDescription": {"text": "Privileged port 582 in use"}, "fullDescription": {"text": "Port 582 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b3551b99e9d15546", "name": "Privileged port 736 in use", "shortDescription": {"text": "Privileged port 736 in use"}, "fullDescription": {"text": "Port 736 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9d2ee4aab27724a", "name": "Privileged port 69 in use", "shortDescription": {"text": "Privileged port 69 in use"}, "fullDescription": {"text": "Port 69 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-860951fc81337755", "name": "Privileged port 29 in use", "shortDescription": {"text": "Privileged port 29 in use"}, "fullDescription": {"text": "Port 29 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-466bf451672d3aea", "name": "Privileged port 301 in use", "shortDescription": {"text": "Privileged port 301 in use"}, "fullDescription": {"text": "Port 301 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b8a2c74c1b701aa0", "name": "Privileged port 917 in use", "shortDescription": {"text": "Privileged port 917 in use"}, "fullDescription": {"text": "Port 917 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2fae6cc8b67c347f", "name": "Privileged port 349 in use", "shortDescription": {"text": "Privileged port 349 in use"}, "fullDescription": {"text": "Port 349 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-94fd68ab7f1703ce", "name": "Privileged port 530 in use", "shortDescription": {"text": "Privileged port 530 in use"}, "fullDescription": {"text": "Port 530 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f7878d11eb345430", "name": "Privileged port 42 in use", "shortDescription": {"text": "Privileged port 42 in use"}, "fullDescription": {"text": "Port 42 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5269a02ca93709dc", "name": "Privileged port 65 in use", "shortDescription": {"text": "Privileged port 65 in use"}, "fullDescription": {"text": "Port 65 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e44aa7923434f91f", "name": "Privileged port 509 in use", "shortDescription": {"text": "Privileged port 509 in use"}, "fullDescription": {"text": "Port 509 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d26129fb807d882", "name": "Privileged port 96 in use", "shortDescription": {"text": "Privileged port 96 in use"}, "fullDescription": {"text": "Port 96 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a17bae46d5bac84c", "name": "Privileged port 86 in use", "shortDescription": {"text": "Privileged port 86 in use"}, "fullDescription": {"text": "Port 86 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d41c63d0b8ca9683", "name": "Privileged port 622 in use", "shortDescription": {"text": "Privileged port 622 in use"}, "fullDescription": {"text": "Port 622 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-43e496167fde2f4c", "name": "Runtime dotenv file present in repo: .env.test", "shortDescription": {"text": "Runtime dotenv file present in repo: .env.test"}, "fullDescription": {"text": "`.env.test` looks like a runtime dotenv file. It contains secret-looking assignments for OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, AZURE_API_KEY, OPENROUTER_API_KEY. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-db904f5945f6b5b6", "name": "Possible secret in lib/crewai/tests/agents/test_agent.py", "shortDescription": {"text": "Possible secret in lib/crewai/tests/agents/test_agent.py"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-c288fec62f2f5008", "name": "Insecure pattern 'direct_innerhtml_assignment' in lib/crewai/src/crewai/flow/visualization/assets/interactive.js:1467", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lib/crewai/src/crewai/flow/visualization/assets/interactive.js:1467"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7febb5dc8062b634", "name": "Possible secret in lib/crewai-tools/tests/tools/stagehand_tool_test.py", "shortDescription": {"text": "Possible secret in lib/crewai-tools/tests/tools/stagehand_tool_test.py"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-075a6827c69fa156", "name": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/weaviate_tool/README.md", "shortDescription": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/weaviate_tool/README.md"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-c17c0680217f7739", "name": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/.env.example", "shortDescription": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/.env.example"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-b4dca0a284347fac", "name": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/README.md", "shortDescription": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/README.md"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-6d37174ebbf48cd4", "name": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/multion_tool/README.md", "shortDescription": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/multion_tool/README.md"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-ee252b4a1468bf6e", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e24bc72c7ff0ed87", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-97b651bf8e7aa128", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7ffa33751be3d771", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3b6d70fd89ccb41b", "name": "Very large file: lib/devtools/src/crewai_devtools/cli.py (2381 lines)", "shortDescription": {"text": "Very large file: lib/devtools/src/crewai_devtools/cli.py (2381 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-199bbab657a653cb", "name": "Very large file: lib/crewai/tests/test_task.py (1723 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/test_task.py (1723 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4404d3d83b6d308e", "name": "Very large file: lib/crewai/tests/test_crew.py (4872 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/test_crew.py (4872 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f28bf303cfead57e", "name": "Very large file: lib/crewai/tests/test_flow.py (2313 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/test_flow.py (2313 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7e1405f83d7b0bb3", "name": "Very large file: lib/crewai/tests/test_async_human_feedback.py (1355 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/test_async_human_feedback.py (1355 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-de6cd5a040fbefcc", "name": "Very large file: lib/crewai/tests/test_flow_conversation.py (1756 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/test_flow_conversation.py (1756 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c1971b230a16c2e", "name": "Very large file: lib/crewai/tests/agents/test_agent_executor.py (2394 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/agents/test_agent_executor.py (2394 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-98ef48499933123d", "name": "Very large file: lib/crewai/tests/agents/test_agent.py (2711 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/agents/test_agent.py (2711 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76983f7246b9ddec", "name": "Very large file: lib/crewai/tests/utilities/test_events.py (1577 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/utilities/test_events.py (1577 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-efb7ffa9b393bd41", "name": "Very large file: lib/crewai/tests/tracing/test_tracing.py (1783 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/tracing/test_tracing.py (1783 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69f4a529cbbe0f44", "name": "Very large file: lib/crewai/tests/llms/azure/test_azure.py (1570 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/llms/azure/test_azure.py (1570 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8dfcfaa1f0252cd9", "name": "Very large file: lib/crewai/tests/llms/openai/test_openai.py (2019 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/llms/openai/test_openai.py (2019 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8943fcca3691b019", "name": "Very large file: lib/crewai/tests/events/test_event_ordering.py (1629 lines)", "shortDescription": {"text": "Very large file: lib/crewai/tests/events/test_event_ordering.py (1629 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9cddba361140cc3", "name": "Very large file: lib/crewai/src/crewai/task.py (1463 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/task.py (1463 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0042458bccd9a2e9", "name": "Very large file: lib/crewai/src/crewai/crew.py (2372 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/crew.py (2372 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-040279d08c141698", "name": "Very large file: lib/crewai/src/crewai/llm.py (2674 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/llm.py (2674 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-53013eb6df321a87", "name": "Very large file: lib/crewai/src/crewai/agents/crew_agent_executor.py (1663 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/agents/crew_agent_executor.py (1663 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8faf5620818e1bb", "name": "Very large file: lib/crewai/src/crewai/flow/visualization/assets/interactive.js (2513 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/flow/visualization/assets/interactive.js (2513 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ef73a4e2f881b77", "name": "Very large file: lib/crewai/src/crewai/flow/runtime/__init__.py (3872 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/flow/runtime/__init__.py (3872 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb2e4aab22e5ce99", "name": "Very large file: lib/crewai/src/crewai/a2a/wrapper.py (1772 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/a2a/wrapper.py (1772 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c1bfe05a54c2f666", "name": "Very large file: lib/crewai/src/crewai/utilities/agent_utils.py (1780 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/utilities/agent_utils.py (1780 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b233f6d36fe6a2e", "name": "Very large file: lib/crewai/src/crewai/agent/core.py (1977 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/agent/core.py (1977 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cab0bdf703d7f35", "name": "Very large file: lib/crewai/src/crewai/experimental/agent_executor.py (3203 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/experimental/agent_executor.py (3203 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e38f672f14c460e7", "name": "Very large file: lib/crewai/src/crewai/llms/providers/anthropic/completion.py (1936 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/anthropic/completion.py (1936 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6509161a44b0323a", "name": "Very large file: lib/crewai/src/crewai/llms/providers/gemini/completion.py (1546 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/gemini/completion.py (1546 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb2946b6bff6b118", "name": "Very large file: lib/crewai/src/crewai/llms/providers/azure/completion.py (1411 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/azure/completion.py (1411 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a510d86f07daa17", "name": "Very large file: lib/crewai/src/crewai/llms/providers/openai/completion.py (2529 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/openai/completion.py (2529 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f46fc4901d5f3ddc", "name": "Very large file: lib/crewai/src/crewai/llms/providers/bedrock/completion.py (2242 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/bedrock/completion.py (2242 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-75f5e98b0c15a8d0", "name": "Very large file: lib/crewai/src/crewai/events/utils/console_formatter.py (1772 lines)", "shortDescription": {"text": "Very large file: lib/crewai/src/crewai/events/utils/console_formatter.py (1772 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fcacfd8abb1fed1e", "name": "Very large file: lib/cli/src/crewai_cli/crew_run_tui.py (2098 lines)", "shortDescription": {"text": "Very large file: lib/cli/src/crewai_cli/crew_run_tui.py (2098 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fe8ecda90709d714", "name": "131 TODO/FIXME markers", "shortDescription": {"text": "131 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 66 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 39 placeholder/mock markers across 22 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eee47d284d793193", "name": "Commented-code block (5 lines) in conftest.py:77", "shortDescription": {"text": "Commented-code block (5 lines) in conftest.py:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1a5f53e1332eedad", "name": "Network/subprocess call without timeout or try/except \u2014 lib/devtools/src/crewai_devtools/cli.py:73", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/devtools/src/crewai_devtools/cli.py:73"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8bf187e2a4f490c3", "name": "Network/subprocess call without timeout or try/except \u2014 lib/devtools/src/crewai_devtools/docs_check.py:151", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/devtools/src/crewai_devtools/docs_check.py:151"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d8fc25f1b0c5495d", "name": "Legacy-named symbol `model_copy` in lib/crewai/tests/test_crew.py:638", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/tests/test_crew.py:638"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42a43b0d5a1359f7", "name": "Legacy-named symbol `changed_after_copy` in lib/crewai/tests/test_flow.py:1750", "shortDescription": {"text": "Legacy-named symbol `changed_after_copy` in lib/crewai/tests/test_flow.py:1750"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e04f606334f47ba6", "name": "Legacy-named symbol `test_usage_metrics_returns_independent_copy` in lib/crewai/tests/test_flow_usage_metrics.py:262", "shortDescription": {"text": "Legacy-named symbol `test_usage_metrics_returns_independent_copy` in lib/crewai/tests/test_flow_usage_metrics.py:262"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c47d65b76b7dfeea", "name": "Legacy-named symbol `model_copy` in lib/crewai/tests/test_flow_ask.py:52", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/tests/test_flow_ask.py:52"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bdf5fa1b3683f47f", "name": "Commented-code block (5 lines) in lib/crewai/tests/test_flow_conversation.py:41", "shortDescription": {"text": "Commented-code block (5 lines) in lib/crewai/tests/test_flow_conversation.py:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-90c7269a740fa502", "name": "Legacy-named symbol `test_agent_with_knowledge_sources_works_with_copy` in lib/crewai/tests/agents/test_agent.py:1793", "shortDescription": {"text": "Legacy-named symbol `test_agent_with_knowledge_sources_works_with_copy` in lib/crewai/tests/agents/test_agent.py:1793"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b695109e1bb68c42", "name": "Legacy-named symbol `test_security_preservation_during_copy` in lib/crewai/tests/security/test_examples.py:153", "shortDescription": {"text": "Legacy-named symbol `test_security_preservation_during_copy` in lib/crewai/tests/security/test_examples.py:153"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc247be97acaf6c3", "name": "Legacy-named symbol `test_get_before_hooks_returns_copy` in lib/crewai/tests/hooks/test_llm_hooks.py:132", "shortDescription": {"text": "Legacy-named symbol `test_get_before_hooks_returns_copy` in lib/crewai/tests/hooks/test_llm_hooks.py:132"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-684fe3e079c2b5f9", "name": "Legacy-named symbol `test_get_before_hooks_returns_copy` in lib/crewai/tests/hooks/test_tool_hooks.py:204", "shortDescription": {"text": "Legacy-named symbol `test_get_before_hooks_returns_copy` in lib/crewai/tests/hooks/test_tool_hooks.py:204"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d909d1e093e883ea", "name": "Legacy-named symbol `test_preserves_existing_v1` in lib/crewai/tests/llms/openai_compatible/test_openai_compatible.py:10", "shortDescription": {"text": "Legacy-named symbol `test_preserves_existing_v1` in lib/crewai/tests/llms/openai_compatible/test_openai_compatible.py:106"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0fab5c1d50d4a949", "name": "Commented-code block (6 lines) in lib/crewai/tests/events/test_llm_finish_reason_response_id.py:113", "shortDescription": {"text": "Commented-code block (6 lines) in lib/crewai/tests/events/test_llm_finish_reason_response_id.py:113"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2a50014aefe5c9c0", "name": "Legacy-named symbol `shallow_copy` in lib/crewai/src/crewai/task.py:7", "shortDescription": {"text": "Legacy-named symbol `shallow_copy` in lib/crewai/src/crewai/task.py:7"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b072c71e56a6b896", "name": "Stub function `_post_agent_execution` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/task.py:887", "shortDescription": {"text": "Stub function `_post_agent_execution` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/task.py:887"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f56ad9b571a77c8", "name": "Legacy-named symbol `shallow_copy` in lib/crewai/src/crewai/crew.py:6", "shortDescription": {"text": "Legacy-named symbol `shallow_copy` in lib/crewai/src/crewai/crew.py:6"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-870b72359cc979a3", "name": "Legacy-named symbol `kwargs_copy` in lib/crewai/src/crewai/llm.py:457", "shortDescription": {"text": "Legacy-named symbol `kwargs_copy` in lib/crewai/src/crewai/llm.py:457"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18f72f0080ab54ec", "name": "Commented-code block (5 lines) in lib/crewai/src/crewai/memory/types.py:12", "shortDescription": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/memory/types.py:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3c08a998a6684499", "name": "Commented-code block (5 lines) in lib/crewai/src/crewai/memory/encoding_flow.py:424", "shortDescription": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/memory/encoding_flow.py:424"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d28cc816988d1cab", "name": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/memory/unified_memory.py:865", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/memory/unified_memory.py:865"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4297b897f8010f0", "name": "Commented-code block (6 lines) in lib/crewai/src/crewai/memory/unified_memory.py:613", "shortDescription": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/memory/unified_memory.py:613"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10b294c2f3389f10", "name": "Commented-code block (5 lines) in lib/crewai/src/crewai/agents/step_executor.py:189", "shortDescription": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/agents/step_executor.py:189"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4d6fcf09964f62de", "name": "Legacy-named symbol `shallow_copy` in lib/crewai/src/crewai/agents/agent_builder/base_agent.py:5", "shortDescription": {"text": "Legacy-named symbol `shallow_copy` in lib/crewai/src/crewai/agents/agent_builder/base_agent.py:5"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-477dfeda1ac723db", "name": "Stub function `execute_task` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/agents/agent_builder/base_agent.py:6", "shortDescription": {"text": "Stub function `execute_task` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/agents/agent_builder/base_agent.py:658"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ba0e4010cfd5a18", "name": "Commented-code block (5 lines) in lib/crewai/src/crewai/rag/factory.py:15", "shortDescription": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/rag/factory.py:15"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7de1a00bedfaf686", "name": "Legacy-named symbol `onnx_mini_lm_l6_v2` in lib/crewai/src/crewai/rag/embeddings/factory.py:34", "shortDescription": {"text": "Legacy-named symbol `onnx_mini_lm_l6_v2` in lib/crewai/src/crewai/rag/embeddings/factory.py:34"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80ef712f9f36226b", "name": "Legacy-named symbol `_use_legacy` in lib/crewai/src/crewai/rag/embeddings/providers/google/genai_vertex_embedding.py:98", "shortDescription": {"text": "Legacy-named symbol `_use_legacy` in lib/crewai/src/crewai/rag/embeddings/providers/google/genai_vertex_embedding.py:98"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-07d514ce9d624d04", "name": "Legacy-named symbol `onnx_mini_lm_l6_v2` in lib/crewai/src/crewai/rag/embeddings/providers/onnx/onnx_provider.py:3", "shortDescription": {"text": "Legacy-named symbol `onnx_mini_lm_l6_v2` in lib/crewai/src/crewai/rag/embeddings/providers/onnx/onnx_provider.py:3"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b404ee2927542cf1", "name": "Commented-code block (11 lines) in lib/crewai/src/crewai/flow/visualization/assets/interactive.js:2325", "shortDescription": {"text": "Commented-code block (11 lines) in lib/crewai/src/crewai/flow/visualization/assets/interactive.js:2325"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ce78966f234c49c", "name": "Stub function `begin` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/flow/persistence/decorators.py:179", "shortDescription": {"text": "Stub function `begin` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/flow/persistence/decorators.py:179"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13aca64cc3d5513d", "name": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/flow/runtime/__init__.py:1049", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/flow/runtime/__init__.py:1049"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2657d8260d3772f4", "name": "Commented-code block (6 lines) in lib/crewai/src/crewai/flow/runtime/__init__.py:165", "shortDescription": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/flow/runtime/__init__.py:165"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a76760e584d9af05", "name": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/flow/dsl/_utils.py:373", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/flow/dsl/_utils.py:373"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cade77146e404744", "name": "Stub function `inject_tools` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/a2a/extensions/base.py:65", "shortDescription": {"text": "Stub function `inject_tools` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/a2a/extensions/base.py:65"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a77355f7ba460ba0", "name": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/delegation.py:629", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/delegation.py:629"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-feae60937803348c", "name": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/task.py:574", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/task.py:574"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-196a8c7253b41e8a", "name": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/agent_card_signing.py:10", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/agent_card_signing.py:10"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5d30fee404424525", "name": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/agent_card.py:543", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/agent_card.py:543"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84eb253878b4db15", "name": "Legacy-named symbol `schema_copy` in lib/crewai/src/crewai/utilities/pydantic_schema_utils.py:112", "shortDescription": {"text": "Legacy-named symbol `schema_copy` in lib/crewai/src/crewai/utilities/pydantic_schema_utils.py:112"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2915782b6c66244f", "name": "Commented-code block (6 lines) in lib/crewai/src/crewai/tools/agent_tools/base_agent_tools.py:66", "shortDescription": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/tools/agent_tools/base_agent_tools.py:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10ce1fdf827d2531", "name": "Commented-code block (5 lines) in lib/crewai/src/crewai/experimental/agent_executor.py:2258", "shortDescription": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/experimental/agent_executor.py:2258"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-58224b81c4203e5d", "name": "Commented-code block (7 lines) in lib/crewai/src/crewai/experimental/__init__.py:7", "shortDescription": {"text": "Commented-code block (7 lines) in lib/crewai/src/crewai/experimental/__init__.py:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-832079c6ada1d973", "name": "Commented-code block (6 lines) in lib/crewai/src/crewai/experimental/conversational_mixin.py:112", "shortDescription": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/experimental/conversational_mixin.py:112"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8be824d8c67228f0", "name": "Stub function `_clear_or_listeners` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/experimental/conversational_m", "shortDescription": {"text": "Stub function `_clear_or_listeners` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/experimental/conversational_mixin.py:132"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93f2d815c185471a", "name": "Stub function `metric_category` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/experimental/evaluation/base_eval", "shortDescription": {"text": "Stub function `metric_category` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/experimental/evaluation/base_evaluator.py:58"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f781991fe0667543", "name": "Legacy-named symbol `crew_copy` in lib/crewai/src/crewai/crews/utils.py:448", "shortDescription": {"text": "Legacy-named symbol `crew_copy` in lib/crewai/src/crewai/crews/utils.py:448"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd25c5612ead9670", "name": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/state/checkpoint_config.py:230", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/state/checkpoint_config.py:230"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d5ca9824c17ca79e", "name": "Stub function `exec_module` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/cli/__init__.py:39", "shortDescription": {"text": "Stub function `exec_module` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/cli/__init__.py:39"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ff74db4bb084f1f1", "name": "Commented-code block (6 lines) in lib/crewai/src/crewai/llms/base_llm.py:763", "shortDescription": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/llms/base_llm.py:763"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-40db26333b176ab1", "name": "Commented-code block (7 lines) in lib/crewai/src/crewai/llms/providers/anthropic/completion.py:676", "shortDescription": {"text": "Commented-code block (7 lines) in lib/crewai/src/crewai/llms/providers/anthropic/completion.py:676"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d2b00c3c28cd147", "name": "Commented-code block (5 lines) in lib/crewai/src/crewai/llms/providers/bedrock/completion.py:1854", "shortDescription": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/llms/providers/bedrock/completion.py:1854"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c8d56824f164ea39", "name": "Stub function `on_knowledge_query_completed` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/events/event_listene", "shortDescription": {"text": "Stub function `on_knowledge_query_completed` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/events/event_listener.py:533"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-da205c323c173272", "name": "Commented-code block (6 lines) in lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py:237", "shortDescription": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py:237"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b04434ece7a8ba27", "name": "Stub function `on_flow_created` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/events/listeners/tracing/trace_li", "shortDescription": {"text": "Stub function `on_flow_created` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py:232"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f3c954b01315146", "name": "Legacy-named symbol `tree_copy` in lib/cli/tests/test_utils.py:71", "shortDescription": {"text": "Legacy-named symbol `tree_copy` in lib/cli/tests/test_utils.py:71"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f357382faa42d3b6", "name": "Legacy-named symbol `tree_copy` in lib/cli/src/crewai_cli/utils.py:35", "shortDescription": {"text": "Legacy-named symbol `tree_copy` in lib/cli/src/crewai_cli/utils.py:35"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e361442ce3e6a67e", "name": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/install_crew.py:25", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/install_crew.py:25"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e3147f3cc0eef712", "name": "Legacy-named symbol `lock_backup` in lib/cli/src/crewai_cli/update_crew.py:90", "shortDescription": {"text": "Legacy-named symbol `lock_backup` in lib/cli/src/crewai_cli/update_crew.py:90"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c135f633a555557", "name": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/git.py:33", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/git.py:33"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-15ef859dbc8e9c3e", "name": "Commented-code block (5 lines) in lib/cli/src/crewai_cli/crew_run_tui.py:2006", "shortDescription": {"text": "Commented-code block (5 lines) in lib/cli/src/crewai_cli/crew_run_tui.py:2006"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-de4b90e2730483ac", "name": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/train_crew.py:22", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/train_crew.py:22"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d0bd7679968e292e", "name": "Legacy-named symbol `tree_copy` in lib/cli/src/crewai_cli/tools/main.py:23", "shortDescription": {"text": "Legacy-named symbol `tree_copy` in lib/cli/src/crewai_cli/tools/main.py:23"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c020157a61a99b9", "name": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/tools/main.py:158", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/tools/main.py:158"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e771e72cd32962c3", "name": "Legacy-named symbol `list_objects_v2` in lib/crewai-files/src/crewai_files/uploaders/bedrock.py:361", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in lib/crewai-files/src/crewai_files/uploaders/bedrock.py:361"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d8fdbf40a556048", "name": "Legacy-named symbol `test_exasearchtool_alias_is_deprecated` in lib/crewai-tools/tests/tools/exa_search_tool_test.py:109", "shortDescription": {"text": "Legacy-named symbol `test_exasearchtool_alias_is_deprecated` in lib/crewai-tools/tests/tools/exa_search_tool_test.py:109"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5b63fadbbce02a39", "name": "Commented-code block (6 lines) in lib/crewai-tools/tests/tools/brave_search_tool_test.py:340", "shortDescription": {"text": "Commented-code block (6 lines) in lib/crewai-tools/tests/tools/brave_search_tool_test.py:340"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-56d14d10fead3d14", "name": "Commented-code block (5 lines) in lib/crewai-tools/src/crewai_tools/tools/nl2sql/nl2sql_tool.py:320", "shortDescription": {"text": "Commented-code block (5 lines) in lib/crewai-tools/src/crewai_tools/tools/nl2sql/nl2sql_tool.py:320"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ed8298a13cf802c0", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/mongodb_vector_search_to", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/mongodb_vector_search_tool/vector_search.py:118"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f21347293a029559", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/weaviate_tool/vector_sea", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/weaviate_tool/vector_search.py:99"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-87950687385d6786", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/generate_crewai_automati", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/generate_crewai_automation_tool/generate_crewai_automation_tool.py:52"}, "fullDescription": {"text": "`requests.post(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c96709f67bf2ae91", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/firecrawl_scrape_website", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/firecrawl_scrape_website_tool/firecrawl_scrape_website_tool.py:96"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f6a0a46385a4e83e", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/browserbase_load_tool/br", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/browserbase_load_tool/browserbase_load_tool.py:62"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5119514e0a8c095d", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/serpapi_tool/serpapi_bas", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/serpapi_tool/serpapi_base_tool.py:38"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9096ca99026bcd6", "name": "Stub function `configure_logging` (body is just `pass`/`return`) \u2014 lib/crewai-tools/src/crewai_tools/tools/stagehand_too", "shortDescription": {"text": "Stub function `configure_logging` (body is just `pass`/`return`) \u2014 lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/stagehand_tool.py:39"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cef4ab7d51a2b4a9", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/couchbase_tool/couchbase", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/couchbase_tool/couchbase_tool.py:178"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0ad79d7463cfa9b6", "name": "Legacy-named symbol `model_copy` in lib/crewai-tools/src/crewai_tools/tools/qdrant_vector_search_tool/qdrant_search_tool", "shortDescription": {"text": "Legacy-named symbol `model_copy` in lib/crewai-tools/src/crewai_tools/tools/qdrant_vector_search_tool/qdrant_search_tool.py:89"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a626c9313efa056f", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/exa_tools/exa_search_too", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/exa_tools/exa_search_tool.py:102"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e84c90741248e1e", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/selenium_scraping_tool/s", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/selenium_scraping_tool/selenium_scraping_tool.py:90"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ae7d0ff3fbd22bd9", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/scrapegraph_scrape_tool/", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/scrapegraph_scrape_tool/scrapegraph_scrape_tool.py:102"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a52f6248973eb75b", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/linkup/linkup_search_too", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/linkup/linkup_search_tool.py:46"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-09b821e97811322c", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/spider_tool/spider_tool.", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/spider_tool/spider_tool.py:107"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e7a5afe57986423", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/scrapfly_scrape_website_", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/scrapfly_scrape_website_tool/scrapfly_scrape_website_tool.py:61"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7cd8a5260d9d8a77", "name": "Commented-code block (7 lines) in lib/crewai-tools/src/crewai_tools/tools/brave_search_tool/base.py:286", "shortDescription": {"text": "Commented-code block (7 lines) in lib/crewai-tools/src/crewai_tools/tools/brave_search_tool/base.py:286"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5f424cfdc03127a0", "name": "Commented-code block (6 lines) in lib/crewai-tools/src/crewai_tools/tools/file_writer_tool/file_writer_tool.py:44", "shortDescription": {"text": "Commented-code block (6 lines) in lib/crewai-tools/src/crewai_tools/tools/file_writer_tool/file_writer_tool.py:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8f04f253af13d95", "name": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/multion_tool/multion_too", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/multion_tool/multion_tool.py:45"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a3fa661dce556503", "name": "96 env vars used in code but missing from .env.example", "shortDescription": {"text": "96 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `AGENT_HANDLER_API_KEY`, `APIFY_API_TOKEN`, `API_BASE`, `AUTH_TOKEN`, `AWS_ACCESS_KEY_ID`, `AWS_DEFAULT_REGION`, `AWS_REGION`, `AWS_REGION_NAME` + 88 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nlib/crewai-core/src/crewai_core/plus_api.py:mark_trace_batch_as_failed, lib/crewai-core/src/crewai_core/plus_api.py:mark_ephemeral_trace_batch_as_failed\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nlib/crewai-core/src/crewai_core/auth/providers/workos.py:get_client_id, lib/crewai-core/src/crewai_core/auth/providers/auth0.py:get_client_id, lib/crewai-core/src/crewai_core/auth/providers/okta.py:get_client_id, lib/crewai-core/src/crewai_core/auth/providers/entra_id.py:get_client_id\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nlib/crewai-core/src/crewai_core/auth/providers/auth0.py:get_audience, lib/crewai-core/src/crewai_core/auth/providers/okta.py:get_audience, lib/crewai-core/src/crewai_core/auth/providers/entra_id.py:get_audience\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nlib/crewai/src/crewai/memory/unified_memory.py:recall, lib/crewai/src/crewai/memory/unified_memory.py:arecall, lib/crewai/src/crewai/memory/memory_scope.py:recall, lib/crewai/src/crewai/memory/memory_scope.py:recall\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "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}}}]}, {"ruleId": "scanner-c3923dd06ec3139c", "level": "note", "message": {"text": "Possibly dead Python function: print_payload_and_stop"}, "properties": {"repobilityId": "d32651026ae3b463", "scanner": "scanner-primary", "fingerprint": "c3923dd06ec3139c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/age90_file_input_runner.py:141"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd9b188770c03e91", "level": "note", "message": {"text": "Possibly dead Python function: list_skills"}, "properties": {"repobilityId": "df8e5ec45799d4b8", "scanner": "scanner-primary", "fingerprint": "bd9b188770c03e91", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-core/src/crewai_core/plus_api.py:263"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-823fd2313f779ced", "level": "note", "message": {"text": "Possibly dead Python function: task_to_kickoff_adapter"}, "properties": {"repobilityId": "5c2ae4f64e849552", "scanner": "scanner-primary", "fingerprint": "823fd2313f779ced", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/lite_agent.py:157"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8e0d2c2a538b99e5", "level": "note", "message": {"text": "Possibly dead Python function: filtered_warn"}, "properties": {"repobilityId": "192e88381ad5cb52", "scanner": "scanner-primary", "fingerprint": "8e0d2c2a538b99e5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/__init__.py:32"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-461a7100f9b294f0", "level": "note", "message": {"text": "Possibly dead Python function: query_knowledge"}, "properties": {"repobilityId": "e2ec6ed3bc8bc12c", "scanner": "scanner-primary", "fingerprint": "461a7100f9b294f0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/crew.py:1958"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-38fc642253d3bab3", "level": "note", "message": {"text": "Possibly dead Python function: default_reset"}, "properties": {"repobilityId": "35247cb7c0da65e0", "scanner": "scanner-primary", "fingerprint": "38fc642253d3bab3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/crew.py:2277"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0471c1a76e3e9fbf", "level": "note", "message": {"text": "Possibly dead Python function: knowledge_reset"}, "properties": {"repobilityId": "2ab63a2466243776", "scanner": "scanner-primary", "fingerprint": "0471c1a76e3e9fbf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/crew.py:2280"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5437b36e9c15b10a", "level": "note", "message": {"text": "Possibly dead Python function: plugin"}, "properties": {"repobilityId": "3ba7d60b090c933e", "scanner": "scanner-primary", "fingerprint": "5437b36e9c15b10a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/mypy.py:51"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d5e03f1c8568d80", "level": "note", "message": {"text": "Possibly dead Python function: analyze_for_consolidation"}, "properties": {"repobilityId": "97d65a6578e8f01b", "scanner": "scanner-primary", "fingerprint": "4d5e03f1c8568d80", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/memory/analyze.py:321"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ea5b4953f37612e3", "level": "note", "message": {"text": "Possibly dead Python function: aextract_memories"}, "properties": {"repobilityId": "14e0ffb81ad85867", "scanner": "scanner-primary", "fingerprint": "ea5b4953f37612e3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/memory/unified_memory.py:1000"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f60a50f7c4e96a4f", "level": "note", "message": {"text": "Possibly dead Python function: aremember"}, "properties": {"repobilityId": "46ab91eb66e2c380", "scanner": "scanner-primary", "fingerprint": "f60a50f7c4e96a4f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/memory/unified_memory.py:1004"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0f4ed93243d8a88e", "level": "note", "message": {"text": "Possibly dead Python function: aremember_many"}, "properties": {"repobilityId": "ec60e12c8048da06", "scanner": "scanner-primary", "fingerprint": "0f4ed93243d8a88e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/memory/unified_memory.py:1025"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ccd6a3f8784697db", "level": "note", "message": {"text": "Possibly dead Python function: arecall"}, "properties": {"repobilityId": "d28a7622f3acf0db", "scanner": "scanner-primary", "fingerprint": "ccd6a3f8784697db", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/memory/unified_memory.py:1048"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84ebc4342518122f", "level": "note", "message": {"text": "Possibly dead Python function: subscope"}, "properties": {"repobilityId": "4d75dc19a701b59c", "scanner": "scanner-primary", "fingerprint": "84ebc4342518122f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/memory/memory_scope.py:217"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-910e805a18d89061", "level": "note", "message": {"text": "Possibly dead Python function: tool_wrapper"}, "properties": {"repobilityId": "cfb73456b68141f5", "scanner": "scanner-primary", "fingerprint": "910e805a18d89061", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/agents/agent_adapters/langgraph/langgraph_tool_adapter.py:55"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-999ff5941ffff035", "level": "note", "message": {"text": "Possibly dead Python function: bound_callback"}, "properties": {"repobilityId": "17a70160f55e1bef", "scanner": "scanner-primary", "fingerprint": "999ff5941ffff035", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/project/annotations.py:253"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b190d307ea364ae7", "level": "note", "message": {"text": "Possibly dead Python function: create_aws_session"}, "properties": {"repobilityId": "c2e16cfb1ac62fcb", "scanner": "scanner-primary", "fingerprint": "b190d307ea364ae7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/rag/embeddings/providers/aws/bedrock.py:13"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-044f3abef425735a", "level": "note", "message": {"text": "Possibly dead Python function: embed_fn"}, "properties": {"repobilityId": "a870fc373163bd35", "scanner": "scanner-primary", "fingerprint": "044f3abef425735a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/rag/qdrant/config.py:40"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de7ff7b80f91b380", "level": "note", "message": {"text": "Possibly dead Python function: maybe_cast_one_to_many"}, "properties": {"repobilityId": "f97069b2bbabe4bd", "scanner": "scanner-primary", "fingerprint": "de7ff7b80f91b380", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/rag/core/base_embeddings_callable.py:52"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-985b6c986e45813b", "level": "note", "message": {"text": "Possibly dead Python function: wrapped_call"}, "properties": {"repobilityId": "13d6426952f04b3c", "scanner": "scanner-primary", "fingerprint": "985b6c986e45813b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/rag/core/base_embeddings_callable.py:134"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5b06f8aaed9f4638", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 lib/crewai/src/crewai/flow/visualization/assets/interactive.js:1651"}, "properties": {"repobilityId": "344e709f540d628b", "scanner": "scanner-primary", "fingerprint": "5b06f8aaed9f4638", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-32350875b9d83b7a", "level": "warning", "message": {"text": "Privileged port 18 in use"}, "properties": {"repobilityId": "2d7b5e7d9c158e43", "scanner": "scanner-primary", "fingerprint": "32350875b9d83b7a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-577559008747cdf6", "level": "warning", "message": {"text": "Privileged port 33 in use"}, "properties": {"repobilityId": "f08e29b4b53f7301", "scanner": "scanner-primary", "fingerprint": "577559008747cdf6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-250bc2f612791267", "level": "warning", "message": {"text": "Privileged port 256 in use"}, "properties": {"repobilityId": "0ec1f2d0c9e6da94", "scanner": "scanner-primary", "fingerprint": "250bc2f612791267", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9317ac9ac4c15307", "level": "warning", "message": {"text": "Privileged port 1 in use"}, "properties": {"repobilityId": "ddf3fa6c29abb8d2", "scanner": "scanner-primary", "fingerprint": "9317ac9ac4c15307", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-57ad58c920082c06", "level": "warning", "message": {"text": "Privileged port 40 in use"}, "properties": {"repobilityId": "28c59d470d4929c6", "scanner": "scanner-primary", "fingerprint": "57ad58c920082c06", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c5871d4eeb688cd8", "level": "warning", "message": {"text": "Privileged port 19 in use"}, "properties": {"repobilityId": "a6b5b06deac36eac", "scanner": "scanner-primary", "fingerprint": "c5871d4eeb688cd8", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d2e393c7160a61cd", "level": "warning", "message": {"text": "Privileged port 50 in use"}, "properties": {"repobilityId": "da61f654c07ea7a9", "scanner": "scanner-primary", "fingerprint": "d2e393c7160a61cd", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-52e683bf346b276e", "level": "warning", "message": {"text": "Privileged port 3 in use"}, "properties": {"repobilityId": "261b7b1c6a18d412", "scanner": "scanner-primary", "fingerprint": "52e683bf346b276e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7fac17e5b84828c0", "level": "warning", "message": {"text": "Privileged port 47 in use"}, "properties": {"repobilityId": "986e85543d70890d", "scanner": "scanner-primary", "fingerprint": "7fac17e5b84828c0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7a61a3fb09568fd", "level": "warning", "message": {"text": "Privileged port 8 in use"}, "properties": {"repobilityId": "8e03f5632e703751", "scanner": "scanner-primary", "fingerprint": "f7a61a3fb09568fd", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fe1a15228a39250e", "level": "warning", "message": {"text": "Privileged port 57 in use"}, "properties": {"repobilityId": "7f473bea32892301", "scanner": "scanner-primary", "fingerprint": "fe1a15228a39250e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-37d702e30f6c1659", "level": "warning", "message": {"text": "Privileged port 252 in use"}, "properties": {"repobilityId": "44fc507a66442f8b", "scanner": "scanner-primary", "fingerprint": "37d702e30f6c1659", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1008751d9c5ecf21", "level": "warning", "message": {"text": "Privileged port 21 in use"}, "properties": {"repobilityId": "d920b7cd1b1a16dc", "scanner": "scanner-primary", "fingerprint": "1008751d9c5ecf21", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a288c00a93e5ad9e", "level": "warning", "message": {"text": "Privileged port 52 in use"}, "properties": {"repobilityId": "2b6877fa37212075", "scanner": "scanner-primary", "fingerprint": "a288c00a93e5ad9e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bb984d5c712015f6", "level": "warning", "message": {"text": "Privileged port 43 in use"}, "properties": {"repobilityId": "af1bc8881542418e", "scanner": "scanner-primary", "fingerprint": "bb984d5c712015f6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b2bf32cf633606fa", "level": "warning", "message": {"text": "Privileged port 71 in use"}, "properties": {"repobilityId": "aa07e3fee1fe9672", "scanner": "scanner-primary", "fingerprint": "b2bf32cf633606fa", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-12c6f3e1bf5fb1f8", "level": "warning", "message": {"text": "Privileged port 9 in use"}, "properties": {"repobilityId": "31590a6ba3409390", "scanner": "scanner-primary", "fingerprint": "12c6f3e1bf5fb1f8", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-474bdbc6b3620bef", "level": "warning", "message": {"text": "Privileged port 17 in use"}, "properties": {"repobilityId": "0bf38fb8f89ec589", "scanner": "scanner-primary", "fingerprint": "474bdbc6b3620bef", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f807d3da57d606d9", "level": "warning", "message": {"text": "Privileged port 12 in use"}, "properties": {"repobilityId": "65e7eefa33f2def4", "scanner": "scanner-primary", "fingerprint": "f807d3da57d606d9", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5cb2a064e4fa587d", "level": "warning", "message": {"text": "Privileged port 4 in use"}, "properties": {"repobilityId": "1594bfeff919296e", "scanner": "scanner-primary", "fingerprint": "5cb2a064e4fa587d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6a4b41dc935aec50", "level": "warning", "message": {"text": "Privileged port 39 in use"}, "properties": {"repobilityId": "9b982a253b897533", "scanner": "scanner-primary", "fingerprint": "6a4b41dc935aec50", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d0245133ffe104c", "level": "warning", "message": {"text": "Privileged port 7 in use"}, "properties": {"repobilityId": "428a6faecc63b5d6", "scanner": "scanner-primary", "fingerprint": "8d0245133ffe104c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b716d2f0a5b63a8", "level": "warning", "message": {"text": "Privileged port 58 in use"}, "properties": {"repobilityId": "6d9ae83ac6aad676", "scanner": "scanner-primary", "fingerprint": "7b716d2f0a5b63a8", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a364b7c73e7146eb", "level": "warning", "message": {"text": "Privileged port 23 in use"}, "properties": {"repobilityId": "a1230e3dfc4becfa", "scanner": "scanner-primary", "fingerprint": "a364b7c73e7146eb", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bfe6a74d8257fec1", "level": "warning", "message": {"text": "Privileged port 14 in use"}, "properties": {"repobilityId": "2dbd4b719a1412ff", "scanner": "scanner-primary", "fingerprint": "bfe6a74d8257fec1", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-985cd1165716ea66", "level": "warning", "message": {"text": "Privileged port 82 in use"}, "properties": {"repobilityId": "053f8e47394cae38", "scanner": "scanner-primary", "fingerprint": "985cd1165716ea66", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c65c25bbfe0c9800", "level": "warning", "message": {"text": "Privileged port 16 in use"}, "properties": {"repobilityId": "d31009168c502ace", "scanner": "scanner-primary", "fingerprint": "c65c25bbfe0c9800", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d20c0d200da52fbf", "level": "warning", "message": {"text": "Privileged port 324 in use"}, "properties": {"repobilityId": "6434b16637f0027d", "scanner": "scanner-primary", "fingerprint": "d20c0d200da52fbf", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de1f75ff6d31ae60", "level": "warning", "message": {"text": "Privileged port 45 in use"}, "properties": {"repobilityId": "73cf64d92574d41c", "scanner": "scanner-primary", "fingerprint": "de1f75ff6d31ae60", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-129276be1cee71a6", "level": "warning", "message": {"text": "Privileged port 20 in use"}, "properties": {"repobilityId": "a59f3e53d617e0f8", "scanner": "scanner-primary", "fingerprint": "129276be1cee71a6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bffc47aca3a0e8c8", "level": "warning", "message": {"text": "Privileged port 98 in use"}, "properties": {"repobilityId": "6c2637adabd7c962", "scanner": "scanner-primary", "fingerprint": "bffc47aca3a0e8c8", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-08cb0d7c599ed97e", "level": "warning", "message": {"text": "Privileged port 5 in use"}, "properties": {"repobilityId": "a8f80b4866464301", "scanner": "scanner-primary", "fingerprint": "08cb0d7c599ed97e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b58f077f705b9b63", "level": "warning", "message": {"text": "Privileged port 6 in use"}, "properties": {"repobilityId": "888a3c205ea7334c", "scanner": "scanner-primary", "fingerprint": "b58f077f705b9b63", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c16a9e01d441fe1e", "level": "warning", "message": {"text": "Privileged port 56 in use"}, "properties": {"repobilityId": "104b02b29065e84a", "scanner": "scanner-primary", "fingerprint": "c16a9e01d441fe1e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fe1a15228a39250e", "level": "warning", "message": {"text": "Privileged port 57 in use"}, "properties": {"repobilityId": "7f473bea32892301", "scanner": "scanner-primary", "fingerprint": "fe1a15228a39250e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e68f8c7e78ac8f8b", "level": "warning", "message": {"text": "Privileged port 37 in use"}, "properties": {"repobilityId": "3bc0728a81a76695", "scanner": "scanner-primary", "fingerprint": "e68f8c7e78ac8f8b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-756e22135769bd01", "level": "warning", "message": {"text": "Privileged port 2 in use"}, "properties": {"repobilityId": "755b04866010e843", "scanner": "scanner-primary", "fingerprint": "756e22135769bd01", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d549d70ac8d426cd", "level": "warning", "message": {"text": "Privileged port 825 in use"}, "properties": {"repobilityId": "1ebf88651903c013", "scanner": "scanner-primary", "fingerprint": "d549d70ac8d426cd", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-65ae20c86dfd7cf4", "level": "warning", "message": {"text": "Privileged port 51 in use"}, "properties": {"repobilityId": "22e13070198289ad", "scanner": "scanner-primary", "fingerprint": "65ae20c86dfd7cf4", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8b39034a87e93e7b", "level": "warning", "message": {"text": "Privileged port 26 in use"}, "properties": {"repobilityId": "9c5e4d9c5edd9bd2", "scanner": "scanner-primary", "fingerprint": "8b39034a87e93e7b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e38ed0f0177c32d7", "level": "warning", "message": {"text": "Privileged port 31 in use"}, "properties": {"repobilityId": "8a1049d03b927a2d", "scanner": "scanner-primary", "fingerprint": "e38ed0f0177c32d7", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-239fad75da8b22db", "level": "warning", "message": {"text": "Privileged port 34 in use"}, "properties": {"repobilityId": "2febb579b1c7080d", "scanner": "scanner-primary", "fingerprint": "239fad75da8b22db", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8dde4a1c8c644a70", "level": "warning", "message": {"text": "Privileged port 858 in use"}, "properties": {"repobilityId": "5c424858c473bce3", "scanner": "scanner-primary", "fingerprint": "8dde4a1c8c644a70", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1c8be50c681bff8c", "level": "warning", "message": {"text": "Privileged port 35 in use"}, "properties": {"repobilityId": "e997ec9811d79c6d", "scanner": "scanner-primary", "fingerprint": "1c8be50c681bff8c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-50e5ca2c43ed929c", "level": "warning", "message": {"text": "Privileged port 67 in use"}, "properties": {"repobilityId": "8d413962ae74ce15", "scanner": "scanner-primary", "fingerprint": "50e5ca2c43ed929c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b7d209fde94f95b2", "level": "warning", "message": {"text": "Privileged port 93 in use"}, "properties": {"repobilityId": "a2801129f16a1ead", "scanner": "scanner-primary", "fingerprint": "b7d209fde94f95b2", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de2d2a94182246a3", "level": "warning", "message": {"text": "Privileged port 10 in use"}, "properties": {"repobilityId": "735372d6b5594915", "scanner": "scanner-primary", "fingerprint": "de2d2a94182246a3", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-792f362bfbc7560c", "level": "warning", "message": {"text": "Privileged port 84 in use"}, "properties": {"repobilityId": "8a5356b5b09466d2", "scanner": "scanner-primary", "fingerprint": "792f362bfbc7560c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6caf31586fd74a5a", "level": "warning", "message": {"text": "Privileged port 938 in use"}, "properties": {"repobilityId": "553899d8539ee7ae", "scanner": "scanner-primary", "fingerprint": "6caf31586fd74a5a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8735f85bd3f45a9c", "level": "warning", "message": {"text": "Privileged port 41 in use"}, "properties": {"repobilityId": "21c3be090ea64fdb", "scanner": "scanner-primary", "fingerprint": "8735f85bd3f45a9c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-25337d973bcc1769", "level": "warning", "message": {"text": "Privileged port 158 in use"}, "properties": {"repobilityId": "635eb07d16094970", "scanner": "scanner-primary", "fingerprint": "25337d973bcc1769", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d494b597eaf6abd6", "level": "warning", "message": {"text": "Privileged port 13 in use"}, "properties": {"repobilityId": "79d721e4d6f64798", "scanner": "scanner-primary", "fingerprint": "d494b597eaf6abd6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2bc326babdfe33a5", "level": "warning", "message": {"text": "Privileged port 73 in use"}, "properties": {"repobilityId": "2611ab4c2611a78c", "scanner": "scanner-primary", "fingerprint": "2bc326babdfe33a5", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aafd09f43f49724a", "level": "warning", "message": {"text": "Privileged port 32 in use"}, "properties": {"repobilityId": "20c0fabc691cdde4", "scanner": "scanner-primary", "fingerprint": "aafd09f43f49724a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-477f784aeabc667a", "level": "warning", "message": {"text": "Privileged port 11 in use"}, "properties": {"repobilityId": "5b3038c67fabb4c8", "scanner": "scanner-primary", "fingerprint": "477f784aeabc667a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0fc400964da137ed", "level": "warning", "message": {"text": "Privileged port 24 in use"}, "properties": {"repobilityId": "a6356ba91a17fcb8", "scanner": "scanner-primary", "fingerprint": "0fc400964da137ed", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7230602f892ec74d", "level": "warning", "message": {"text": "Privileged port 476 in use"}, "properties": {"repobilityId": "5b4d2779efcd0adc", "scanner": "scanner-primary", "fingerprint": "7230602f892ec74d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8b39034a87e93e7b", "level": "warning", "message": {"text": "Privileged port 26 in use"}, "properties": {"repobilityId": "9c5e4d9c5edd9bd2", "scanner": "scanner-primary", "fingerprint": "8b39034a87e93e7b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-99ab22230a856ff1", "level": "warning", "message": {"text": "Privileged port 641 in use"}, "properties": {"repobilityId": "cbf03dfe3bad8ae6", "scanner": "scanner-primary", "fingerprint": "99ab22230a856ff1", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8df53a5bea5cce12", "level": "warning", "message": {"text": "Privileged port 62 in use"}, "properties": {"repobilityId": "7379909979a14734", "scanner": "scanner-primary", "fingerprint": "8df53a5bea5cce12", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e83f431eea839a6", "level": "warning", "message": {"text": "Privileged port 430 in use"}, "properties": {"repobilityId": "01d70dad3eb408d8", "scanner": "scanner-primary", "fingerprint": "3e83f431eea839a6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c3940b54c90f67e7", "level": "warning", "message": {"text": "Privileged port 48 in use"}, "properties": {"repobilityId": "6a483602fa277896", "scanner": "scanner-primary", "fingerprint": "c3940b54c90f67e7", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c2595c53a13e10c2", "level": "warning", "message": {"text": "Privileged port 70 in use"}, "properties": {"repobilityId": "353d31c086b0a24a", "scanner": "scanner-primary", "fingerprint": "c2595c53a13e10c2", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5220064372bf380a", "level": "warning", "message": {"text": "Privileged port 38 in use"}, "properties": {"repobilityId": "b7214bb254c5881d", "scanner": "scanner-primary", "fingerprint": "5220064372bf380a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-733a96b573500f46", "level": "warning", "message": {"text": "Privileged port 30 in use"}, "properties": {"repobilityId": "54f172e7d16fc662", "scanner": "scanner-primary", "fingerprint": "733a96b573500f46", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-19015707c647d52d", "level": "warning", "message": {"text": "Privileged port 89 in use"}, "properties": {"repobilityId": "f339ea9a2620a44c", "scanner": "scanner-primary", "fingerprint": "19015707c647d52d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9cd2921fa17b37b", "level": "warning", "message": {"text": "Privileged port 59 in use"}, "properties": {"repobilityId": "6c14a9dab4958e92", "scanner": "scanner-primary", "fingerprint": "b9cd2921fa17b37b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-89fdc947c07478b0", "level": "warning", "message": {"text": "Privileged port 75 in use"}, "properties": {"repobilityId": "d378eb1c9eebd8b0", "scanner": "scanner-primary", "fingerprint": "89fdc947c07478b0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-87690cd5cf28f732", "level": "warning", "message": {"text": "Privileged port 68 in use"}, "properties": {"repobilityId": "bca7164758eabc0b", "scanner": "scanner-primary", "fingerprint": "87690cd5cf28f732", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5b7504ccd1e67b81", "level": "warning", "message": {"text": "Privileged port 81 in use"}, "properties": {"repobilityId": "663b0bffb7f8fe66", "scanner": "scanner-primary", "fingerprint": "5b7504ccd1e67b81", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-480f691af4b59bee", "level": "warning", "message": {"text": "Privileged port 319 in use"}, "properties": {"repobilityId": "4731cd6114c27cbb", "scanner": "scanner-primary", "fingerprint": "480f691af4b59bee", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3e2ad644753eb971", "level": "warning", "message": {"text": "Privileged port 46 in use"}, "properties": {"repobilityId": "e83b659b6ec9a0fc", "scanner": "scanner-primary", "fingerprint": "3e2ad644753eb971", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0eae51e7c13ce45d", "level": "warning", "message": {"text": "Privileged port 978 in use"}, "properties": {"repobilityId": "4a9b7520f17efa5a", "scanner": "scanner-primary", "fingerprint": "0eae51e7c13ce45d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45556987aad33ee1", "level": "warning", "message": {"text": "Privileged port 36 in use"}, "properties": {"repobilityId": "d1c2650d13d67a60", "scanner": "scanner-primary", "fingerprint": "45556987aad33ee1", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c246ec52a5dac8e9", "level": "warning", "message": {"text": "Privileged port 897 in use"}, "properties": {"repobilityId": "2d7d266c6c864cfa", "scanner": "scanner-primary", "fingerprint": "c246ec52a5dac8e9", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0462f160a3ce5a07", "level": "warning", "message": {"text": "Privileged port 44 in use"}, "properties": {"repobilityId": "1f021a2e926773a0", "scanner": "scanner-primary", "fingerprint": "0462f160a3ce5a07", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0eae51e7c13ce45d", "level": "warning", "message": {"text": "Privileged port 978 in use"}, "properties": {"repobilityId": "4a9b7520f17efa5a", "scanner": "scanner-primary", "fingerprint": "0eae51e7c13ce45d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-11335f0687e67c44", "level": "warning", "message": {"text": "Privileged port 54 in use"}, "properties": {"repobilityId": "cfa860c24fdc3eef", "scanner": "scanner-primary", "fingerprint": "11335f0687e67c44", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2bc326babdfe33a5", "level": "warning", "message": {"text": "Privileged port 73 in use"}, "properties": {"repobilityId": "2611ab4c2611a78c", "scanner": "scanner-primary", "fingerprint": "2bc326babdfe33a5", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-006174c9c699386d", "level": "warning", "message": {"text": "Privileged port 79 in use"}, "properties": {"repobilityId": "9565d26c5af09735", "scanner": "scanner-primary", "fingerprint": "006174c9c699386d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-366f1ed8a64c8687", "level": "warning", "message": {"text": "Privileged port 27 in use"}, "properties": {"repobilityId": "69cb2b980eb576a0", "scanner": "scanner-primary", "fingerprint": "366f1ed8a64c8687", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-874e47bd2554d1ea", "level": "warning", "message": {"text": "Privileged port 767 in use"}, "properties": {"repobilityId": "55079a1b78885711", "scanner": "scanner-primary", "fingerprint": "874e47bd2554d1ea", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f2e0e69741cf23e7", "level": "warning", "message": {"text": "Privileged port 124 in use"}, "properties": {"repobilityId": "e73f44d2de4ab2b5", "scanner": "scanner-primary", "fingerprint": "f2e0e69741cf23e7", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8b1f8f6ef074e65a", "level": "warning", "message": {"text": "Privileged port 97 in use"}, "properties": {"repobilityId": "15cd20345840ff7e", "scanner": "scanner-primary", "fingerprint": "8b1f8f6ef074e65a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d5fab7af2c357666", "level": "warning", "message": {"text": "Privileged port 145 in use"}, "properties": {"repobilityId": "d3b504ab07273297", "scanner": "scanner-primary", "fingerprint": "d5fab7af2c357666", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a5466b5dd809ed0b", "level": "warning", "message": {"text": "Privileged port 85 in use"}, "properties": {"repobilityId": "6e23398b0a81d421", "scanner": "scanner-primary", "fingerprint": "a5466b5dd809ed0b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8dd3c09cb5e424d0", "level": "warning", "message": {"text": "Privileged port 49 in use"}, "properties": {"repobilityId": "6108a3341973dcab", "scanner": "scanner-primary", "fingerprint": "8dd3c09cb5e424d0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e8f0dc8cb51ab421", "level": "warning", "message": {"text": "Privileged port 60 in use"}, "properties": {"repobilityId": "f4424efab727024f", "scanner": "scanner-primary", "fingerprint": "e8f0dc8cb51ab421", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9c7eec0c3ccb6f9b", "level": "warning", "message": {"text": "Privileged port 83 in use"}, "properties": {"repobilityId": "7bdba6d0f8ded74c", "scanner": "scanner-primary", "fingerprint": "9c7eec0c3ccb6f9b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f776f041e4ea53a0", "level": "warning", "message": {"text": "Privileged port 992 in use"}, "properties": {"repobilityId": "7b5b54625d7e364a", "scanner": "scanner-primary", "fingerprint": "f776f041e4ea53a0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-da15349966841f61", "level": "warning", "message": {"text": "Privileged port 705 in use"}, "properties": {"repobilityId": "105ce746618dafa6", "scanner": "scanner-primary", "fingerprint": "da15349966841f61", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-59e11e041af3c214", "level": "warning", "message": {"text": "Privileged port 254 in use"}, "properties": {"repobilityId": "7283e7e42c2b4220", "scanner": "scanner-primary", "fingerprint": "59e11e041af3c214", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5e9261dcadcbbdc2", "level": "warning", "message": {"text": "Privileged port 868 in use"}, "properties": {"repobilityId": "75726792fb8c422a", "scanner": "scanner-primary", "fingerprint": "5e9261dcadcbbdc2", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d151dc96ed9bcf0e", "level": "warning", "message": {"text": "Privileged port 76 in use"}, "properties": {"repobilityId": "2b79d5ed53660eac", "scanner": "scanner-primary", "fingerprint": "d151dc96ed9bcf0e", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-411ab63a5e41a8f0", "level": "warning", "message": {"text": "Privileged port 126 in use"}, "properties": {"repobilityId": "1ca3d1213ae5f334", "scanner": "scanner-primary", "fingerprint": "411ab63a5e41a8f0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f0e0b3a23ade69c", "level": "warning", "message": {"text": "Privileged port 15 in use"}, "properties": {"repobilityId": "3340f9a170f285cd", "scanner": "scanner-primary", "fingerprint": "7f0e0b3a23ade69c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c3685c5a38428a2d", "level": "warning", "message": {"text": "Privileged port 687 in use"}, "properties": {"repobilityId": "6a8dd16d70a81ce3", "scanner": "scanner-primary", "fingerprint": "c3685c5a38428a2d", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ff2b93fc21941a80", "level": "warning", "message": {"text": "Privileged port 413 in use"}, "properties": {"repobilityId": "83d3583058eb0d49", "scanner": "scanner-primary", "fingerprint": "ff2b93fc21941a80", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8d158b7afa181c2a", "level": "warning", "message": {"text": "Privileged port 941 in use"}, "properties": {"repobilityId": "1ebcee9d1965453b", "scanner": "scanner-primary", "fingerprint": "8d158b7afa181c2a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c3940b54c90f67e7", "level": "warning", "message": {"text": "Privileged port 48 in use"}, "properties": {"repobilityId": "6a483602fa277896", "scanner": "scanner-primary", "fingerprint": "c3940b54c90f67e7", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-298a3bb779553c18", "level": "warning", "message": {"text": "Privileged port 660 in use"}, "properties": {"repobilityId": "d6c9f133c53d484e", "scanner": "scanner-primary", "fingerprint": "298a3bb779553c18", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-167f77efbab6e0a6", "level": "warning", "message": {"text": "Privileged port 582 in use"}, "properties": {"repobilityId": "f48b2b364657696b", "scanner": "scanner-primary", "fingerprint": "167f77efbab6e0a6", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b3551b99e9d15546", "level": "warning", "message": {"text": "Privileged port 736 in use"}, "properties": {"repobilityId": "d92c063d84a352b2", "scanner": "scanner-primary", "fingerprint": "b3551b99e9d15546", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9d2ee4aab27724a", "level": "warning", "message": {"text": "Privileged port 69 in use"}, "properties": {"repobilityId": "1effa2e6319f4133", "scanner": "scanner-primary", "fingerprint": "b9d2ee4aab27724a", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-860951fc81337755", "level": "warning", "message": {"text": "Privileged port 29 in use"}, "properties": {"repobilityId": "f09242400239b5a3", "scanner": "scanner-primary", "fingerprint": "860951fc81337755", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-466bf451672d3aea", "level": "warning", "message": {"text": "Privileged port 301 in use"}, "properties": {"repobilityId": "a9a74350327f1bd1", "scanner": "scanner-primary", "fingerprint": "466bf451672d3aea", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b8a2c74c1b701aa0", "level": "warning", "message": {"text": "Privileged port 917 in use"}, "properties": {"repobilityId": "4ff6d502b26ea1f4", "scanner": "scanner-primary", "fingerprint": "b8a2c74c1b701aa0", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2fae6cc8b67c347f", "level": "warning", "message": {"text": "Privileged port 349 in use"}, "properties": {"repobilityId": "6c803fc4dc16bb33", "scanner": "scanner-primary", "fingerprint": "2fae6cc8b67c347f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-94fd68ab7f1703ce", "level": "warning", "message": {"text": "Privileged port 530 in use"}, "properties": {"repobilityId": "d7469f25144f719c", "scanner": "scanner-primary", "fingerprint": "94fd68ab7f1703ce", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7878d11eb345430", "level": "warning", "message": {"text": "Privileged port 42 in use"}, "properties": {"repobilityId": "16d9608735f9e01a", "scanner": "scanner-primary", "fingerprint": "f7878d11eb345430", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5269a02ca93709dc", "level": "warning", "message": {"text": "Privileged port 65 in use"}, "properties": {"repobilityId": "91f4542de5d09e32", "scanner": "scanner-primary", "fingerprint": "5269a02ca93709dc", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e44aa7923434f91f", "level": "warning", "message": {"text": "Privileged port 509 in use"}, "properties": {"repobilityId": "7550e117ce9bda39", "scanner": "scanner-primary", "fingerprint": "e44aa7923434f91f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4d26129fb807d882", "level": "warning", "message": {"text": "Privileged port 96 in use"}, "properties": {"repobilityId": "ee171b5295ffdda9", "scanner": "scanner-primary", "fingerprint": "4d26129fb807d882", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a17bae46d5bac84c", "level": "warning", "message": {"text": "Privileged port 86 in use"}, "properties": {"repobilityId": "3505bf8ab5ea0a84", "scanner": "scanner-primary", "fingerprint": "a17bae46d5bac84c", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d41c63d0b8ca9683", "level": "warning", "message": {"text": "Privileged port 622 in use"}, "properties": {"repobilityId": "91ddf346628d81e0", "scanner": "scanner-primary", "fingerprint": "d41c63d0b8ca9683", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/cassettes/test_inject_date.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-43e496167fde2f4c", "level": "error", "message": {"text": "Runtime dotenv file present in repo: .env.test"}, "properties": {"repobilityId": "25baea8a4d77c75a", "scanner": "scanner-primary", "fingerprint": "43e496167fde2f4c", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env", "env_file_with_secret"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".env.test"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-db904f5945f6b5b6", "level": "error", "message": {"text": "Possible secret in lib/crewai/tests/agents/test_agent.py"}, "properties": {"repobilityId": "55a73b51614356fc", "scanner": "scanner-primary", "fingerprint": "db904f5945f6b5b6", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/tests/agents/test_agent.py"}, "region": {"startLine": 1438}}}]}, {"ruleId": "scanner-c288fec62f2f5008", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lib/crewai/src/crewai/flow/visualization/assets/interactive.js:1467"}, "properties": {"repobilityId": "71c4aa325af593ad", "scanner": "scanner-primary", "fingerprint": "c288fec62f2f5008", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai/src/crewai/flow/visualization/assets/interactive.js"}, "region": {"startLine": 1467}}}]}, {"ruleId": "scanner-7febb5dc8062b634", "level": "error", "message": {"text": "Possible secret in lib/crewai-tools/tests/tools/stagehand_tool_test.py"}, "properties": {"repobilityId": "ef181f1b8ebaa856", "scanner": "scanner-primary", "fingerprint": "7febb5dc8062b634", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/tests/tools/stagehand_tool_test.py"}, "region": {"startLine": 227}}}]}, {"ruleId": "scanner-075a6827c69fa156", "level": "error", "message": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/weaviate_tool/README.md"}, "properties": {"repobilityId": "4028e2f48d0d95de", "scanner": "scanner-primary", "fingerprint": "075a6827c69fa156", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/weaviate_tool/README.md"}, "region": {"startLine": 26}}}]}, {"ruleId": "scanner-075a6827c69fa156", "level": "error", "message": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/weaviate_tool/README.md"}, "properties": {"repobilityId": "4028e2f48d0d95de", "scanner": "scanner-primary", "fingerprint": "075a6827c69fa156", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/weaviate_tool/README.md"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-c17c0680217f7739", "level": "error", "message": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/.env.example"}, "properties": {"repobilityId": "d6c043e9f9ddb86e", "scanner": "scanner-primary", "fingerprint": "c17c0680217f7739", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/.env.example"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c17c0680217f7739", "level": "error", "message": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/.env.example"}, "properties": {"repobilityId": "d6c043e9f9ddb86e", "scanner": "scanner-primary", "fingerprint": "c17c0680217f7739", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/.env.example"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-b4dca0a284347fac", "level": "error", "message": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/README.md"}, "properties": {"repobilityId": "7c9cca05eb20e4b5", "scanner": "scanner-primary", "fingerprint": "b4dca0a284347fac", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/README.md"}, "region": {"startLine": 50}}}]}, {"ruleId": "scanner-b4dca0a284347fac", "level": "error", "message": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/README.md"}, "properties": {"repobilityId": "7c9cca05eb20e4b5", "scanner": "scanner-primary", "fingerprint": "b4dca0a284347fac", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/README.md"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-b4dca0a284347fac", "level": "error", "message": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/README.md"}, "properties": {"repobilityId": "7c9cca05eb20e4b5", "scanner": "scanner-primary", "fingerprint": "b4dca0a284347fac", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/README.md"}, "region": {"startLine": 229}}}]}, {"ruleId": "scanner-6d37174ebbf48cd4", "level": "error", "message": {"text": "Possible secret in lib/crewai-tools/src/crewai_tools/tools/multion_tool/README.md"}, "properties": {"repobilityId": "84b1c785016a1015", "scanner": "scanner-primary", "fingerprint": "6d37174ebbf48cd4", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/crewai-tools/src/crewai_tools/tools/multion_tool/README.md"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-ee252b4a1468bf6e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8410a23fe51251b5", "scanner": "scanner-primary", "fingerprint": "ee252b4a1468bf6e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/nightly.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e24bc72c7ff0ed87", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "0fbbc3e10edcec2f", "scanner": "scanner-primary", "fingerprint": "e24bc72c7ff0ed87", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/stale.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-97b651bf8e7aa128", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "2b1422dc19171982", "scanner": "scanner-primary", "fingerprint": "97b651bf8e7aa128", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/generate-tool-specs.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ffa33751be3d771", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "491a3ad29cbaf189", "scanner": "scanner-primary", "fingerprint": "7ffa33751be3d771", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publish.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3b6d70fd89ccb41b", "level": "note", "message": {"text": "Very large file: lib/devtools/src/crewai_devtools/cli.py (2381 lines)"}, "properties": {"repobilityId": "f7b3616d47adddcd", "scanner": "scanner-primary", "fingerprint": "3b6d70fd89ccb41b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-199bbab657a653cb", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/test_task.py (1723 lines)"}, "properties": {"repobilityId": "c795d92e3fe69d80", "scanner": "scanner-primary", "fingerprint": "199bbab657a653cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4404d3d83b6d308e", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/test_crew.py (4872 lines)"}, "properties": {"repobilityId": "30ad78513ae5f830", "scanner": "scanner-primary", "fingerprint": "4404d3d83b6d308e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f28bf303cfead57e", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/test_flow.py (2313 lines)"}, "properties": {"repobilityId": "4f3112c191c72a8f", "scanner": "scanner-primary", "fingerprint": "f28bf303cfead57e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7e1405f83d7b0bb3", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/test_async_human_feedback.py (1355 lines)"}, "properties": {"repobilityId": "5e402cbd689f68c6", "scanner": "scanner-primary", "fingerprint": "7e1405f83d7b0bb3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-de6cd5a040fbefcc", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/test_flow_conversation.py (1756 lines)"}, "properties": {"repobilityId": "c7842d06f57127c5", "scanner": "scanner-primary", "fingerprint": "de6cd5a040fbefcc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3c1971b230a16c2e", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/agents/test_agent_executor.py (2394 lines)"}, "properties": {"repobilityId": "a1abdebb8b2115d9", "scanner": "scanner-primary", "fingerprint": "3c1971b230a16c2e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-98ef48499933123d", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/agents/test_agent.py (2711 lines)"}, "properties": {"repobilityId": "9bfc4831df500259", "scanner": "scanner-primary", "fingerprint": "98ef48499933123d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-76983f7246b9ddec", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/utilities/test_events.py (1577 lines)"}, "properties": {"repobilityId": "e45866c345833881", "scanner": "scanner-primary", "fingerprint": "76983f7246b9ddec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-efb7ffa9b393bd41", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/tracing/test_tracing.py (1783 lines)"}, "properties": {"repobilityId": "b5fbc0d0a816c8a9", "scanner": "scanner-primary", "fingerprint": "efb7ffa9b393bd41", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-69f4a529cbbe0f44", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/llms/azure/test_azure.py (1570 lines)"}, "properties": {"repobilityId": "31b248db19fe00da", "scanner": "scanner-primary", "fingerprint": "69f4a529cbbe0f44", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8dfcfaa1f0252cd9", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/llms/openai/test_openai.py (2019 lines)"}, "properties": {"repobilityId": "71341279ba68b060", "scanner": "scanner-primary", "fingerprint": "8dfcfaa1f0252cd9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8943fcca3691b019", "level": "note", "message": {"text": "Very large file: lib/crewai/tests/events/test_event_ordering.py (1629 lines)"}, "properties": {"repobilityId": "ac3c23b7411fb955", "scanner": "scanner-primary", "fingerprint": "8943fcca3691b019", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f9cddba361140cc3", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/task.py (1463 lines)"}, "properties": {"repobilityId": "d66d058bb54d16ad", "scanner": "scanner-primary", "fingerprint": "f9cddba361140cc3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0042458bccd9a2e9", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/crew.py (2372 lines)"}, "properties": {"repobilityId": "f64733ef245adf2c", "scanner": "scanner-primary", "fingerprint": "0042458bccd9a2e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-040279d08c141698", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/llm.py (2674 lines)"}, "properties": {"repobilityId": "b676efbe23ac1bf6", "scanner": "scanner-primary", "fingerprint": "040279d08c141698", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-53013eb6df321a87", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/agents/crew_agent_executor.py (1663 lines)"}, "properties": {"repobilityId": "28d810f2c4887768", "scanner": "scanner-primary", "fingerprint": "53013eb6df321a87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e8faf5620818e1bb", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/flow/visualization/assets/interactive.js (2513 lines)"}, "properties": {"repobilityId": "6b651b54f6057719", "scanner": "scanner-primary", "fingerprint": "e8faf5620818e1bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4ef73a4e2f881b77", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/flow/runtime/__init__.py (3872 lines)"}, "properties": {"repobilityId": "1310189257c775be", "scanner": "scanner-primary", "fingerprint": "4ef73a4e2f881b77", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb2e4aab22e5ce99", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/a2a/wrapper.py (1772 lines)"}, "properties": {"repobilityId": "c398902983edd923", "scanner": "scanner-primary", "fingerprint": "bb2e4aab22e5ce99", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c1bfe05a54c2f666", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/utilities/agent_utils.py (1780 lines)"}, "properties": {"repobilityId": "87c50c8622970ac8", "scanner": "scanner-primary", "fingerprint": "c1bfe05a54c2f666", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7b233f6d36fe6a2e", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/agent/core.py (1977 lines)"}, "properties": {"repobilityId": "7213ee229b68f6fc", "scanner": "scanner-primary", "fingerprint": "7b233f6d36fe6a2e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1cab0bdf703d7f35", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/experimental/agent_executor.py (3203 lines)"}, "properties": {"repobilityId": "3b310f3449b9a310", "scanner": "scanner-primary", "fingerprint": "1cab0bdf703d7f35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e38f672f14c460e7", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/anthropic/completion.py (1936 lines)"}, "properties": {"repobilityId": "0b8237695333962d", "scanner": "scanner-primary", "fingerprint": "e38f672f14c460e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6509161a44b0323a", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/gemini/completion.py (1546 lines)"}, "properties": {"repobilityId": "9f8023e7f480304b", "scanner": "scanner-primary", "fingerprint": "6509161a44b0323a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb2946b6bff6b118", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/azure/completion.py (1411 lines)"}, "properties": {"repobilityId": "8cd5f8659c39a6bf", "scanner": "scanner-primary", "fingerprint": "bb2946b6bff6b118", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7a510d86f07daa17", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/openai/completion.py (2529 lines)"}, "properties": {"repobilityId": "7757d9dcefcacc4c", "scanner": "scanner-primary", "fingerprint": "7a510d86f07daa17", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f46fc4901d5f3ddc", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/llms/providers/bedrock/completion.py (2242 lines)"}, "properties": {"repobilityId": "c973b79ce6015e42", "scanner": "scanner-primary", "fingerprint": "f46fc4901d5f3ddc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-75f5e98b0c15a8d0", "level": "note", "message": {"text": "Very large file: lib/crewai/src/crewai/events/utils/console_formatter.py (1772 lines)"}, "properties": {"repobilityId": "d4c990e50592b0d6", "scanner": "scanner-primary", "fingerprint": "75f5e98b0c15a8d0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fcacfd8abb1fed1e", "level": "note", "message": {"text": "Very large file: lib/cli/src/crewai_cli/crew_run_tui.py (2098 lines)"}, "properties": {"repobilityId": "09541cb07893518c", "scanner": "scanner-primary", "fingerprint": "fcacfd8abb1fed1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fe8ecda90709d714", "level": "note", "message": {"text": "131 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "fe8ecda90709d714", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "fc230c5e3a65d506", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "8d01dfbd14f84f40", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "9f31525871aabab6", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-eee47d284d793193", "level": "none", "message": {"text": "Commented-code block (5 lines) in conftest.py:77"}, "properties": {"repobilityId": "54ce40a56972d7f6", "scanner": "scanner-primary", "fingerprint": "eee47d284d793193", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a5f53e1332eedad", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/devtools/src/crewai_devtools/cli.py:73"}, "properties": {"repobilityId": "b6011bf1f3f45469", "scanner": "scanner-primary", "fingerprint": "1a5f53e1332eedad", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8bf187e2a4f490c3", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/devtools/src/crewai_devtools/docs_check.py:151"}, "properties": {"repobilityId": "722994199b1a623e", "scanner": "scanner-primary", "fingerprint": "8bf187e2a4f490c3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d8fc25f1b0c5495d", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/tests/test_crew.py:638"}, "properties": {"repobilityId": "1f8763a6002c824f", "scanner": "scanner-primary", "fingerprint": "d8fc25f1b0c5495d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-42a43b0d5a1359f7", "level": "note", "message": {"text": "Legacy-named symbol `changed_after_copy` in lib/crewai/tests/test_flow.py:1750"}, "properties": {"repobilityId": "c0acdaafc27d1e9e", "scanner": "scanner-primary", "fingerprint": "42a43b0d5a1359f7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e04f606334f47ba6", "level": "note", "message": {"text": "Legacy-named symbol `test_usage_metrics_returns_independent_copy` in lib/crewai/tests/test_flow_usage_metrics.py:262"}, "properties": {"repobilityId": "b616c367674dca04", "scanner": "scanner-primary", "fingerprint": "e04f606334f47ba6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c47d65b76b7dfeea", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/tests/test_flow_ask.py:52"}, "properties": {"repobilityId": "5c0ea08499f1dab7", "scanner": "scanner-primary", "fingerprint": "c47d65b76b7dfeea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bdf5fa1b3683f47f", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/crewai/tests/test_flow_conversation.py:41"}, "properties": {"repobilityId": "84733c08c11fa5de", "scanner": "scanner-primary", "fingerprint": "bdf5fa1b3683f47f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-90c7269a740fa502", "level": "note", "message": {"text": "Legacy-named symbol `test_agent_with_knowledge_sources_works_with_copy` in lib/crewai/tests/agents/test_agent.py:1793"}, "properties": {"repobilityId": "eb06a5137186dc46", "scanner": "scanner-primary", "fingerprint": "90c7269a740fa502", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b695109e1bb68c42", "level": "note", "message": {"text": "Legacy-named symbol `test_security_preservation_during_copy` in lib/crewai/tests/security/test_examples.py:153"}, "properties": {"repobilityId": "0167982949f26cce", "scanner": "scanner-primary", "fingerprint": "b695109e1bb68c42", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fc247be97acaf6c3", "level": "note", "message": {"text": "Legacy-named symbol `test_get_before_hooks_returns_copy` in lib/crewai/tests/hooks/test_llm_hooks.py:132"}, "properties": {"repobilityId": "c77fede1d09e02a2", "scanner": "scanner-primary", "fingerprint": "fc247be97acaf6c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-684fe3e079c2b5f9", "level": "note", "message": {"text": "Legacy-named symbol `test_get_before_hooks_returns_copy` in lib/crewai/tests/hooks/test_tool_hooks.py:204"}, "properties": {"repobilityId": "958f0f18d040ccf8", "scanner": "scanner-primary", "fingerprint": "684fe3e079c2b5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d909d1e093e883ea", "level": "note", "message": {"text": "Legacy-named symbol `test_preserves_existing_v1` in lib/crewai/tests/llms/openai_compatible/test_openai_compatible.py:106"}, "properties": {"repobilityId": "5adb02fcc326ff02", "scanner": "scanner-primary", "fingerprint": "d909d1e093e883ea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0fab5c1d50d4a949", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/crewai/tests/events/test_llm_finish_reason_response_id.py:113"}, "properties": {"repobilityId": "c86817efe2a278de", "scanner": "scanner-primary", "fingerprint": "0fab5c1d50d4a949", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2a50014aefe5c9c0", "level": "note", "message": {"text": "Legacy-named symbol `shallow_copy` in lib/crewai/src/crewai/task.py:7"}, "properties": {"repobilityId": "fdf43a59f7d38542", "scanner": "scanner-primary", "fingerprint": "2a50014aefe5c9c0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b072c71e56a6b896", "level": "note", "message": {"text": "Stub function `_post_agent_execution` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/task.py:887"}, "properties": {"repobilityId": "9ec8fb9acf4d1dad", "scanner": "scanner-primary", "fingerprint": "b072c71e56a6b896", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-9f56ad9b571a77c8", "level": "note", "message": {"text": "Legacy-named symbol `shallow_copy` in lib/crewai/src/crewai/crew.py:6"}, "properties": {"repobilityId": "aff5770fb8429f64", "scanner": "scanner-primary", "fingerprint": "9f56ad9b571a77c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-870b72359cc979a3", "level": "note", "message": {"text": "Legacy-named symbol `kwargs_copy` in lib/crewai/src/crewai/llm.py:457"}, "properties": {"repobilityId": "7d89f2daa3b5ab00", "scanner": "scanner-primary", "fingerprint": "870b72359cc979a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-18f72f0080ab54ec", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/memory/types.py:12"}, "properties": {"repobilityId": "1ea46265de18c6c8", "scanner": "scanner-primary", "fingerprint": "18f72f0080ab54ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3c08a998a6684499", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/memory/encoding_flow.py:424"}, "properties": {"repobilityId": "ebeb567128b41bcd", "scanner": "scanner-primary", "fingerprint": "3c08a998a6684499", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d28cc816988d1cab", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/memory/unified_memory.py:865"}, "properties": {"repobilityId": "2a5019d1cab10021", "scanner": "scanner-primary", "fingerprint": "d28cc816988d1cab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f4297b897f8010f0", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/memory/unified_memory.py:613"}, "properties": {"repobilityId": "b8e1f04951a4cf04", "scanner": "scanner-primary", "fingerprint": "f4297b897f8010f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10b294c2f3389f10", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/agents/step_executor.py:189"}, "properties": {"repobilityId": "609fc8394ca52098", "scanner": "scanner-primary", "fingerprint": "10b294c2f3389f10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4d6fcf09964f62de", "level": "note", "message": {"text": "Legacy-named symbol `shallow_copy` in lib/crewai/src/crewai/agents/agent_builder/base_agent.py:5"}, "properties": {"repobilityId": "fe4385ac3237d9e9", "scanner": "scanner-primary", "fingerprint": "4d6fcf09964f62de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-477dfeda1ac723db", "level": "note", "message": {"text": "Stub function `execute_task` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/agents/agent_builder/base_agent.py:658"}, "properties": {"repobilityId": "54f0685624a9c397", "scanner": "scanner-primary", "fingerprint": "477dfeda1ac723db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-4ba0e4010cfd5a18", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/rag/factory.py:15"}, "properties": {"repobilityId": "b5e87bfc3b1cdfd2", "scanner": "scanner-primary", "fingerprint": "4ba0e4010cfd5a18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7de1a00bedfaf686", "level": "note", "message": {"text": "Legacy-named symbol `onnx_mini_lm_l6_v2` in lib/crewai/src/crewai/rag/embeddings/factory.py:34"}, "properties": {"repobilityId": "4f45abfb2efcdf35", "scanner": "scanner-primary", "fingerprint": "7de1a00bedfaf686", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-80ef712f9f36226b", "level": "note", "message": {"text": "Legacy-named symbol `_use_legacy` in lib/crewai/src/crewai/rag/embeddings/providers/google/genai_vertex_embedding.py:98"}, "properties": {"repobilityId": "daa3b0e0c07ee0a8", "scanner": "scanner-primary", "fingerprint": "80ef712f9f36226b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-07d514ce9d624d04", "level": "note", "message": {"text": "Legacy-named symbol `onnx_mini_lm_l6_v2` in lib/crewai/src/crewai/rag/embeddings/providers/onnx/onnx_provider.py:3"}, "properties": {"repobilityId": "5fbab72107c7ce68", "scanner": "scanner-primary", "fingerprint": "07d514ce9d624d04", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b404ee2927542cf1", "level": "none", "message": {"text": "Commented-code block (11 lines) in lib/crewai/src/crewai/flow/visualization/assets/interactive.js:2325"}, "properties": {"repobilityId": "58dce900cd54628a", "scanner": "scanner-primary", "fingerprint": "b404ee2927542cf1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ce78966f234c49c", "level": "note", "message": {"text": "Stub function `begin` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/flow/persistence/decorators.py:179"}, "properties": {"repobilityId": "5e7d012fe185e64d", "scanner": "scanner-primary", "fingerprint": "3ce78966f234c49c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-13aca64cc3d5513d", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/flow/runtime/__init__.py:1049"}, "properties": {"repobilityId": "cd5c9adcbcbbbd4e", "scanner": "scanner-primary", "fingerprint": "13aca64cc3d5513d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2657d8260d3772f4", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/flow/runtime/__init__.py:165"}, "properties": {"repobilityId": "e7431fa247d30e7c", "scanner": "scanner-primary", "fingerprint": "2657d8260d3772f4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a76760e584d9af05", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/flow/dsl/_utils.py:373"}, "properties": {"repobilityId": "0006dabb999bf3aa", "scanner": "scanner-primary", "fingerprint": "a76760e584d9af05", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cade77146e404744", "level": "note", "message": {"text": "Stub function `inject_tools` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/a2a/extensions/base.py:65"}, "properties": {"repobilityId": "e4aec64e3876727e", "scanner": "scanner-primary", "fingerprint": "cade77146e404744", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-a77355f7ba460ba0", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/delegation.py:629"}, "properties": {"repobilityId": "dd46819ee3302380", "scanner": "scanner-primary", "fingerprint": "a77355f7ba460ba0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-feae60937803348c", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/task.py:574"}, "properties": {"repobilityId": "57b3561e16bce1dc", "scanner": "scanner-primary", "fingerprint": "feae60937803348c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-196a8c7253b41e8a", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/agent_card_signing.py:10"}, "properties": {"repobilityId": "ed9859a71c5a563f", "scanner": "scanner-primary", "fingerprint": "196a8c7253b41e8a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5d30fee404424525", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/a2a/utils/agent_card.py:543"}, "properties": {"repobilityId": "3f1ff51efdac6fe0", "scanner": "scanner-primary", "fingerprint": "5d30fee404424525", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-84eb253878b4db15", "level": "note", "message": {"text": "Legacy-named symbol `schema_copy` in lib/crewai/src/crewai/utilities/pydantic_schema_utils.py:112"}, "properties": {"repobilityId": "1cea9bbdd76c118d", "scanner": "scanner-primary", "fingerprint": "84eb253878b4db15", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2915782b6c66244f", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/tools/agent_tools/base_agent_tools.py:66"}, "properties": {"repobilityId": "8ce44b4e5457c743", "scanner": "scanner-primary", "fingerprint": "2915782b6c66244f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10ce1fdf827d2531", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/experimental/agent_executor.py:2258"}, "properties": {"repobilityId": "f66a50625d799dd6", "scanner": "scanner-primary", "fingerprint": "10ce1fdf827d2531", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-58224b81c4203e5d", "level": "none", "message": {"text": "Commented-code block (7 lines) in lib/crewai/src/crewai/experimental/__init__.py:7"}, "properties": {"repobilityId": "2d088a36fed11b61", "scanner": "scanner-primary", "fingerprint": "58224b81c4203e5d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-832079c6ada1d973", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/experimental/conversational_mixin.py:112"}, "properties": {"repobilityId": "44258d6f9f09ae02", "scanner": "scanner-primary", "fingerprint": "832079c6ada1d973", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8be824d8c67228f0", "level": "note", "message": {"text": "Stub function `_clear_or_listeners` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/experimental/conversational_mixin.py:132"}, "properties": {"repobilityId": "910e3449c259fb21", "scanner": "scanner-primary", "fingerprint": "8be824d8c67228f0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-93f2d815c185471a", "level": "note", "message": {"text": "Stub function `metric_category` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/experimental/evaluation/base_evaluator.py:58"}, "properties": {"repobilityId": "466974af89453961", "scanner": "scanner-primary", "fingerprint": "93f2d815c185471a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-f781991fe0667543", "level": "note", "message": {"text": "Legacy-named symbol `crew_copy` in lib/crewai/src/crewai/crews/utils.py:448"}, "properties": {"repobilityId": "9935ffe0e77abdaf", "scanner": "scanner-primary", "fingerprint": "f781991fe0667543", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fd25c5612ead9670", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai/src/crewai/state/checkpoint_config.py:230"}, "properties": {"repobilityId": "55d28a3cb7b89aba", "scanner": "scanner-primary", "fingerprint": "fd25c5612ead9670", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d5ca9824c17ca79e", "level": "note", "message": {"text": "Stub function `exec_module` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/cli/__init__.py:39"}, "properties": {"repobilityId": "5f16c75ace24cab8", "scanner": "scanner-primary", "fingerprint": "d5ca9824c17ca79e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-ff74db4bb084f1f1", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/llms/base_llm.py:763"}, "properties": {"repobilityId": "d770a5b0c180157a", "scanner": "scanner-primary", "fingerprint": "ff74db4bb084f1f1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40db26333b176ab1", "level": "none", "message": {"text": "Commented-code block (7 lines) in lib/crewai/src/crewai/llms/providers/anthropic/completion.py:676"}, "properties": {"repobilityId": "0e5e4f0157526fb0", "scanner": "scanner-primary", "fingerprint": "40db26333b176ab1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d2b00c3c28cd147", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/crewai/src/crewai/llms/providers/bedrock/completion.py:1854"}, "properties": {"repobilityId": "6b39d0d33b068af5", "scanner": "scanner-primary", "fingerprint": "1d2b00c3c28cd147", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c8d56824f164ea39", "level": "note", "message": {"text": "Stub function `on_knowledge_query_completed` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/events/event_listener.py:533"}, "properties": {"repobilityId": "106a230ee3c296f3", "scanner": "scanner-primary", "fingerprint": "c8d56824f164ea39", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-da205c323c173272", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py:237"}, "properties": {"repobilityId": "0ea7679536cdb8ad", "scanner": "scanner-primary", "fingerprint": "da205c323c173272", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b04434ece7a8ba27", "level": "note", "message": {"text": "Stub function `on_flow_created` (body is just `pass`/`return`) \u2014 lib/crewai/src/crewai/events/listeners/tracing/trace_listener.py:232"}, "properties": {"repobilityId": "91b6ee009180bb11", "scanner": "scanner-primary", "fingerprint": "b04434ece7a8ba27", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-5f3c954b01315146", "level": "note", "message": {"text": "Legacy-named symbol `tree_copy` in lib/cli/tests/test_utils.py:71"}, "properties": {"repobilityId": "33ca4c0e07001b47", "scanner": "scanner-primary", "fingerprint": "5f3c954b01315146", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f357382faa42d3b6", "level": "note", "message": {"text": "Legacy-named symbol `tree_copy` in lib/cli/src/crewai_cli/utils.py:35"}, "properties": {"repobilityId": "87f31f762f6c8c81", "scanner": "scanner-primary", "fingerprint": "f357382faa42d3b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e361442ce3e6a67e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/install_crew.py:25"}, "properties": {"repobilityId": "0164e8eed4dc8128", "scanner": "scanner-primary", "fingerprint": "e361442ce3e6a67e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e3147f3cc0eef712", "level": "note", "message": {"text": "Legacy-named symbol `lock_backup` in lib/cli/src/crewai_cli/update_crew.py:90"}, "properties": {"repobilityId": "b12f11e9a25f1a0c", "scanner": "scanner-primary", "fingerprint": "e3147f3cc0eef712", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4c135f633a555557", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/git.py:33"}, "properties": {"repobilityId": "c220d7d502093152", "scanner": "scanner-primary", "fingerprint": "4c135f633a555557", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-15ef859dbc8e9c3e", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/cli/src/crewai_cli/crew_run_tui.py:2006"}, "properties": {"repobilityId": "c5e928dc6fd39a61", "scanner": "scanner-primary", "fingerprint": "15ef859dbc8e9c3e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de4b90e2730483ac", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/train_crew.py:22"}, "properties": {"repobilityId": "bda7fbb6cf23985e", "scanner": "scanner-primary", "fingerprint": "de4b90e2730483ac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d0bd7679968e292e", "level": "note", "message": {"text": "Legacy-named symbol `tree_copy` in lib/cli/src/crewai_cli/tools/main.py:23"}, "properties": {"repobilityId": "681467e99a54f1ae", "scanner": "scanner-primary", "fingerprint": "d0bd7679968e292e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0c020157a61a99b9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/cli/src/crewai_cli/tools/main.py:158"}, "properties": {"repobilityId": "fe70d72352c0d5c7", "scanner": "scanner-primary", "fingerprint": "0c020157a61a99b9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e771e72cd32962c3", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in lib/crewai-files/src/crewai_files/uploaders/bedrock.py:361"}, "properties": {"repobilityId": "538e09215370e707", "scanner": "scanner-primary", "fingerprint": "e771e72cd32962c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6d8fdbf40a556048", "level": "note", "message": {"text": "Legacy-named symbol `test_exasearchtool_alias_is_deprecated` in lib/crewai-tools/tests/tools/exa_search_tool_test.py:109"}, "properties": {"repobilityId": "5b99bdad32f05a03", "scanner": "scanner-primary", "fingerprint": "6d8fdbf40a556048", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5b63fadbbce02a39", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/crewai-tools/tests/tools/brave_search_tool_test.py:340"}, "properties": {"repobilityId": "866778614fd37a77", "scanner": "scanner-primary", "fingerprint": "5b63fadbbce02a39", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56d14d10fead3d14", "level": "none", "message": {"text": "Commented-code block (5 lines) in lib/crewai-tools/src/crewai_tools/tools/nl2sql/nl2sql_tool.py:320"}, "properties": {"repobilityId": "c0f29bb48b6e3952", "scanner": "scanner-primary", "fingerprint": "56d14d10fead3d14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed8298a13cf802c0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/mongodb_vector_search_tool/vector_search.py:118"}, "properties": {"repobilityId": "894f9664f39983b5", "scanner": "scanner-primary", "fingerprint": "ed8298a13cf802c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f21347293a029559", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/weaviate_tool/vector_search.py:99"}, "properties": {"repobilityId": "bc341b6f06360ad4", "scanner": "scanner-primary", "fingerprint": "f21347293a029559", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-87950687385d6786", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/generate_crewai_automation_tool/generate_crewai_automation_tool.py:52"}, "properties": {"repobilityId": "237db7c594af2d0f", "scanner": "scanner-primary", "fingerprint": "87950687385d6786", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c96709f67bf2ae91", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/firecrawl_scrape_website_tool/firecrawl_scrape_website_tool.py:96"}, "properties": {"repobilityId": "10574293c870e9ce", "scanner": "scanner-primary", "fingerprint": "c96709f67bf2ae91", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f6a0a46385a4e83e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/browserbase_load_tool/browserbase_load_tool.py:62"}, "properties": {"repobilityId": "662b3c9e07f4c3e7", "scanner": "scanner-primary", "fingerprint": "f6a0a46385a4e83e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5119514e0a8c095d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/serpapi_tool/serpapi_base_tool.py:38"}, "properties": {"repobilityId": "ab52bd0dcd164a5e", "scanner": "scanner-primary", "fingerprint": "5119514e0a8c095d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b9096ca99026bcd6", "level": "note", "message": {"text": "Stub function `configure_logging` (body is just `pass`/`return`) \u2014 lib/crewai-tools/src/crewai_tools/tools/stagehand_tool/stagehand_tool.py:39"}, "properties": {"repobilityId": "3e3486a1d2311fd7", "scanner": "scanner-primary", "fingerprint": "b9096ca99026bcd6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-cef4ab7d51a2b4a9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/couchbase_tool/couchbase_tool.py:178"}, "properties": {"repobilityId": "fa3e80bd1a6d5383", "scanner": "scanner-primary", "fingerprint": "cef4ab7d51a2b4a9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0ad79d7463cfa9b6", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in lib/crewai-tools/src/crewai_tools/tools/qdrant_vector_search_tool/qdrant_search_tool.py:89"}, "properties": {"repobilityId": "bff268a4e6044605", "scanner": "scanner-primary", "fingerprint": "0ad79d7463cfa9b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a626c9313efa056f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/exa_tools/exa_search_tool.py:102"}, "properties": {"repobilityId": "b626092be88b41ad", "scanner": "scanner-primary", "fingerprint": "a626c9313efa056f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7e84c90741248e1e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/selenium_scraping_tool/selenium_scraping_tool.py:90"}, "properties": {"repobilityId": "f0ec396eb47a9d23", "scanner": "scanner-primary", "fingerprint": "7e84c90741248e1e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ae7d0ff3fbd22bd9", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/scrapegraph_scrape_tool/scrapegraph_scrape_tool.py:102"}, "properties": {"repobilityId": "0a792e2365c3441a", "scanner": "scanner-primary", "fingerprint": "ae7d0ff3fbd22bd9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a52f6248973eb75b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/linkup/linkup_search_tool.py:46"}, "properties": {"repobilityId": "4b49a8a180b4aefd", "scanner": "scanner-primary", "fingerprint": "a52f6248973eb75b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-09b821e97811322c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/spider_tool/spider_tool.py:107"}, "properties": {"repobilityId": "25608603cb5449c7", "scanner": "scanner-primary", "fingerprint": "09b821e97811322c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3e7a5afe57986423", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/scrapfly_scrape_website_tool/scrapfly_scrape_website_tool.py:61"}, "properties": {"repobilityId": "d1f4eea794d4d285", "scanner": "scanner-primary", "fingerprint": "3e7a5afe57986423", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7cd8a5260d9d8a77", "level": "none", "message": {"text": "Commented-code block (7 lines) in lib/crewai-tools/src/crewai_tools/tools/brave_search_tool/base.py:286"}, "properties": {"repobilityId": "eb6939683be4d416", "scanner": "scanner-primary", "fingerprint": "7cd8a5260d9d8a77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5f424cfdc03127a0", "level": "none", "message": {"text": "Commented-code block (6 lines) in lib/crewai-tools/src/crewai_tools/tools/file_writer_tool/file_writer_tool.py:44"}, "properties": {"repobilityId": "d25c92fdd9998c5a", "scanner": "scanner-primary", "fingerprint": "5f424cfdc03127a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b8f04f253af13d95", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 lib/crewai-tools/src/crewai_tools/tools/multion_tool/multion_tool.py:45"}, "properties": {"repobilityId": "0b5d59d0d52700a0", "scanner": "scanner-primary", "fingerprint": "b8f04f253af13d95", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a3fa661dce556503", "level": "note", "message": {"text": "96 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "c1be34301d19f2b0", "scanner": "scanner-primary", "fingerprint": "a3fa661dce556503", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "701090b7406aa4e9", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "5a0fa0644a730462", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "325e4ea8d446ed3a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "97136fa4c00c1212", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "de714a097b19f7e7", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "a7746299cca2c4cc", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "66d6a867327b3939", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "b90d469518c5aae7", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "ee44ab7e13eb3aa7", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "749d76086dd86054", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "db4dce221fbd8585", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7b0651b331aa1171", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "18e8e3da895887c8", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "5a78218635ae6a76", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "704550888fb0354f", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "8350c586145dc570", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "fea606e400317c84", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "aeee0e945cdf91bd", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "5df51f26f7bf0176", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "d0f6931a7dac18fe", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}