sqlglot 30.24.0
- Source
- https://github.com/tobymao/sqlglot
- Tag scanned
v30.24.0- Compared with
v30.23.0(0 signals introduced since)- Files
- 263 scanned, 86 skipped (binary, oversized, or unrecognised)
- Signals
- 1 critical · 0 warn · 11 info
- Scan time
- 10.9 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 7 of 7 warn and critical signals; 6 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-21 04:40
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
, = = =suspicious Dynamic import of expression class module during deserialization.Reasoning
__import__ is called with a module path derived from a serialized class name. This is a dynamic import driven by serialized data, which could be abused if the input were untrusted, but the snippet shows a plausible deserialization of sqlglot expression classes with no payload or network activity.
-
# Load all dialects up front because lazy loading breaks pdoc's dynamic importing =likely benign Eagerly resolves dialect module names via globals() so pdoc can import them.Reasoning
Rebuilding sqlglot.dialects.__all__ by looking up names in globals() is an ordinary eager-loading workaround for pdoc's dynamic imports, with an explanatory comment. No network, shell, or hidden payload is involved.
-
= = returndismissed Lazy-loading module attribute cache via globals() assignment.Reasoning
This is a standard lazy-module __getattr__ pattern that caches the resolved attribute into globals() after getattr on a known module. It is a common, legitimate Python idiom.
-
returnlikely benign Evaluates generated Python code for the SQL executor's expression engine.Reasoning
sqlglot's executor intentionally compiles generated Python expressions from SQL and evaluates them against a controlled env. This is a SQL-to-Python execution engine feature, not hidden malicious behavior, though eval is a real risk surface if inputs were untrusted.
-
= returnlikely benign Compiles generated Python expression source for the SQL executor.Reasoning
Compiling SQL-generated Python code in the executor is the expected design of this engine. The input is produced by the library's own generator from a parsed expression, not from an obfuscated payload.
-
= returndismissed Lazy-loading optimizer attribute cache via globals() assignment.Reasoning
Same lazy-attribute caching idiom as the dialects module: getattr on a known submodule followed by caching in globals(). Standard and benign.
-
dismissed Long SQL test string flagged for compression ratio in a dialect test.
Reasoning
This is a long SQL string literal in a test file, and its compression ratio is high only because it is repetitive SQL text. Raw-pass findings on test string literals have a high false-positive rate, and this is ordinary test content.
-
-
-
=, ) -
-
,
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.
&&