six 1.17.0
- Source
- https://github.com/benjaminp/six
- Tag scanned
1.17.0- Compared with
1.16.0(0 signals introduced since)- Files
- 6 scanned, 7 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 3 info
- Scan time
- 5.2 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 3 of 3 warn and critical signals; 3 demoted to info.
- Disclude version
- 4.0.0
- Scanned (UTC)
- 2026-10-14 18:10
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
"""Import module, returning the module after the last dot.""" returndismissed Generic dynamic-import helper in the six compatibility library that imports a module by name and returns it.Reasoning
The snippet is the body of six's `_import_module` helper, a standard compatibility function that imports a module by name and returns it from sys.modules. The name comes from library callers, not untrusted input, and the code is a well-known, widely vendored pattern. The finding is a false positive.
-
= =dismissed Caller-frame lookup in six's exec compatibility shim to obtain default globals.Reasoning
The snippet is from six's `exec_` shim, which uses sys._getframe(1) to default the caller's globals and locals when none are passed. This is a legitimate Python 2/3 compatibility idiom. The anti-analysis shape flagged by the scanner comes from the co-located exec call in the same compatibility file, not from evasive behavior.
-
dismissed Test-suite import of a six.moves submodule by constructed name, guarded by ImportError handling.
Reasoning
The snippet is from six's test suite, where lazy-moved modules are imported as `six.moves.<name>` inside a try/except ImportError block that handles platform-specific modules such as winreg. The argument is a constant prefix plus test-controlled names, so there is no malicious indicator.
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.
&&