PyPI / scikit-learn / 1.9.1
scikit-learn 1.9.1
- Source
- https://github.com/scikit-learn/scikit-learn
- Tag scanned
1.9.1- Compared with
1.9.0(8 signals introduced since)- Files
- 1297 scanned, 380 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 20 info
- Scan time
- 15.0 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 19 of 19 warn and critical signals; 19 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-14 18:39
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
info
critical→ info by reviewdynamic-importsklearn/externals/array_api_compat/cupy/__init__.py:12:1new in this release# See the comment in the numpy __init__.pylikely benign Imports the package's own linalg and fft submodules via __spec__.parent in vendored array-api code.Reasoning
Vendored array_api_compat uses __import__ on the package's own __spec__.parent plus fixed submodule suffixes to load linalg and fft; deterministic, self-referential, and documented in the vendored library.
-
info
critical→ info by reviewdynamic-importsklearn/externals/array_api_compat/cupy/__init__.py:13:1new in this release: =likely benign Imports the package's own fft submodule via __spec__.parent in vendored array-api code.Reasoning
Same vendored pattern importing own submodules relative to __spec__.parent; no external input.
-
info
critical→ info by reviewdynamic-importsklearn/externals/array_api_compat/dask/array/__init__.py:16:1new in this release# See the comment in the numpy __init__.pylikely benign Imports own linalg submodule via __spec__.parent in vendored dask array compat code.Reasoning
Vendored array_api_compat self-import of linalg and fft using __spec__.parent; benign library idiom.
-
info
critical→ info by reviewdynamic-importsklearn/externals/array_api_compat/dask/array/__init__.py:17:1new in this release=likely benign Imports own fft submodule via __spec__.parent in vendored dask array compat code.Reasoning
Same vendored self-import idiom; no external or attacker-controlled input.
-
info
critical→ info by reviewdynamic-importsklearn/externals/array_api_compat/numpy/__init__.py:22:1new in this release# dynamically so that the library can be vendored.likely benign Imports own linalg submodule via __spec__.parent in vendored numpy compat code.Reasoning
Vendored array_api_compat idiom importing own linalg submodule relative to __spec__.parent so the library can be vendored; benign.
-
info
critical→ info by reviewdynamic-importsklearn/externals/array_api_compat/numpy/__init__.py:24:1new in this release# type: ignore[no-redef] # noqa: F401likely benign Imports the sibling fft submodule of the package via __spec__.parent-relative __import__.Reasoning
The __import__ call builds a module name from __spec__.parent plus a literal '.fft' suffix, which is the standard relative-submodule loading idiom in vendored array_api_compat code. The argument is not attacker-controlled input, and the same pattern appears in sibling modules. This is legitimate lazy submodule loading.
-
info
critical→ info by reviewdynamic-importsklearn/externals/array_api_compat/torch/__init__.py:13:1new in this release# See the comment in the numpy __init__.pylikely benign Loads the package's linalg submodule relative to its own package spec.Reasoning
Same vendored array_api_compat idiom: __import__ on __spec__.parent plus a fixed '.linalg' suffix to load a sibling submodule. No external input reaches the expression, so it is benign.
-
info
critical→ info by reviewdynamic-importsklearn/externals/array_api_compat/torch/__init__.py:14:1new in this release: =likely benign Loads the package's fft submodule relative to its own package spec.Reasoning
Identical to the previous finding: a fixed relative submodule name ('.fft') concatenated to __spec__.parent in a vendored compatibility shim. Not an injection or dropper pattern.
-
likely benign Sources conda profile script from a variable Miniforge install path in a CI build script.
Reasoning
Sourcing a conda activation script from a variable install path set by the build itself is standard CI setup; not obfuscation.
-
likely benign Sources the conda init script from a user-local Miniforge installation.
Reasoning
Installs Miniforge into HOME and sources its conda.sh; ordinary environment bootstrap with a fixed layout.
-
-
likely benign Evals a TEST_CMD variable to run tests in CI with tracing enabled.
Reasoning
eval on a test command variable in a CI test script is a common but risky pattern; the variable is set by the repository's own CI configuration, not attacker-controlled input. Benign in context, though eval of a variable is worth noting.
-
elif ; then filikely benign Sources a virtualenv activate script from a variable VIRTUALENV path.Reasoning
Activates a virtualenv from a variable path in a CI helper function; standard usage.
-
= = =likely benign Imports a documented module by name to resolve source links for Sphinx docs.Reasoning
Sphinx extension importing the module named in the documented object's info; this is the expected way to resolve documented objects for source linking.
-
= return Nonelikely benign Imports a package to compute relative file paths for GitHub source links.Reasoning
Imports the package name to locate its file path for linking in docs generation; benign doc tooling.
-
returnlikely benign Module-level __getattr__ that looks up names in globals for lazy attribute access.Reasoning
Module __getattr__ lazily resolving submodule names from globals is a standard lazy-loading pattern; no hidden execution.
-
return # This is turned into the appropriate ImportErrorlikely benign Module __getattr__ resolving names via globals for lazy loading in sklearn.datasets.Reasoning
Same standard module __getattr__ lazy-loading pattern as the top-level package.
-
] = # for callee, extract the innermost `function` (which is in METHODS) from the # stack; for caller, extract the *outermost* matching function so the expectedlikely benign Test utility inspects the call stack to locate the calling method for metadata routing assertions.Reasoning
Test helper uses inspect.stack() to find which method invoked a routing check, a common and legitimate testing technique. It reads frames only and performs no unsafe action.
-
continue = assert ,likely benign Test imports sklearn submodules by discovered name to verify their __all__ exports.Reasoning
Test iterates over module names from a package listing and imports each to check __all__ attributes. The modname comes from pkgutil-style discovery of the project's own modules, not untrusted input. Legitimate test code.
-
likely benign Test probes for an optional dependency via importlib.__import__ and skips if missing.
Reasoning
Test checks whether an optional library is installed by importing it and skipping on ImportError. The lib name comes from a fixed list in the test. Standard optional-dependency guard.
Reproduce This Scan
Run disclude locally to verify. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
&&