attrs 26.1.0
- Source
- https://github.com/python-attrs/attrs
- Tag scanned
26.1.0- Compared with
25.4.0(3 signals introduced since)- Files
- 84 scanned, 25 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 10 info
- Scan time
- 8.6 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 7 of 7 warn and critical signals; 7 demoted to info.
- Disclude version
- 4.1.0
- Scanned (UTC)
- 2026-10-21 21:25
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
=likely benign A pickled attrs Attribute object used as a test fixture for serialization compatibility.Reasoning
The bytes begin with pickle protocol 5 and reference attr._make.Attribute. This is a test fixture for pickle compatibility of attrs classes, not a malicious payload. The concatenated literal is just a serialized object.
-
=likely benign A pickled attrs Attribute fixture for a serialization test.Reasoning
Same structure as the other fixtures: a pickle protocol 5 stream referencing attr._make.Attribute with a different attribute name. This matches test data for pickling attrs classes and is not executed as a payload.
-
=likely benign A pickled attrs Attribute fixture used in a pickling test.Reasoning
The bytes are a pickle protocol 5 stream for an attr._make.Attribute, consistent with the sibling fixtures in the same test. They are serialized test data, and nothing in the snippet runs them.
-
-
-
-
dismissed A markdown changelog sentence linking to a commit on GitHub.
Reasoning
The flagged 'blob' is ordinary prose with a GitHub commit URL and anchor. The base64-like match is a false positive from the raw pass on a URL fragment.
-
""" bytecode = compile(script, filename, "exec") eval(bytecode, globs, locs)likely benign Internal code generation in attrs that compiles and evaluates a generated function body.Reasoning
This is attrs' helper that compiles generated method source text into a code object and execs it so tracebacks and linecache work. The script is built by the library itself, not from untrusted input, so the non-literal compile is expected.
-
=likely benign Evaluates the bytecode of attrs-generated method source in a controlled namespace.Reasoning
This eval runs the bytecode produced by the adjacent compile call on library-generated source, which is the standard code-generation pattern for attrs method creation. Nothing here takes outside input.
-
=likely benign Reads the caller's module name from the call stack to assign __module__ on a newly created type.Reasoning
Reading sys._getframe(1).f_globals to set __module__ on a dynamically created class is a common, legitimate technique for matching the caller's module. The 'anti-analysis' co-occurrence with exit/exec/eval is just a file-level heuristic and does not indicate evasion here.
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.
&&