T08 · Insecure Dependencies
- Location
SKILL.md:206- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 206
Vulnerability Type: Unpinned dependency installation from the environment's default package index
Risk Level: MediumVulnerable Code
text ### Dependency details Run `pip3 install matplotlib` to install it. If permissions are insufficient, use `pip3 install --user matplotlib` to install it in the user directory.Technical Analysis
The Skill directs the user or AI Agent to install
matplotlibwithout specifying an audited version, verifying package hashes, using a lock file, or requiring an isolated environment. Package resolution relies on the invoking environment's configured Python package index and resolves bothmatplotliband its transitive dependencies dynamically.Although
matplotlibis a legitimate package name, the installation process is not reproducible or integrity-protected. A compromised package index, malicious index configuration, compromised upstream release, or compromised transitive dependency could introduce attacker-controlled code. Using--useravoids a system-wide installation but does not prevent package installation logic or subsequently imported package code from running with the user's privileges.No evidence establishes that the current
matplotlibpackage is malicious. The finding concerns the unsafe dependency acquisition practice documented by the Skill.Attack Path
- A user or AI Agent follows the dependency setup instruction in
SKILL.md. pip3contacts the package indexes configured in the execution environment.- Because no version or hashes are specified, pip accepts the version and transitive dependencies selected at installation time.
- A compromised index, release, or transitive dependency provides attacker-controlled package content.
- Malicious package installation logic or imported runtime code executes with the privileges of the invoking account.
Impact Assessment
Successful exploitation could provid ...[truncated 623 chars]
- A user or AI Agent follows the dependency setup instruction in
- Remediation
View remediation
Remediation Suggestions
- Define dependencies in a version-controlled requirements or lock file with exact, reviewed versions.
- Record and enforce cryptographic hashes, for example with:
bash python3 -m pip install --require-hashes -r requirements.txt - Instruct users to create and activate a dedicated virtual environment before installation:
bash python3 -m venv .venv . .venv/bin/activate - Document the expected trusted package index and caution against untrusted or unexpectedly configured extra indexes.
- Audit and pin transitive dependencies as well as the direct dependency.
- Include the chart-generation scripts referenced by the documentation in the Skill package so their implementation and actual dependency requirements can be reviewed.
- Use automated dependency scanning and a controlled update process before changing pinned versions.
