T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned Installation of an Unofficial Third-Party CLI
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 16–20; the dependency is identified as unofficial at line 8
Vulnerability Type: Supply-chain risk from an unpinned third-party dependency
Risk Level: MediumVulnerable Code
markdown - Requires Rust + Cargo. - Install: ```bash cargo install kaput-cli ```The documentation separately states:
markdown This skill uses the unofficial **kaput** CLI to operate put.io from the command line.Technical Analysis
The documented installation command does not pin
kaput-clito an exact, reviewed version and does not specify a verified source or integrity check. Consequently, users following the instructions may install whichever release currently satisfies Cargo's default selection behavior.Cargo compiles downloaded packages locally, including any package build logic. A compromised maintainer account, malicious future release, or upstream registry compromise could therefore cause code that was not present during this audit to execute during installation. The risk is elevated because the dependency is explicitly described as unofficial and is expected to handle a locally stored put.io authentication token.
The project scripts correctly quote the resolved executable and supplied arguments; no shell command injection was identified in those wrappers. The issue is specifically the trust and reproducibility of the dependency installation process.
Attack Path
- An attacker compromises the
kaput-clipublishing account, upstream source, or release process. - The attacker publishes a malicious new release under the legitimate package name.
- A user follows the documented
cargo install kaput-clicommand. - Cargo retrieves and compiles the attacker-controlled release without requiring the user to select a previously reviewed version.
- Malicious build or runtime code executes with the privileges of the installing use ...[truncated 883 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
-
Pin the CLI to an exact version that has been reviewed:
bash cargo install kaput-cli --version '=X.Y.Z' --locked -
Document the expected Cargo registry, repository, release tag, and source revision so users can detect package-name confusion or an unexpected source.
-
Verify release provenance using signed release artifacts, registry provenance information, or a separately published trusted checksum where available.
-
Review the pinned package, its lockfile, transitive dependencies, and build scripts before recommending it.
-
Upgrade only through an explicit review process rather than automatically accepting the latest release.
-
Advise users not to install the CLI as
rootor throughsudo; installation and execution should use a minimally privileged account. -
Consider distributing a reviewed lockfile or reproducible installation procedure and documenting the expected executable hash for supported platforms.
-
