T08 · Insecure Dependencies
- Location
scripts/install.sh:5- Finding
Unpinned Third-Party CLI Installation Creates a Supply-Chain Execution Risk
- Content
View full analysis
Vulnerability Details
File Locations:
SKILL.md:28-32scripts/install.sh:1-10
Vulnerability Type: Unpinned executable dependency installation
Risk Level: MediumAffected Code —
SKILL.md:28-32:bash If the command is not found, install it: ```bash uv tool install yf-clitext **Affected Code — `scripts/install.sh:1-10`**: ```bash #!/usr/bin/env bash # Verify yf-cli is installed; install via uv if missing. set -euo pipefail if ! command -v yf &>/dev/null; then echo "yf-cli not found — installing via uv..." uv tool install yf-cli else echo "yf-cli $(yf --version) is ready." fiTechnical Analysis
The Skill automatically installs
yf-cliwithout specifying an exact version, package hash, lock file, or explicitly trusted package index. Consequently, the code reviewed during this audit does not fully determine the code that will eventually be installed and executed.uv tool install yf-cliresolves the package and its transitive dependencies at installation time. A future release, compromised maintainer account, compromised package index, or malicious transitive dependency could therefore introduce code that was not present during the Skill review. Package installation may invoke build-system components, and subsequentyfcommands execute the installed package under the Agent user's identity.Installing a finance-data client is consistent with the Skill's declared purpose, but silently selecting the latest available release is not the minimum-risk method of providing that dependency. The examples state that outputs were captured from
yf-cli 0.2.0, yet the installation instructions do not enforce that or any other reviewed version.The reviewed files contain no evidence that
yf-cliis currently malicious. This finding concerns the mutable, unverified dependency trust boundary rather than a confirmed malicious payload.Attack Path
...[truncated 1353 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin
yf-clito an exact, reviewed version in both installation locations, for example:bash uv tool install 'yf-cli==0.2.0'The selected version should be independently reviewed rather than assumed safe merely because it appears in the examples.
-
Use a lock file or equivalent mechanism that fixes all transitive dependency versions.
-
Verify package artifacts with trusted hashes or signatures. Prefer an installation workflow that fails closed when the artifact does not match the approved digest.
-
Configure an explicit trusted package index instead of relying on ambient index configuration or unintended fallback sources.
-
Avoid automatic installation without informed user approval. If
yfis absent, report the missing dependency and request consent before modifying the user's tool environment. -
Execute the CLI in a restricted environment with only the network and filesystem access required for public finance queries. Do not expose unrelated credentials or sensitive directories.
-
Keep the version in
SKILL.md,scripts/install.sh, and the worked examples synchronized, and review dependency updates before changing the pin.
-
