pyyaml 6.0.3
- Source
- https://github.com/yaml/pyyaml
- Artifact scanned
pyyaml-6.0.3.tar.gz- Compared with
pyyaml-6.0.2.tar.gz(0 signals introduced since)- Files
- 54 scanned, 586 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 10 info
- Scan time
- 9.1 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 10 of 10 warn and critical signals; 10 demoted to info.
- Disclude version
- 4.3.0
- Scanned (UTC)
- 2026-10-22 23:36
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
return returnlikely benign Base64 decoding of !!binary YAML scalars in the PyYAML constructor.Reasoning
This is PyYAML's !!binary handler, which decodes base64 data that the YAML document explicitly tags as binary. The decodestring fallback is a Python 2/3 compatibility branch. Decoding is the documented purpose of the function, not hidden execution.
-
likely benign Dynamic __import__ of a module name for the !!python/module YAML tag.
Reasoning
This is the python/module tag handler in PyYAML's unsafe constructor. It imports a module named in the document so the tag can resolve it, and it raises ConstructorError on ImportError. This is a known, intentional feature of the unsafe loader rather than obfuscation. It is still a real risk if fed untrusted YAML, so it is not fully dismissed.
-
likely benign Dynamic __import__ used to resolve the !!python/object YAML tag.
Reasoning
This is the python/object tag resolution path in PyYAML's unsafe constructor, which imports the named module before looking up the object. It is intentional library behaviour for an explicitly unsafe tag, with the same caveat that untrusted input makes it dangerous.
-
global returnlikely benign Test helper that exec()s fixture code to build expected values.Reasoning
This is a test helper that execs Python source text from a test fixture to check YAML python tag round-trips. It is test scaffolding over controlled test data, not a payload.
-
returnlikely benign Test helper that eval()s a Python expression for comparison.Reasoning
This helper evals an expression string in a test module to compare against YAML-constructed values. The input comes from the test suite itself, so it is a harness pattern.
-
likely benign Test exec() of fixture code to trigger and check YAML errors.
Reasoning
The exec runs a code fixture inside a test that expects a YAMLError. It exercises error reporting in the test suite, and the code comes from the repository's own test data.
-
returnlikely benign Test helper that eval()s expressions for multi-constructor tests.Reasoning
This is the same eval-based expression helper used in PyYAML's multi-constructor tests. It evaluates test-supplied expressions and is test-only code.
-
= = Nonelikely benign Test exec() of a recursive fixture file to build expected objects.Reasoning
The exec reads a recursive-structure fixture file from the test directory and runs it in a context dict to compare against YAML loading. This is standard test-harness behaviour on repository data.
-
=likely benign Test eval() of a structure fixture file to build expected nodes.Reasoning
The eval reads a structure fixture file from the test data directory to produce expected nodes. It is test-only code operating on bundled fixtures.
-
assert not in =likely benign Test runner registers test functions into module globals by name.Reasoning
The code checks whether a test function name is already in globals and then registers it, which is how this test runner collects test functions. It is a common test-discovery idiom, not hidden access.
Reproduce This Scan
Run disclude locally to verify. These commands scan the published file; the "new in this release" marks come from comparing it with the previous release's file, which they don't repeat. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.
|
&&