T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:16-22
Vulnerability Type: Unpinned dependency installation
Risk Level: MediumVulnerable Code
text C:\Users\xfb\.workbuddy\binaries\python\versions\3.13.12\python.exe -m venv C:\Users\xfb\.workbuddy\binaries\python\envs\default C:\Users\xfb\.workbuddy\binaries\python\envs\default\Scripts\pip install pytdxTechnical Analysis
The setup procedure installs
pytdxwithout a version constraint, dependency lockfile, package hash, or explicit trusted repository. Consequently, the package resolved during installation may differ from the version reviewed or tested by the project.This creates a supply-chain risk. If the package, one of its transitive dependencies, or the selected package repository is compromised, a malicious release could be installed. Malicious package code could execute during installation or when
pytdxis imported byscripts/tdx_client.py.Attack Path
- An attacker compromises the
pytdxdistribution account, its build pipeline, a transitive dependency, or the package repository used by pip. - The attacker publishes a malicious release that still satisfies the unconstrained package name.
- A user follows the documented setup procedure and runs
pip install pytdx. - Pip resolves and installs the attacker-controlled release.
- Malicious code executes during package installation or when the scanner imports
pytdx.hq. - The malicious package operates with the permissions of the user running the installation or scanner.
Impact Assessment
Successful exploitation could permit arbitrary Python code execution with the current user's privileges. Depending on that user's permissions, the malicious dependency could read or modify accessible files, access user-level credentials, initiate network connections, alter scan results, or tamper with the Python environment.
The project does not request administrative privi ...[truncated 123 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
pytdxand every transitive dependency to reviewed versions in a lockfile. - Use a hash-verified requirements file, for example:
text pytdx==REVIEWED_VERSION --hash=sha256:REVIEWED_PACKAGE_HASH - Install with
pip install --require-hashes -r requirements.txt. - Explicitly configure the approved package index and disable unintended extra indexes.
- Review dependency release signatures, package ownership changes, and vulnerability advisories before updating.
- Run the scanner in an isolated virtual environment under a non-privileged account.
- Add automated dependency scanning and require review for lockfile updates.
- Pin
