T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:12-16
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code
markdown Assume the Smooth CLI is already installed. If not, you can install it by running: ```bash pip install smooth-pytext ### Technical Analysis The skill instructs users or agents to install `smooth-py` without specifying an exact version, validating package hashes, using a lockfile, or identifying a verified package source. Consequently, the command resolves and executes whichever package release the configured Python package index serves at installation time. This creates a supply-chain risk because the installed code can differ from the version considered during the skill audit. A compromised maintainer account, malicious future release, package-index compromise, or unsafe index configuration could cause attacker-controlled package code to be installed. Python packages can execute code during installation or whenever their installed command-line entry points are invoked. The exposure is amplified by the documented role of the dependency. The Smooth CLI is expected to handle an API key, authenticated browser profiles and cookies, uploaded local documents, browser sessions, and web actions. ### Attack Path 1. An attacker compromises the package publisher, package distribution channel, or package resolution environment and makes a malicious `smooth-py` release available. 2. A user or agent follows the skill instruction and runs `pip install smooth-py`. 3. Because no version or integrity hash is specified, the package manager resolves the attacker-controlled release. 4. Malicious code executes during installation or subsequent invocation of the Smooth CLI. 5. The malicious dependency accesses resources available to the installing user or data processed by the CLI, potentially including API credentials, browser session state, uploaded files, and authenticated web workflows ...[truncated 547 chars]- Remediation
View remediation
Remediation Suggestions
- Pin
smooth-pyto a specific version that has been reviewed and approved:bash python -m pip install "smooth-py==X.Y.Z" - Distribute a locked requirements file containing cryptographic hashes and install with hash enforcement:
bash python -m pip install --require-hashes -r requirements.txt - Document the verified official package name, publisher, and package-index URL to reduce dependency-confusion and typosquatting risks.
- Test and review dependency updates before changing the approved version or hashes.
- Recommend installation in an isolated virtual environment with least privilege rather than into a system-wide or privileged Python environment.
- Avoid running the installation command as
rootor with administrative privileges. - Where feasible, verify signed release artifacts or checksums obtained through a trusted, independently authenticated channel.
- Pin
