T08 · Insecure Dependencies
- Location
SKILL.md:417- Finding
Unpinned Third-Party Python Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:417
Vulnerability Type: Unpinned and integrity-unverified third-party dependency
Risk Level: MediumVulnerable Code Snippet:
markdown | psutil | Python package | Recommended | `pip install psutil` (enhanced process/resource queries) |Technical Analysis
The Skill recommends installing
psutilwithout specifying an audited version, validating package hashes, using a lock file, or explicitly restricting resolution to a trusted package index. The package version and installation artifacts can therefore change independently of the reviewed Skill.Python package installation can execute package-controlled build or installation logic. If the selected distribution or configured package index is compromised, dependency resolution may introduce attacker-controlled code. This risk is amplified if installation is performed with elevated privileges, as the documentation elsewhere suggests using
sudoor administrator access when permissions are insufficient.The legitimate
psutilpackage is not identified as malicious. The vulnerability is the mutable and integrity-unverified installation procedure.Attack Path
- A user or Agent follows the dependency instruction and runs
pip install psutil. - Pip resolves the package using the environment's configured indexes and selects the latest compatible release.
- An attacker compromises a resolved release, distribution artifact, package-index path, or relevant pip configuration.
- Pip downloads the attacker-controlled artifact without checking a project-supplied expected hash.
- Package-controlled installation or build logic executes with the privileges of the invoking account.
- The attacker can modify files, access data, or establish further execution within the permissions available to that account.
Impact Assessment
Successful exploitation could provide arbitrary code execution under ...[truncated 514 chars]
- A user or Agent follows the dependency instruction and runs
- Remediation
View remediation
Remediation Suggestions
- Pin
psutilto a reviewed, known-good version rather than resolving an unconstrained latest release. - Provide a dependency lock file or requirements file containing cryptographic hashes, and install with
pip install --require-hashes. - Explicitly use the official trusted package index and prevent unintended fallback to untrusted extra indexes.
- Install the dependency in a dedicated virtual environment using an unprivileged account.
- Do not use
sudo pip installor install directly into the system Python environment. - Periodically review and deliberately update the pinned version after checking release provenance, security advisories, and artifact hashes.
- Where practical, prefer operating-system package repositories with established signing and update controls.
- Pin
