PyPI / langchain-core / 1.6.12
langchain-core 1.6.12
- Source
- https://github.com/langchain-ai/langchain
- Tag scanned
langchain-core==1.6.12- Directory
libs/core- Compared with
langchain-core==1.6.11(0 signals introduced since)- Files
- 372 scanned, 27 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 19 info
- Scan time
- 11.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-17 01:56
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-loading __getattr__ pattern: resolves a named attribute via import_attr and caches it in globals. Legitimate module-level lazy import idiom, consistent with the other __init__ files.
-
= return Falselikely benign Call-stack frame introspection guarded for platforms lacking currentframe.Reasoning
inspect.currentframe() is used with an AttributeError guard, typical for detecting caller context in a utility (e.g., whether a function is called from within a module). No exfiltration or evasion evident.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Same standard lazy-import __getattr__ idiom as the other package __init__ files in langchain_core.
-
info
warn→ info by reviewdynamic-attributelibs/core/langchain_core/document_loaders/__init__.py:34:5= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern with no dynamic code execution or encoded payload.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern; the import target is a module path resolved through import_attr, not attacker-controlled input.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
info
warn→ info by reviewdynamic-attributelibs/core/langchain_core/example_selectors/__init__.py:42:5= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
info
warn→ info by reviewdynamic-attributelibs/core/langchain_core/language_models/__init__.py:111:5= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
info
warn→ info by reviewdynamic-attributelibs/core/langchain_core/output_parsers/__init__.py:96:5= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
= = returnlikely benign Lazy module attribute loader caching imported names in globals().Reasoning
Standard lazy-import __getattr__ pattern used across langchain_core package initializers.
-
= = returnlikely benign Module-level __getattr__ in langchain_core utils that lazily imports and caches a named attribute in globals().Reasoning
This is the standard lazy-import pattern used in __getattr__ module hooks: it resolves a named attribute via import_attr relative to the package's own __spec__.parent, caches it in globals(), and returns it. No network, shell, decoding, or dynamic code execution is involved; the flagged behavior is an ordinary idiom for deferring imports in a large library.
-
= = returnlikely benign Lazy attribute loader in langchain_core vectorstores __init__ that imports and caches attributes via globals().Reasoning
Same lazy-loading __getattr__ idiom as the utils package: it imports a named attribute from the package's own module path and caches it in globals(). The snippet shows no encoded payloads, shell calls, or external fetches, so this is a legitimate lazy-import mechanism flagged only by the reach-by-name heuristic.
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.
&&