CRIT
MINED107
[MINED107] Missing import: `array` used but not imported: The file uses `array.something(…
src/skimage/util/apply_parallel.py:160
CRIT
MINED107
[MINED107] Missing import: `random` used but not imported: The file uses `random.somethin…
src/skimage/draw/_random_shapes.py:236
CRIT
MINED107
[MINED107] Missing import: `array` used but not imported: The file uses `array.something(…
src/_skimage2/_shared/utils.py:948
CRIT
MINED107
[MINED107] Missing import: `array` used but not imported: The file uses `array.something(…
tools/precompute/mc_meta/createluts.py:103
CRIT
MINED019
[MINED019] Ssti Jinja From String: jinja2.Environment().from_string(user_input) — full RC…
src/skimage/feature/template.py:33
CRIT
SEC084
[SEC084] JS: require() with non-literal: require(<variable>) loads arbitrary modules — eq…
src/skimage/restoration/unwrap.py:115
CRIT
SEC084
[SEC084] JS: require() with non-literal: require(<variable>) loads arbitrary modules — eq…
src/_skimage2/_shared/version_requireme…:110
CRIT
MINED116
[MINED116] Workflow uses `secrets.UPLOAD_TOKEN` on a `pull_request` trigger: This workflo…
.github/workflows/nightly-wheel-build.y…:62
CRIT
MINED116
[MINED116] Workflow uses `secrets.CACHE_VERSION` on a `pull_request` trigger: This workfl…
.github/workflows/benchmarks.yaml:67
CRIT
MINED116
[MINED116] Workflow uses `secrets.CACHE_VERSION` on a `pull_request` trigger: This workfl…
.github/workflows/benchmarks.yaml:65
HIGH
MINED106
[MINED106] Phantom test coverage: test_root_dir: Test function `test_root_dir` runs code …
tests/skimage/conftest.py:6
HIGH
MINED108
[MINED108] `self.image` used but never assigned in __init__: Method `setup` of class `Ske…
benchmarks/benchmark_morphology.py:26
HIGH
MINED108
[MINED108] `self.image` used but never assigned in __init__: Method `time_hessian_matrix_…
benchmarks/benchmark_feature.py:33
HIGH
MINED108
[MINED108] `self.keypoints` used but never assigned in __init__: Method `time_brief` of c…
benchmarks/benchmark_feature.py:30
HIGH
MINED108
[MINED108] `self.image` used but never assigned in __init__: Method `time_brief` of class…
benchmarks/benchmark_feature.py:30
HIGH
MINED108
[MINED108] `self.image_ubyte` used but never assigned in __init__: Method `time_glcm` of …
benchmarks/benchmark_feature.py:25
HIGH
MINED108
[MINED108] `self.image` used but never assigned in __init__: Method `time_canny` of class…
benchmarks/benchmark_feature.py:20
HIGH
MINED108
[MINED108] `self.image` used but never assigned in __init__: Method `setup` of class `Fea…
benchmarks/benchmark_feature.py:16
HIGH
MINED108
[MINED108] `self.image` used but never assigned in __init__: Method `setup` of class `Fea…
benchmarks/benchmark_feature.py:14
HIGH
MINED108
[MINED108] `self.keypoints` used but never assigned in __init__: Method `setup` of class …
benchmarks/benchmark_feature.py:15
HIGH
MINED108
[MINED108] `self.image_ubyte` used but never assigned in __init__: Method `setup` of clas…
benchmarks/benchmark_feature.py:14
HIGH
MINED108
[MINED108] `self.image` used but never assigned in __init__: Method `setup` of class `Fea…
benchmarks/benchmark_feature.py:13
HIGH
MINED108
[MINED108] `self.footprint_3d` used but never assigned in __init__: Method `time_3d_filte…
benchmarks/benchmark_rank.py:29
HIGH
MINED108
[MINED108] `self.volume` used but never assigned in __init__: Method `time_3d_filters` of…
benchmarks/benchmark_rank.py:29
HIGH
MINED108
[MINED108] `self.footprint_3d` used but never assigned in __init__: Method `setup` of cla…
benchmarks/benchmark_rank.py:26
HIGH
MINED108
[MINED108] `self.volume` used but never assigned in __init__: Method `setup` of class `Ra…
benchmarks/benchmark_rank.py:25
HIGH
MINED108
[MINED108] `self.footprint` used but never assigned in __init__: Method `time_filter` of …
benchmarks/benchmark_rank.py:17
HIGH
MINED108
[MINED108] `self.image` used but never assigned in __init__: Method `time_filter` of clas…
benchmarks/benchmark_rank.py:17
HIGH
MINED108
[MINED108] `self.footprint` used but never assigned in __init__: Method `setup` of class …
benchmarks/benchmark_rank.py:14
HIGH
MINED108
[MINED108] `self.image` used but never assigned in __init__: Method `setup` of class `Ran…
benchmarks/benchmark_rank.py:13
HIGH
MINED108
[MINED108] `self.n` used but never assigned in __init__: Method `time_central_pixel` of c…
benchmarks/benchmark_graph.py:33
HIGH
MINED108
[MINED108] `self.g` used but never assigned in __init__: Method `time_central_pixel` of c…
benchmarks/benchmark_graph.py:33
HIGH
MINED108
[MINED108] `self.skeleton` used but never assigned in __init__: Method `time_build_pixel_…
benchmarks/benchmark_graph.py:30
HIGH
MINED108
[MINED108] `self.n` used but never assigned in __init__: Method `setup` of class `GraphSu…
benchmarks/benchmark_graph.py:27
HIGH
MINED108
[MINED108] `self.g` used but never assigned in __init__: Method `setup` of class `GraphSu…
benchmarks/benchmark_graph.py:27
HIGH
MINED108
[MINED108] `self.skeleton` used but never assigned in __init__: Method `setup` of class `…
benchmarks/benchmark_graph.py:21
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
tools/precompute/_precompute_nsphere_de…:120
HIGH
SEC128
[SEC128] Async function without await — fire-and-forget Promise (AI mistake): Async call …
src/skimage/io/_plugins/pil_plugin.py:263
HIGH
MINED009
[MINED009] Floats For Money: Variable named price/amount/cost typed as float instead of D…
src/skimage/graph/spath.py:33
HIGH
MINED009
[MINED009] Floats For Money: Variable named price/amount/cost typed as float instead of D…
src/skimage/graph/mcp.py:29
HIGH
MINED009
[MINED009] Floats For Money: Variable named price/amount/cost typed as float instead of D…
src/skimage/graph/_ncut.py:47
HIGH
MINED006
[MINED006] Overcatch Baseexception: except BaseException: ... — prevents Ctrl+C and Syste…
src/skimage/_vendored/numpy_lookfor.py:126
HIGH
MINED006
[MINED006] Overcatch Baseexception: except BaseException: ... — prevents Ctrl+C and Syste…
src/_skimage2/_shared/tester.py:128
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
src/skimage/io/util.py:27
HIGH
SEC029
[SEC029] Server-Side Request Forgery (SSRF) — outbound HTTP from user input: Outbound HTT…
doc/tools/plot_pr.py:55
HIGH
MINED001
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e…
doc/examples/color_exposure/plot_adapt_…:199
HIGH
MINED001
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e…
benchmarks/benchmark_registration.py:10
HIGH
MINED001
[MINED001] Bare Except Pass: except: pass or except Exception: pass — silently swallows e…
benchmarks/benchmark_metrics.py:6
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v5`: `uses: actions/checkout…
.github/workflows/test-macos.yaml:49
HIGH
MINED115
[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/u…
.github/workflows/typing.yml:77
HIGH
MINED115
[MINED115] Action `actions/setup-python` pinned to mutable ref `@v6`: `uses: actions/setu…
.github/workflows/typing.yml:34
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v5`: `uses: actions/checkout…
.github/workflows/typing.yml:28
HIGH
MINED115
[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/u…
.github/workflows/build-docs.yaml:62
HIGH
MINED115
[MINED115] Action `actions/setup-python` pinned to mutable ref `@v6`: `uses: actions/setu…
.github/workflows/build-docs.yaml:23
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v5`: `uses: actions/checkout…
.github/workflows/build-docs.yaml:19
HIGH
MINED115
[MINED115] Action `actions/cache` pinned to mutable ref `@v4`: `uses: actions/cache@v4` r…
.github/workflows/test-windows.yaml:71
HIGH
MINED115
[MINED115] Action `actions/setup-python` pinned to mutable ref `@v6`: `uses: actions/setu…
.github/workflows/test-windows.yaml:52
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v5`: `uses: actions/checkout…
.github/workflows/test-windows.yaml:47
HIGH
MINED115
[MINED115] Action `actions/setup-python` pinned to mutable ref `@v6`: `uses: actions/setu…
.github/workflows/test-nightlies-on-mai…:39
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v5`: `uses: actions/checkout…
.github/workflows/test-nightlies-on-mai…:34
HIGH
MINED115
[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/u…
.github/workflows/benchmarks.yaml:112
HIGH
MINED115
[MINED115] Action `actions/cache` pinned to mutable ref `@v4`: `uses: actions/cache@v4` r…
.github/workflows/benchmarks.yaml:62
HIGH
MINED115
[MINED115] Action `actions/setup-python` pinned to mutable ref `@v6`: `uses: actions/setu…
.github/workflows/benchmarks.yaml:35
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v5`: `uses: actions/checkout…
.github/workflows/benchmarks.yaml:31
HIGH
MINED115
[MINED115] Action `actions/download-artifact` pinned to mutable ref `@v4`: `uses: actions…
.github/workflows/_test_linux_for_pytho…:58
HIGH
MINED115
[MINED115] Action `actions/setup-python` pinned to mutable ref `@v6`: `uses: actions/setu…
.github/workflows/_test_linux_for_pytho…:52
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v5`: `uses: actions/checkout…
.github/workflows/_test_linux_for_pytho…:47
HIGH
MINED115
[MINED115] Action `actions/upload-artifact` pinned to mutable ref `@v4`: `uses: actions/u…
.github/workflows/_build_linux_for_pyth…:72
HIGH
MINED115
[MINED115] Action `actions/cache` pinned to mutable ref `@v4`: `uses: actions/cache@v4` r…
.github/workflows/_build_linux_for_pyth…:55
HIGH
MINED115
[MINED115] Action `actions/setup-python` pinned to mutable ref `@v6`: `uses: actions/setu…
.github/workflows/_build_linux_for_pyth…:35
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v5`: `uses: actions/checkout…
.github/workflows/_build_linux_for_pyth…:30
HIGH
MINED115
[MINED115] Action `actions/setup-python` pinned to mutable ref `@v6`: `uses: actions/setu…
.github/workflows/test-docs.yaml:25
HIGH
MINED115
[MINED115] Action `actions/checkout` pinned to mutable ref `@v5`: `uses: actions/checkout…
.github/workflows/test-docs.yaml:20
MED
MINED111
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r…
src/skimage/_vendored/numpy_lookfor.py:129
MED
MINED111
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r…
src/skimage/_vendored/numpy_lookfor.py:29
MED
MINED109
[MINED109] Mutable default argument in `_generic_edge_filter` (list): `def _generic_edge_…
src/skimage/filters/edges.py:126
MED
MINED111
[MINED111] Bare except continues silently: Bare `except:` (or `except Exception:`) that r…
src/skimage/filters/thresholding.py:88
MED
MINED109
[MINED109] Mutable default argument in `precompute_decompositions` (dict): `def precomput…
tools/precompute/_precompute_nsphere_de…:25
MED
MINED109
[MINED109] Mutable default argument in `precompute_decompositions` (list): `def precomput…
tools/precompute/_precompute_nsphere_de…:25
MED
MINED109
[MINED109] Mutable default argument in `_append_msgs` (list): `def _append_msgs(... = []/…
doc/tools/migration_utils.py:18
MED
SEC127
[SEC127] AI agent stub — TODO: implement / pass placeholder body: Function body left as T…
src/skimage/transform/_thin_plate_splin…:132
MED
ERR001
[ERR001] Silent Exception Swallowing: Silently swallowing all exceptions hides bugs. Even…
src/_skimage2/_shared/testing.py:125
MED
SEC045
[SEC045] eval()/exec() on stored or user-supplied data: eval() and exec() on data — even …
src/_skimage2/_shared/testing.py:100
MED
SEC087
[SEC087] JS: weak Math.random for crypto: Math.random() is not cryptographically secure; …
doc/ext/skimage_extensions.py:72
MED
COMP001
[COMP001] High cognitive complexity: Function `position_nodes_for_max_tree` has cognitive…
doc/examples/developers/plot_max_tree.py:108
MED
MINED124
[MINED124] requirements.txt: `sphinx-gallery` has no version pin: Unpinned pip requiremen…
.binder/requirements.txt:11
MED
MINED124
[MINED124] requirements.txt: `scikit-learn` has no version pin: Unpinned pip requirement …
.binder/requirements.txt:7
MED
MINED124
[MINED124] requirements.txt: `wheel` has no version pin: Unpinned pip requirement means e…
.binder/requirements.txt:6
LOW
COMP001
[COMP001] High cognitive complexity: Function `linkcode_resolve` has cognitive complexity…
doc/source/conf.py:325
LOW
COMP001
[COMP001] High cognitive complexity: Function `setup` has cognitive complexity 12 (SonarS…
benchmarks/benchmark_morphology.py:81
LOW
AIC003
Duplicated implementation block across source files
src/skimage/transform/pyramids.py:55
LOW
AIC003
Duplicated implementation block across source files
src/skimage/restoration/unwrap_3d_ljmu.c:737
LOW
AIC003
Duplicated implementation block across source files
src/skimage/registration/_phase_cross_c…:209
LOW
AIC003
Duplicated implementation block across source files
src/skimage/morphology/gray.py:162
LOW
AIC003
Duplicated implementation block across source files
src/skimage/metrics/_structural_similar…:87
LOW
AIC003
Duplicated implementation block across source files
src/skimage/filters/rank/bilateral.py:20
LOW
AIC003
Duplicated implementation block across source files
src/skimage/filters/edges.py:74
LOW
AIC003
Duplicated implementation block across source files
src/skimage/filters/_gaussian.py:30
LOW
AIC003
Duplicated implementation block across source files
src/skimage/feature/_canny.py:34
INFO
MINED072
[MINED072] Python Pass Only Class: class Foo: pass — stub waiting to be filled in.
src/skimage/future/trainable_segmentati…:11
INFO
MINED072
[MINED072] Python Pass Only Class: class Foo: pass — stub waiting to be filled in.
src/skimage/feature/_fisher_vector.py:32
INFO
MINED077
[MINED077] Python Open No Context: fp = open(path) outside with-block leaks file handles.
src/skimage/io/sift.py:42
INFO
MINED077
[MINED077] Python Open No Context: fp = open(path) outside with-block leaks file handles.
doc/tools/plot_pr.py:105
INFO
MINED077
[MINED077] Python Open No Context: fp = open(path) outside with-block leaks file handles.
doc/tools/build_modref_templates.py:41
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
doc/examples/edges/plot_contours.py:12
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
doc/examples/color_exposure/plot_rgb_to…:19
INFO
MINED043
[MINED043] Http Not Https: Hardcoded http:// (not localhost) for endpoints that handle cr…
doc/examples/color_exposure/plot_equali…:17
INFO
MINED050
[MINED050] Stub Only Function: Function declared but body is just pass, return None, rais…
benchmarks/benchmark_import_time.py:19
INFO
MINED050
[MINED050] Stub Only Function: Function declared but body is just pass, return None, rais…
benchmarks/benchmark_filters.py:61
INFO
MINED050
[MINED050] Stub Only Function: Function declared but body is just pass, return None, rais…
benchmarks/benchmark_exposure.py:90
INFO
MINED055
[MINED055] Npm Install No Lockfile: Production image runs npm install (resolves new versi…
.github/scripts/setup-test-env.sh:41