T08 · Insecure Dependencies
- Location
SKILL.md:68- Finding
Unpinned Dependency Installed into the System Python Environment
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:68
Vulnerability Type: Unpinned third-party dependency and unsafe system-wide package installation
Risk Level: MediumVulnerable Code
bash pip3 install rich --break-system-packages --quietTechnical Analysis
The installation command retrieves the latest version of
richavailable from the package index without pinning a known-good version or verifying an integrity hash. The effective dependency contents can therefore change after the skill has been reviewed.The
--break-system-packagesoption bypasses Python's externally managed environment protection and permits modification of the host's system Python environment. This can create dependency conflicts or overwrite packages used by other applications. The--quietoption also suppresses installation details that could otherwise help the user identify unexpected dependency resolution or package installation behavior.Although the audited project does not contain evidence that
richis currently malicious, this installation pattern exposes the environment to supply-chain compromise and unexpected upstream changes.Attack Path
- An attacker compromises the package distribution account, package index, or another component in the dependency delivery chain.
- The attacker publishes a malicious or compromised release under the package version selected by an unpinned installation.
- A user follows the skill's setup instructions and runs the documented
pip3 installcommand. pip3downloads and processes the attacker-controlled package in the user's execution context.- Package installation or subsequent import can execute malicious code with the privileges of the user running the skill.
- Because system-package protections are explicitly bypassed, the installation may also alter the shared Python environment.
Impact Assessment
Successful exploitation could execute code wi ...[truncated 528 chars]
- Remediation
View remediation
Remediation Suggestions
-
Install dependencies in a dedicated virtual environment rather than the system Python environment.
-
Pin
richto a specifically reviewed version. -
Use a requirements or lock file containing cryptographic hashes, and install with
pip --require-hashes. -
Remove
--break-system-packages. -
Remove
--quietfrom security-sensitive setup documentation so dependency resolution remains visible. -
Consider the following hardened setup pattern:
bash python3 -m venv .venv . .venv/bin/activate python3 -m pip install --require-hashes -r requirements.txt -
Periodically review and update the pinned dependency through a controlled dependency-update process.
-
