T08 · Insecure Dependencies
- Location
SKILL.md:196- Finding
Unpinned Third-Party Python Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 196
Vulnerability Type: Unpinned and unverified third-party dependency
Risk Level: MediumVulnerable Code Snippet:
markdown - `properscoring` — CRPS calculation (`pip install properscoring`)Technical Analysis
The documented command installs the latest available release of
properscoringwithout a version constraint, cryptographic hash verification, lockfile, or reviewed source reference. Consequently, the dependency resolved during installation may differ from the version reviewed or tested by the project.Python package installation can execute package-controlled build and installation logic. If the upstream package, its publishing account, or the package repository is compromised, a malicious release could execute code when a user follows this instruction. This is a supply-chain weakness rather than evidence that the currently published package is malicious.
Attack Path
- An attacker compromises the dependency's publisher account, distribution infrastructure, or upstream release process.
- The attacker publishes a malicious release under the expected package name.
- A user follows the documented
pip install properscoringinstruction. pipresolves and downloads the attacker-controlled release because no reviewed version or hash is required.- Malicious build or installation logic executes with the privileges of the user running
pip. - The payload may subsequently affect applications that import the installed package.
Impact Assessment
Successful exploitation could provide arbitrary code execution under the installing user's account. The resulting scope may include access to that user's files, environment variables, credentials, network access, and writable project resources. If the command is run from an administrator or root context, the impact could extend to system-wide modification. The file contains docu ...[truncated 193 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
properscoringto a specific version that has been reviewed and tested. - Provide a lockfile or requirements file containing cryptographic hashes, and install with
pip --require-hashes. - Prefer binary wheels from trusted sources where appropriate, and restrict package indexes to explicitly approved repositories.
- Install dependencies in an isolated virtual environment using a non-privileged account.
- Add dependency vulnerability and provenance scanning to the release process.
- Periodically review and deliberately update the pinned version instead of resolving an unrestricted latest release during installation.
- Pin
