CRIT
MINED107
Missing import: `queue` used but not imported
src/latch_cli/services/k8s/develop.py:199
CRIT
MINED107
Missing import: `queue` used but not imported
src/latch_cli/centromere/ast_parsing.py:92
CRIT
MINED107
Missing import: `array` used but not imported
src/latch_cli/nextflow/parse_schema.py:439
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
src/latch_cli/services/launch/launch.py:49
HIGH
SEC085
[SEC085] JS: child_process.exec with non-literal: child_process.exec with user-derived in…
src/latch_cli/services/k8s/execute.py:57
HIGH
SEC113
[SEC113] SSH host-key verification disabled (MITM): Accepting any SSH host key on first c…
src/latch_cli/services/k8s/develop.py:154
HIGH
MINED006
[MINED006] Overcatch Baseexception: except BaseException: ... — prevents Ctrl+C and Syste…
src/latch_cli/services/preview.py:206
HIGH
MINED006
[MINED006] Overcatch Baseexception: except BaseException: ... — prevents Ctrl+C and Syste…
src/latch_cli/menus.py:317
HIGH
SEC032
[SEC032] Unrestricted File Upload — no extension/MIME validation: File upload accepts the…
src/latch_cli/exceptions/traceback.py:24
HIGH
MINED021
[MINED021] Path Traversal Os Join: os.path.join(user_dir, filename) where filename can co…
src/latch_cli/centromere/utils.py:139
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
src/latch_cli/nextflow/forch_register.py:106
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
src/latch/ldata/_transfer/progress.py:103
HIGH
MINED001
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e…
src/latch_cli/services/k8s/develop.py:217
HIGH
MINED001
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e…
src/latch/resources/launch_plan.py:62
HIGH
MINED001
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e…
src/latch/ldata/_transfer/download.py:82
HIGH
SEC078
[SEC078] Python: requests without timeout: requests.get/post without a timeout will hang …
src/latch_cli/services/get.py:51
HIGH
SEC078
[SEC078] Python: requests without timeout: requests.get/post without a timeout will hang …
src/latch_cli/nextflow/forch_register.py:162
HIGH
SEC078
[SEC078] Python: requests without timeout: requests.get/post without a timeout will hang …
src/latch/functions/messages.py:56
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
src/latch/ldata/_transfer/download.py:101
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
src/latch/functions/messages.py:56
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
src/latch/executions.py:174
HIGH
MINED108
`self.load` used but never assigned in __init__
src/latch/registry/table.py:401
HIGH
MINED108
`self.get_columns` used but never assigned in __init__
src/latch/registry/table.py:369
HIGH
MINED108
`self.list_records` used but never assigned in __init__
src/latch/registry/table.py:361
HIGH
MINED108
`self.get_columns` used but never assigned in __init__
src/latch/registry/table.py:257
HIGH
MINED108
`self.load` used but never assigned in __init__
src/latch/registry/table.py:240
HIGH
MINED108
`self.load` used but never assigned in __init__
src/latch/registry/table.py:212
HIGH
MINED108
`self.load` used but never assigned in __init__
src/latch/registry/table.py:183
HIGH
MINED108
`self.workspace_path` used but never assigned in __init__
src/latch_sdk_config/user.py:95
HIGH
MINED108
`self.token_path` used but never assigned in __init__
src/latch_sdk_config/user.py:91
HIGH
MINED108
`self.workspace_path` used but never assigned in __init__
src/latch_sdk_config/user.py:80
HIGH
MINED108
`self.workspace_path` used but never assigned in __init__
src/latch_sdk_config/user.py:59
HIGH
MINED108
`self.token_path` used but never assigned in __init__
src/latch_sdk_config/user.py:51
HIGH
MINED108
`self.root` used but never assigned in __init__
src/latch_sdk_config/user.py:38
HIGH
MINED108
`self.root` used but never assigned in __init__
src/latch_sdk_config/user.py:29
HIGH
MINED108
`self._add_registry_projects_delete_selection` used but never assigned in __init__
src/latch/account.py:336
HIGH
MINED108
`self._add_registry_projects_upsert_selection` used but never assigned in __init__
src/latch/account.py:334
HIGH
MINED108
`self.clear` used but never assigned in __init__
src/latch/account.py:366
HIGH
MINED108
`self.load` used but never assigned in __init__
src/latch/account.py:201
HIGH
MINED108
`self.load` used but never assigned in __init__
src/latch/account.py:173
HIGH
MINED106
Phantom test coverage: test_data_ls
src/latch_cli/main.py:1749
HIGH
MINED106
Phantom test coverage: test_data_remove
src/latch_cli/main.py:1735
HIGH
MINED106
Phantom test coverage: test_data_upload
src/latch_cli/main.py:1720
HIGH
MINED106
Phantom test coverage: test_data
src/latch_cli/main.py:1703
HIGH
MINED108
`self.url` used but never assigned in __init__
src/latch_cli/tinyrequests.py:59
HIGH
MINED108
`self.status_code` used but never assigned in __init__
src/latch_cli/tinyrequests.py:59
HIGH
MINED108
`self.status_code` used but never assigned in __init__
src/latch_cli/tinyrequests.py:55
HIGH
MINED108
`self.status_code` used but never assigned in __init__
src/latch_cli/tinyrequests.py:57
HIGH
MINED108
`self.status_code` used but never assigned in __init__
src/latch_cli/tinyrequests.py:54
HIGH
MINED108
`self.content` used but never assigned in __init__
src/latch_cli/tinyrequests.py:28
HIGH
MINED106
Phantom test coverage: test_account_jwt
tests/fixtures.py:10
HIGH
COMP001
[COMP001] High cognitive complexity: Function `combine` has cognitive complexity 28 (Sona…
src/latch/functions/operators.py:142
HIGH
DKR014
Dockerfile copies the entire context without .dockerignore
src/latch_cli/services/init/example_sna…:19
HIGH
DKR014
Dockerfile copies the entire context without .dockerignore
src/latch_cli/services/init/example_nfc…:14
HIGH
DKR006
Dockerfile pipes a remote script into a shell
src/latch_cli/services/init/example_nfc…:10
HIGH
MINED118
Dockerfile FROM `812206152185.dkr.ecr.us-west-2.amazonaws.com/latch-base:fe0b-main` not p…
src/latch_cli/services/init/example_sna…:1
HIGH
MINED118
Dockerfile FROM `812206152185.dkr.ecr.us-west-2.amazonaws.com/latch-base:fe0b-main` not p…
src/latch_cli/services/init/example_nfc…:2
HIGH
MINED115
Action `astral-sh/setup-uv` pinned to mutable ref `@v3`
.github/workflows/test.yaml:16
HIGH
MINED115
Action `actions/checkout` pinned to mutable ref `@v2`
.github/workflows/test.yaml:14
HIGH
MINED118
Dockerfile FROM `alpine:3.12` not pinned by digest
Dockerfile.docs:1
HIGH
GHSA-8rrh-rw8j-w5fx
wheel: GHSA-8rrh-rw8j-w5fx
uv.lock
HIGH
GHSA-gm62-xv2j-4w53
urllib3: GHSA-gm62-xv2j-4w53
uv.lock
HIGH
GHSA-38jv-5279-wg99
urllib3: GHSA-38jv-5279-wg99
uv.lock
HIGH
GHSA-2xpw-w6gg-jr37
urllib3: GHSA-2xpw-w6gg-jr37
uv.lock
HIGH
PYSEC-2026-141
urllib3: PYSEC-2026-141
uv.lock
HIGH
PYSEC-2026-179
pyjwt: PYSEC-2026-179
uv.lock
HIGH
PYSEC-2026-178
pyjwt: PYSEC-2026-178
uv.lock
HIGH
PYSEC-2026-177
pyjwt: PYSEC-2026-177
uv.lock
HIGH
PYSEC-2026-176
pyjwt: PYSEC-2026-176
uv.lock
HIGH
PYSEC-2026-175
pyjwt: PYSEC-2026-175
uv.lock
HIGH
PYSEC-2026-120
pyjwt: PYSEC-2026-120
uv.lock
HIGH
PYSEC-2025-183
pyjwt: PYSEC-2025-183
uv.lock
HIGH
GHSA-jr27-m4p2-rc6r
pyasn1: GHSA-jr27-m4p2-rc6r
uv.lock
HIGH
GHSA-63vm-454h-vhhq
pyasn1: GHSA-63vm-454h-vhhq
uv.lock
HIGH
PYSEC-2022-42969
py: PYSEC-2022-42969
uv.lock
HIGH
GHSA-8qvm-5x2c-j2w7
protobuf: GHSA-8qvm-5x2c-j2w7
uv.lock
HIGH
GHSA-7gcm-g887-7qv7
protobuf: GHSA-7gcm-g887-7qv7
uv.lock
HIGH
PYSEC-2026-107
orjson: PYSEC-2026-107
uv.lock
HIGH
GHSA-58pv-8j8x-9vj2
jaraco-context: GHSA-58pv-8j8x-9vj2
uv.lock
HIGH
GHSA-x2qx-6953-8485
gitpython: GHSA-x2qx-6953-8485
uv.lock
HIGH
GHSA-v87r-6q3f-2j67
gitpython: GHSA-v87r-6q3f-2j67
uv.lock
HIGH
GHSA-mv93-w799-cj2w
gitpython: GHSA-mv93-w799-cj2w
uv.lock
HIGH
GHSA-7545-fcxq-7j24
gitpython: GHSA-7545-fcxq-7j24
uv.lock
HIGH
GHSA-2mqj-m65w-jghx
gitpython: GHSA-2mqj-m65w-jghx
uv.lock
HIGH
PYSEC-2024-4
gitpython: PYSEC-2024-4
uv.lock
HIGH
GHSA-r6ph-v2qm-q3c2
cryptography: GHSA-r6ph-v2qm-q3c2
uv.lock
HIGH
PYSEC-2026-36
cryptography: PYSEC-2026-36
uv.lock
HIGH
PYSEC-2026-35
cryptography: PYSEC-2026-35
uv.lock
HIGH
PYSEC-2023-239
asyncssh: PYSEC-2023-239
uv.lock
HIGH
PYSEC-2023-237
asyncssh: PYSEC-2023-237
uv.lock
HIGH
SEC013
[SEC013] Path Traversal — User Input in File Path: User-controlled input used in file pat…
src/latch_cli/services/launch/launch.py:45
MED
ERR001
[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even…
src/latch_cli/services/login.py:109
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
src/latch_cli/services/launch/launch.py:49
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
src/latch_cli/services/k8s/execute.py:57
MED
SEC127
[SEC127] AI agent stub — TODO: implement / pass placeholder body: Function body left as T…
src/latch_cli/services/init/template/ta…:7
MED
MINED111
Bare except continues silently
src/latch_cli/services/launch/type_conv…:340
MED
MINED109
Mutable default argument in `transform_types_in_variable_map` (dict)
src/latch_cli/snakemake/workflow.py:269
MED
MINED111
Bare except continues silently
src/latch_cli/utils/__init__.py:259
MED
MINED111
Bare except continues silently
src/latch_cli/centromere/ctx.py:167
MED
MINED111
Bare except continues silently
src/latch_cli/services/local_dev_old.py:423
MED
MINED111
Bare except continues silently
src/latch_cli/nextflow/config.py:38
MED
MINED109
Mutable default argument in `deseq2_wf` (list)
src/latch/verified/deseq2.py:16
MED
MINED111
Bare except continues silently
src/latch_cli/main.py:1678
MED
MINED109
Mutable default argument in `post` (dict)
src/latch_cli/tinyrequests.py:198
MED
MINED109
Mutable default argument in `put` (dict)
src/latch_cli/tinyrequests.py:176
MED
MINED109
Mutable default argument in `get` (dict)
src/latch_cli/tinyrequests.py:154
MED
MINED109
Mutable default argument in `request` (dict)
src/latch_cli/tinyrequests.py:117
MED
MINED109
Mutable default argument in `_req` (dict)
src/latch_cli/tinyrequests.py:70
MED
MINED111
Bare except continues silently
src/latch_sdk_gql/execute.py:55
MED
COMP001
[COMP001] High cognitive complexity: Function `group_tuple` has cognitive complexity 18 (…
src/latch/functions/operators.py:79
MED
AUC001
[AUC001] No Repobility access matrix policy found: The repository uses web/API frameworks…
—
MED
DKR007
Docker build context has no .dockerignore
.dockerignore
MED
DEPCUR-GHA
GitHub Action `astral-sh/setup-uv@v3` is 5 major version(s) behind (latest v8.2.0)
.github/workflows/test.yaml:16
MED
DEPCUR-GHA
GitHub Action `actions/checkout@v2` is 4 major version(s) behind (latest v6.0.3)
.github/workflows/test.yaml:14
MED
GHSA-pq67-6m6q-mj2v
urllib3: GHSA-pq67-6m6q-mj2v
uv.lock
MED
GHSA-gc5v-m9x4-r6x2
requests: GHSA-gc5v-m9x4-r6x2
uv.lock
MED
GHSA-6w46-j5rx-g56g
pytest: GHSA-6w46-j5rx-g56g
uv.lock
MED
GHSA-mrfv-m5wm-5w6w
pynacl: GHSA-mrfv-m5wm-5w6w
uv.lock
MED
GHSA-428g-f7cq-pgp5
marshmallow: GHSA-428g-f7cq-pgp5
uv.lock
MED
GHSA-65pc-fj4g-8rjx
idna: GHSA-65pc-fj4g-8rjx
uv.lock
MED
GHSA-w8v5-vhqr-4h9v
diskcache: GHSA-w8v5-vhqr-4h9v
uv.lock
MED
GHSA-hfmc-7525-mj55
asyncssh: GHSA-hfmc-7525-mj55
uv.lock
MED
DKR001
Docker final stage has no non-root USER
src/latch_cli/services/init/example_sna…:1
MED
DKR001
Docker final stage has no non-root USER
src/latch_cli/services/init/example_nfc…:2
MED
DKR001
Docker final stage has no non-root USER
Dockerfile.docs:1
MED
AUC002
[AUC002] Low visible authorization coverage in route inventory: Only 12.5% of discovered …
—
LOW
COMP001
[COMP001] High cognitive complexity: Function `to_idl` has cognitive complexity 9 (SonarS…
src/latch/idl/admin/launch_plan.py:107
LOW
GHSA-5239-wwwm-4pmq
pygments: GHSA-5239-wwwm-4pmq
uv.lock
LOW
GHSA-r374-rxx8-8654
paramiko: GHSA-r374-rxx8-8654
uv.lock
LOW
AIC003
Duplicated implementation block across source files
src/latch_cli/services/preview.py:86
LOW
AIC003
Duplicated implementation block across source files
src/latch_cli/services/k8s/execute.py:32
LOW
AIC003
Duplicated implementation block across source files
src/latch_cli/services/init/example_r/_…:7
LOW
AIC003
Duplicated implementation block across source files
src/latch/registry/table.py:158
LOW
AIC003
Duplicated implementation block across source files
src/latch/registry/project.py:194
LOW
AUC005
[AUC005] No authorization-focused tests detected: No test files with common authorization…
—
LOW
DKR010
Dockerfile leaves apt package indexes in the image layer
src/latch_cli/services/init/example_nfc…:7
LOW
DKR012
Dockerfile keeps pip download cache
src/latch_cli/services/init/example_sna…:16
LOW
DKR011
Dockerfile installs recommended OS packages
src/latch_cli/services/init/example_nfc…:7
LOW
DKR012
Dockerfile keeps pip download cache
src/latch_cli/services/init/example_nfc…:3
LOW
AIC005
Duplicate top-level symbol appears in a patch-style file
src/latch_cli/services/local_dev_old.py:1
LOW
AIC002
Source file name looks like an AI patch artifact
src/latch_cli/services/local_dev_old.py:1
LOW
AIC002
Source file name looks like an AI patch artifact
src/latch/ldata/_transfer/remote_copy.py:1
INFO
MINED064
[MINED064] Python Input Call: input() blocks for stdin. Inappropriate in services.
src/latch_cli/snakemake/single_task_sna…:108
INFO
MINED072
[MINED072] Python Pass Only Class: class Foo: pass — stub waiting to be filled in.
src/latch_cli/snakemake/serialize_utils…:139
INFO
MINED077
[MINED077] Python Open No Context: fp = open(path) outside with-block leaks file handles.
src/latch_cli/services/register/utils.py:201
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
src/latch/ldata/_transfer/utils.py:22
INFO
MINED067
[MINED067] Python Requests No Timeout: requests.get/post/etc. without timeout= can hang f…
src/latch_cli/services/get.py:51
INFO
MINED067
[MINED067] Python Requests No Timeout: requests.get/post/etc. without timeout= can hang f…
src/latch_cli/nextflow/forch_register.py:162
INFO
MINED067
[MINED067] Python Requests No Timeout: requests.get/post/etc. without timeout= can hang f…
src/latch/functions/messages.py:56
INFO
MINED050
[MINED050] Stub Only Function: Function declared but body is just pass, return None, rais…
src/latch/resources/launch_plan.py:63
INFO
MINED050
[MINED050] Stub Only Function: Function declared but body is just pass, return None, rais…
src/latch/ldata/_transfer/download.py:83
INFO
MINED050
[MINED050] Stub Only Function: Function declared but body is just pass, return None, rais…
src/latch/functions/messages.py:32
INFO
MINED062
[MINED062] Python Dataclass No Fields: @dataclass over an empty class — unfinished model.
src/latch/idl/admin/launch_plan.py:18
INFO
MINED062
[MINED062] Python Dataclass No Fields: @dataclass over an empty class — unfinished model.
src/latch/idl/admin/common.py:11
INFO
MINED062
[MINED062] Python Dataclass No Fields: @dataclass over an empty class — unfinished model.
src/latch/account.py:54