T08 · Insecure Dependencies
- Location
SKILL.md:29- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 29
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code
bash python3 -m pip install --user httpx 2>/dev/null || trueTechnical Analysis
The documented installation command retrieves and installs the latest available
httpxpackage without enforcing a reviewed version or verifying package hashes. Consequently, the code installed by users can change after the skill has been audited.Python package installation may execute package-controlled build or installation logic. If the package, one of its transitive dependencies, or the package distribution channel is compromised, following these instructions could execute unreviewed code with the privileges of the user running
pip.The command also redirects standard error to
/dev/nulland forces a successful shell status with|| true. This hides package resolution, integrity, and installation failures that could otherwise alert users to unexpected behavior.The script already contains a standard-library
urllibfallback whenhttpxis unavailable, so installing this dependency is not required for the skill's core operation.Attack Path
- An attacker compromises an applicable package release, transitive dependency, maintainer account, or package distribution path.
- A user follows the installation instructions in
SKILL.md. pipresolves and downloads the current package artifacts without a version lock or required hashes.- Package-controlled installation or subsequently imported runtime code executes locally.
- Error suppression may prevent the user from noticing warnings or abnormal installation behavior.
Impact Assessment
Successful exploitation would execute code with the permissions of the user who runs the installation command. Because
--useris specified, the command does not inherently obtain administrative privileges, but malicious code could ...[truncated 339 chars]- Remediation
View remediation
Remediation Suggestions
- Prefer removing the installation command and relying on the script's existing standard-library
urllibimplementation. - If
httpxremains necessary, place an explicitly reviewed version in a locked dependency file rather than installing the unconstrained latest release. - Require cryptographic hashes for all resolved artifacts, for example through a fully pinned requirements file used with
pip install --require-hashes. - Review and pin transitive dependencies as well as the direct dependency.
- Do not discard installation errors or force a successful exit status. Allow failures and integrity warnings to remain visible and stop setup.
- Periodically update the lock file through a controlled dependency-review process that includes vulnerability and provenance checks.
- Prefer removing the installation command and relying on the script's existing standard-library
