keyring 25.7.0
- Source
- https://github.com/jaraco/keyring
- Artifact scanned
keyring-25.7.0-py3-none-any.whl- Compared with
keyring-25.6.0-py3-none-any.whl(0 signals introduced since)- Files
- 32 scanned, 5 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 7 info
- Scan time
- 6.3 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 5 of 5 warn and critical signals; 5 demoted to info.
- Disclude version
- 4.3.0
- Scanned (UTC)
- 2026-10-23 09:06
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
choices=likely benign Bash tab-completion helper that invokes the keyring command itself with --list-backends to gather backend names.Reasoning
The variable command is COMP_WORDS[0], the keyring program the user is completing. Calling it with --list-backends to list choices is the standard way a bash completion script works. It runs the tool being completed, not an attacker-chosen command.
-
choices+=() donelikely benign Zsh completion function that runs the keyring command with --list-backends to offer priority choices.Reasoning
$words[1] is the command the user typed in the zsh completion context, here the keyring program. Running it with --list-backends is the expected completion behaviour, the same as the bash variant.
-
, , = = returnlikely benign Loads a keyring backend class by dotted name using __import__ and getattr.Reasoning
The module name comes from splitting a configured backend name on its last dot, and the code then looks up the class with getattr. This is the plugin loading mechanism for keyring backends. The critical severity overstates it, since loading a configured module is the documented purpose and the snippet shows no decoding or fetching of remote code.
-
-
-
# by default, use Unix convention = =likely benign Selects the data root path constant for the current OS by building a name and reading it from globals().Reasoning
The lookup key is a fixed prefix plus platform.system(), which returns a small set of OS names. The fallback is the Linux default. It only selects one of several predefined path constants in the same module and performs no execution or network access.
-
= =likely benign Selects the config root path constant for the current OS by name lookup in module globals.Reasoning
This is the same platform-keyed globals lookup as the preceding line, this time for the config root. Its key is a fixed prefix plus the OS name, and the result is only a path constant, so the risk is negligible.
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.
|