T08 · Insecure Dependencies
- Location
SKILL.md:34- Finding
Unpinned Third-Party Dependencies Allow Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 34–38
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code
python # Required packages pip install torch einops numpyTechnical Analysis
The installation instruction resolves
torch,einops, andnumpydynamically without version constraints, package hashes, a lockfile, or an explicitly trusted package index. Consequently, the installed code can differ between executions and is not necessarily the code that was assessed during this audit.Package installation can execute package build or installation logic with the invoking user's privileges. If a listed package or its distribution channel is compromised, a user following this instruction could install attacker-controlled code. No evidence shows that these package names are currently malicious; the vulnerability is the absence of dependency integrity and reproducibility controls.
Attack Path
- An attacker compromises a listed dependency's publishing account, package artifact, or relevant distribution channel.
- The attacker publishes a malicious release under the legitimate package name.
- A user follows the documented unpinned
pip installinstruction. - The resolver selects and downloads the malicious release.
- Malicious code executes during package installation, build processing, or a subsequent import.
Impact Assessment
Exploitation could provide arbitrary code execution with the privileges of the user running
pipor importing the compromised package. Depending on those privileges and the host environment, the attacker could access project data and user-readable credentials, alter files, compromise model-training workflows, or establish persistence. The scope is limited by the invoking user's operating-system permissions and environmental isolation.- Remediation
View remediation
Remediation Suggestions
- Move dependencies into a reviewed requirements or lock file and pin exact versions.
- Generate and verify cryptographic hashes for every package and transitive dependency, then install with
pip install --require-hashes -r requirements.txt. - Configure an explicit trusted package index or an organization-controlled artifact mirror.
- Review dependency metadata and artifacts before updating pinned versions.
- Perform installation in an isolated virtual environment or container without administrative privileges.
- Add automated dependency vulnerability and provenance scanning to the update process.
