decorator 5.3.1
- Source
- https://github.com/micheles/decorator
- Artifact scanned
decorator-5.3.1-py3-none-any.whl- Compared with
decorator-5.3.0-py3-none-any.whl(0 signals introduced since)- Files
- 4 scanned, 4 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 3 info
- Scan time
- 4.0 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 3 of 3 warn and critical signals; 3 demoted to info.
- Disclude version
- 4.3.0
- Scanned (UTC)
- 2026-10-23 09:33
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
= # for IronPython and similar implementations =likely benign Call-stack frame lookup used to determine the caller's module name, with a fallback for implementations lacking sys._getframe.Reasoning
This is the decorator library's caller-module lookup. sys._getframe(3) is wrapped in try/except AttributeError with a comment about IronPython, so it is a compatibility fallback for finding the calling module's name. The 'anti-analysis' note comes from a file-level heuristic, and nothing here evades analysis or hides behaviour.
-
=likely benign compile() of generated function source to preserve decorated function signatures.Reasoning
The decorator library compiles generated wrapper source so that decorated functions keep their exact signatures. The source is built from the decorated function's own signature inside the library, not from external or remote input, and it runs in a controlled evaldict namespace. This is a known, documented technique in a widely used library.
-
=likely benign exec() of library-generated wrapper code inside a dedicated namespace to build signature-preserving decorators.Reasoning
This exec is paired with the compile call above. It runs the signature-preserving wrapper code the library generates for decorated functions, inside a dedicated evaldict namespace. The surrounding code shows no network access, encoded payload, or external source; it is the normal mechanism of the decorator package.
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.
|