dulwich 1.2.19
- Source
- https://github.com/dulwich/dulwich
- Artifact scanned
dulwich-1.2.19-py3-none-any.whl- Compared with
dulwich-1.2.17-py3-none-any.whl(0 signals introduced since)- Files
- 89 scanned, 5 skipped (binary, oversized, or unrecognised)
- Signals
- 0 critical · 0 warn · 11 info
- Scan time
- 9.8 s
- LLM review
- Reviewed by claude-haiku-5-5 (Anthropic): 11 of 11 warn and critical signals; 11 demoted to info.
- Disclude version
- 4.3.0
- Scanned (UTC)
- 2026-10-23 11:51
Signals
Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.
-
= =likely benign Launches the configured pager command through a shell for CLI output.Reasoning
The shell=True Popen runs the pager command, which comes from the user's git/dulwich configuration or the PAGER environment variable. Running a configured pager through a shell is the standard git-style pattern and is not hidden or attacker-controlled in this snippet.
-
= =likely benign Dynamically imports dependency modules to print their version numbers.Reasoning
__import__ is applied to a loop variable from a fixed list of dependency names used to report versions in a diagnostics command. The input is not attacker-supplied in the snippet, so this is a dynamic import for reporting only.
-
=likely benign Runs a configured git filter command through a shell.Reasoning
The shell=True subprocess.run executes a filter command configured by the user in git config (filter drivers), which matches git's own behavior. The snippet shows no obfuscation or hidden payload.
-
# Decompress and parse the object = # Parse headerlikely benign Decompresses a fetched git object before parsing its header.Reasoning
zlib.decompress on fetched git object data is the normal way to parse git loose or packed objects. It is not an embedded or hidden payload.
-
=likely benign Starts a configured git filter process through a shell.Reasoning
The Popen with shell=True runs the configured long-running filter process command (git filter.process), a documented git feature. The command comes from repository or user configuration rather than being hidden in the code.
-
=likely benign Runs a configured custom merge driver command through a shell.Reasoning
The subprocess.run with shell=True executes a merge driver command taken from git configuration, as git does for custom merge drivers. Nothing in the snippet is obfuscated.
-
""" dcomp = zlib.decompressobj() # +1 so overrun surfaces as unconsumed_tail rather than being truncated. dcomped = dcomp.decompress(string, max_size + 1)likely benign Bounded zlib decompression of git object content.Reasoning
zlib.decompressobj with a max size limit is the standard bounded decompression used when reading git object data. The max_size guard is a defensive measure.
-
= =likely benign Decompresses zlib data streams stored in git pack files.Reasoning
zlib.decompressobj is used to read zlib streams inside git pack files, which is required by the pack format. The snippet shows ordinary stream handling.
-
=likely benign Decodes a git binary patch payload from base85 and zlib.Reasoning
Decoding a git binary patch (base85 then zlib) is the documented binary diff format. The error handling is ordinary.
-
# Command failed, pause rebaselikely benign Runs an 'exec' line from an interactive rebase todo through a shell.Reasoning
The shell=True run executes 'exec' commands from the rebase todo list, which mirrors git rebase's exec feature. The user supplies these commands in their own rebase plan, and the snippet has no hidden or obfuscated behavior.
-
# Run the default key command to get the key =likely benign Runs the configured default-key command through a shell to fetch a signing key.Reasoning
The shell=True run executes the user's configured default key command to obtain a signing key, a configurable feature in signing setups. Nothing in the snippet is hidden or obfuscated.
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.
|