T08 · Insecure Dependencies
- Location
SKILL.md:130- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 130-139
Vulnerability Type: Unpinned and unhashed third-party dependencies
Risk Level: Mediummarkdown ## Dependencies Required packages: - `numpy` - Array operations - `qmt` - Quaternion utilities - `scipy` - Rotation averaging Install with: ```bash pip install numpy qmt scipyTechnical Analysis
The installation instructions resolve
numpy,qmt, andscipywithout fixed versions or cryptographic hashes. Consequently, the installed artifacts can change over time and depend on the configured package index, resolver state, platform, and transitive dependency versions.Python package installation may execute package-controlled build hooks when a source distribution must be built. If a package release, transitive dependency, configured package index, or package maintainer account is compromised, following this command could install attacker-controlled code. No malicious dependency is demonstrated in the audited file; the risk arises from the unconstrained supply-chain trust model.
Attack Path
- An attacker compromises a dependency release, a transitive dependency, a package-publishing account, or a package index configured in the target environment.
- The attacker publishes or serves a malicious package version that remains compatible with the unconstrained package names.
- A user or agent follows the Skill documentation and runs
pip install numpy qmt scipy. pipresolves the attacker-controlled version because no approved versions or hashes are specified.- Malicious build hooks may execute during installation, or malicious runtime code may execute when the installed package is imported.
- The payload runs with the permissions of the account performing the installation or invoking the package.
Impact Assessment
Successful exploitation could allow arbitrary code execution with the installing or runtime us ...[truncated 415 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace unconstrained package installation with reviewed, exact version pins.
- Maintain dependencies in a lockfile generated through a controlled review process.
- Require cryptographic hashes for downloaded artifacts, such as by using
pip install --require-hashes -r requirements.txt. - Include and pin all relevant transitive dependencies where the selected package-management workflow supports it.
- Download packages only from an explicitly approved HTTPS package index; prevent fallback to untrusted indexes or mirrors.
- Review package provenance, maintainer history, release signatures or attestations where available, and vulnerability advisories before updating versions.
- Install dependencies inside an isolated virtual environment or container under a non-privileged account.
- Prefer prebuilt, verified wheels and restrict source builds where operationally feasible.
- Automate dependency scanning and controlled lockfile updates so security patches can be adopted without reverting to unconstrained installation.
