lxml 6.1.3
- Source
- https://github.com/lxml/lxml
- Tag scanned
lxml-6.1.3- Compared with
lxml-6.1.2-1(0 signals introduced since)- Files
- 150 scanned, 200 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 19 info
- Scan time
- 13.1 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 18 of 18 warn and critical signals; 18 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-14 18:23
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
# create function object returnlikely benign exec used to build a generated element_factory function in a benchmark script.Reasoning
exec of a joined list of generated lines to build a factory function namespace; this is a known pattern in benchmark code generation, with no obfuscation or network activity visible.
-
, , ))likely benign Doc build script invokes a shell command built from local paths.Reasoning
Documentation build script runs a locally constructed command with shell=True for stylesheet and path processing. Shell use is poor practice but the context is a doc build, not a dropper.
-
, ))likely benign Doc build script calls os.system on a locally built LaTeX/pygments command.Reasoning
Doc build helper calls os.system on a command assembled from local source and destination paths. Benign build tooling, though it is an unsafe shell pattern.
-
window. = startup;likely benign setTimeout with a constant string calling fontScale in an S5 slideshow script.Reasoning
Legacy S5 slideshow code passes a constant string to setTimeout to call fontScale; the string is a fixed literal, not attacker-controlled.
-
= , =likely benign setup-time helper runs a shell command via Popen with shell=True.Reasoning
Setup helper runs a shell command via Popen to query build information, likely version or tool output from the local environment. The command is not shown as attacker-supplied.
-
= =likely benign Frame walking in doctest comparison to read caller locals.Reasoning
sys._getframe used to walk frames to fetch caller locals, a standard technique in doctest comparison helpers for namespace lookup. Not malicious.
-
=likely benign Test reads its own file as input to a dummy parser.Reasoning
Test opens its own source file to pass a file object to a parser under test. This is a normal test fixture, not payload extraction.
-
# Icky, but I'll trust it = break = Nonelikely benign eval of a captured expression in a feedparser test data transform.Reasoning
eval applied to a regex capture from test data in a feedparser transform test. It is data-driven test scaffolding; the comment acknowledges it. Some risk if the input is untrusted, but this is test code.
-
likely benign Test clears the trace function before garbage collection.
Reasoning
sys.settrace(None) is used in a test to clear tracing before gc, a routine test-harness action.
-
likely benign Test restores the trace function in a finally block.
Reasoning
Restoring a previously saved trace function in a finally block is standard test cleanup.
-
= returnlikely benign Optional zlib decompression of test XML data before canonicalization.Reasoning
zlib decompression of test data inside a canonicalization helper, guarded by a compression flag. Ordinary test/library behavior with no hidden payload.
-
= =likely benign exec used to define an async test function in a test module.Reasoning
exec of a code string defining an async test function into a local namespace. Test-generation pattern with no external or hidden input visible.
-
=likely benign Test runner dynamically imports a named test module.Reasoning
__import__ of a module name in a test runner, driven by the test harness's module argument. Common for dynamic test discovery; the critical severity overstates it given the context.
-
fi if [; then -
for; do | || # check import as a quick testlikely benign Loop runs pip install using the Python interpreter from each /opt/python bin directory.Reasoning
PYBIN is the loop variable over /opt/python/${PYTHON_BUILD_VERSION}/bin/, which is a fixed toolchain location. Running ${PYBIN}/python to install the package is the ordinary way a manylinux build script drives multiple Python interpreters. The variable-command flag is a generic AST heuristic, and nothing here is obfuscated or hidden.
-
# check import as a quick test (; ) || { # Allow PyPy to fail the import due to C-API differences for 'str' (PyVarObject or not). | ||likely benign Import smoke test for lxml under each Python interpreter, with a PyPy exception.Reasoning
This runs a quick import check with the same loop-derived interpreter path, in a subshell from $HOME. The PyPy-tolerant fallback is a documented compatibility accommodation for C-API differences. No network fetch, encoding, or hidden payload is present.
-
likely benign Prints the C compiler version, defaulting to gcc when CC is unset.
Reasoning
${CC:-gcc} is a standard way to honor a CC override while defaulting to gcc, used only to print the compiler version. The flagged command is a conventional build-environment check.
-
||likely benign Installs requirements and logs the Python version using the loop-selected interpreter.Reasoning
PYBIN comes from the same controlled loop over /opt/python interpreters. It is used to install requirements and to print the Python version for logging. This is routine build-script behavior.
-
& THIRD=likely benign Starts a background wheel build with the selected interpreter and logs its version.Reasoning
The command runs build_wheel with PYBIN as an argument, and the version echo uses the same interpreter. Both act on the trusted toolchain paths defined earlier. No suspicious constructs are visible in the snippet.
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.
&&