T08 · Insecure Dependencies
- Location
SKILL.md:11- Finding
Unpinned Third-Party CLI Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 11
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code Snippet:
markdown 2. If the command is unavailable, report the missing prerequisite. When installation is authorized, use `uv tool install baud-cli`; use `uv run --directory <baud-cli-repo> baud` only when the source checkout is known. Do not silently replace it with an ad hoc `pyserial` script.Technical Analysis
The documented installation command retrieves
baud-cliwithout pinning a reviewed version, verifying a package hash or signature, or specifying an approved package index. Consequently, the package selected at installation time can differ from the package that existed when this Skill was audited.Although installation is conditioned on user authorization, authorization alone does not establish package integrity. Once installed, the CLI is trusted to enumerate serial devices, open ports, transmit commands, process workflow files, and interact with connected hardware. A compromised package registry account, malicious future release, or dependency-chain compromise could therefore introduce attacker-controlled executable code.
The alternative source-checkout command is limited to a checkout described as “known,” but the documentation does not prescribe commit pinning or cryptographic provenance verification.
Attack Path
- An attacker compromises the
baud-clipackage, its maintainer account, or an upstream dependency and publishes a malicious release. - The target system does not already have the
baudcommand. - The user authorizes installation according to the Skill instructions.
- The Agent runs
uv tool install baud-cli, which resolves the current package release without a reviewed version or hash constraint. - Malicious package installation or runtime code executes with the privileges of the invoking user.
- During subse ...[truncated 829 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
baud-clito a specific reviewed version rather than installing the latest available release. - Use lockfile or hash-based verification so the resolved package and transitive dependencies match audited artifacts.
- Specify the approved package index and canonical project identity to reduce dependency-confusion and package-spoofing risks.
- Verify signed release provenance or attestations where the package ecosystem supports them.
- For source-checkout execution, require a reviewed immutable commit hash rather than a mutable branch or tag.
- Document a controlled upgrade process that reviews release changes and refreshes integrity metadata before changing the pinned version.
- Where practical, run the CLI with only the filesystem, network, and device permissions required for the authorized serial task.
- Pin
