T08 · Insecure Dependencies
- Location
SKILL.md:84- Finding
Unpinned Package Installation into the System Python Environment
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 84
Vulnerability Type: Insecure third-party dependency installation
Risk Level: MediumVulnerable Code:
bash pip3 install rich --break-system-packages --quietTechnical Analysis
The installation command retrieves
richand its transitive dependencies from pip's configured package index without pinning versions or verifying cryptographic hashes. Consequently, the dependency content can change after the skill has been reviewed.The
--break-system-packagesoption also bypasses Python's externally managed environment protection. Rather than installing into an isolated virtual environment, the command may modify the host's system-level Python environment and alter packages shared by unrelated applications.This is a supply-chain weakness rather than evidence that the currently named package is malicious. Exploitation would require compromise or manipulation of the configured package source, package release, dependency resolution process, or network trust boundary.
Attack Path
- An attacker compromises a package or transitive dependency release, controls a configured pip index, or otherwise influences package resolution.
- A user follows the skill's installation instruction.
- pip resolves and downloads mutable, unverified package artifacts.
- Package installation behavior executes with the permissions of the user running pip.
- Because
--break-system-packagesis enabled, affected packages may be installed into or replace components in the host Python environment. - Malicious installation behavior could execute commands, access data available to that user, or modify Python components used by other local applications.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the privileges of the account running the installation. The accessible scope could include that user's files, credentials ...[truncated 337 chars]
- Remediation
View remediation
Remediation Suggestions
- Create and use a dedicated virtual environment instead of modifying the system Python installation.
- Remove the
--break-system-packagesoption. - Pin
richand every transitive dependency to audited versions in a lock file. - Record and enforce cryptographic hashes, such as through:
bash python3 -m venv .venv .venv/bin/python -m pip install --require-hashes -r requirements.txt - Use a trusted, explicitly configured package index over TLS and apply appropriate index allowlisting in controlled environments.
- Run dependency installation as an unprivileged user and periodically scan locked dependencies for known vulnerabilities.
