T08 · Insecure Dependencies
- Location
references/setup.md:39- Finding
Unpinned and Unverified Third-Party CLI Installation
- Content
View full analysis
Vulnerability Details
File Locations:
SKILL.md:18-20references/setup.md:39-50
Vulnerability Type: Supply-chain exposure through mutable and unverified third-party dependencies
Risk Level: MediumAffected Code in
SKILL.md:yaml install: - kind: node package: "@eat-pray-ai/yutu" bins: [yutu]Affected Code in
references/setup.md:bash # Node.js (all platforms) npm i -g @eat-pray-ai/yutu # macOS brew install yutu # Linux brew install yutu # Windows winget install yutu # Gopher go install github.com/eat-pray-ai/yutu@latestThe same setup guide also instructs users to download a prebuilt binary from the latest release page and place it in
PATH, without documenting checksum or signature verification.Technical Analysis
All documented installation methods resolve a mutable package or executable without pinning an audited version or verifying artifact integrity. The Go command explicitly uses the mutable
@latestselector. The npm declaration and installation command omit a version, while the Homebrew and Winget instructions do not identify an exact repository, manifest, or immutable package revision.The downloaded release binary is likewise intended to be placed directly in
PATHwithout a documented cryptographic checksum or signature-verification procedure. Consequently, the code executed by users can differ from the dependency that was reviewed during this audit.This risk is especially significant because the installed
yutuprocess is expected to handle Google OAuth client credentials and cached YouTube access tokens throughclient_secret.json,youtube.token.json,YUTU_CREDENTIAL, andYUTU_CACHE_TOKEN. A compromised package registry, release account, package manifest, repository, or distribution channel could therefore deliver attacker-controlled code with access to this sensitive material.Attack Path
- A ...[truncated 1699 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin a specific, reviewed release version for every installation method rather than using implicit latest versions or
@latest. - Pin Go installations to an immutable reviewed tag or commit.
- Provide SHA-256 checksums for every prebuilt binary and document the exact verification commands users must run before execution.
- Publish signed release artifacts and require signature verification using a documented trusted public key or a suitable provenance system such as Sigstore.
- Identify the exact trusted Homebrew tap and Winget manifest or source instead of relying only on a generic package name.
- Use package-manager lockfiles or integrity metadata wherever the Skill platform supports them.
- Document the minimum OAuth scopes needed for the listing operation and avoid requesting unrelated YouTube permissions.
- Recommend restrictive filesystem permissions for
client_secret.jsonandyoutube.token.json. - Advise users not to install or execute the CLI with administrative privileges unless strictly required.
- Establish a release-review process that verifies source provenance, dependency changes, build reproducibility, and published artifact hashes before updating the pinned version.
- Pin a specific, reviewed release version for every installation method rather than using implicit latest versions or
