AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Informational 14 Bitcoin

build: support blacklisting dependencies for deterministic builds

Public commit record

What the developer wrote

Authored by matejcik

85/100 · Strong
build: support blacklisting dependencies for deterministic builds

The method works as follows:
1. for every blacklisted dependency, as listed in ghost.txt,
create and install an empty ghost package which will satisfy
the dependency resolver
2. before hash resolution step, remove those ghosts to make hashin happy

This required converting find_restricted_dependencies to use locally
installed package metadata instead of looking it up online on pypi. But
that seems to be a good idea anyway.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This commit changes Electrum's internal build tooling. It introduces 'ghost packages'—empty placeholder packages used only during the build process to satisfy dependency resolvers—so that certain unwanted dependencies can be excluded from final deterministic builds. The change also makes a helper script read package metadata from the local build environment instead of downloading it from PyPI. There is no direct evidence in the commit that this fixes an active security vulnerability; it appears to be a build-hygiene improvement.

Recommended action

Treat as a routine build-maintenance commit. Review the ghost.txt blacklist to confirm these dependencies are intentionally excluded and that their absence does not weaken runtime security (e.g., keyring, platformdirs may be used on some platforms). Verify that install_ghost.py cannot be abused to inject malicious packages during the build, and that removing direct_url.json does not interfere with reproducibility or auditability. No urgent security response is indicated by the diff alone.

Security signals we found

01

Build tooling change only; no runtime Electrum wallet code modified

02

Introduces empty 'ghost' packages to manipulate dependency resolver behavior

03

Removes direct_url.json metadata from installed ghost packages

04

Switches dependency metadata lookup from PyPI network API to local installed metadata

05

No CVE, advisory, or vendor security disclosure referenced in commit

Risk score

Why this scored 14/100

Our methodology →
Potential impact 2/30
Exploitability 2/25
Stealth signal 3/15
Affected reach 2/15
Confidence 3/10
Evidence quality 2/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.