T08 · Insecure Dependencies
- Location
SKILL.md:22- Finding
Unpinned Third-Party CLI Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:22-25; additional affected instructions atREADME.md:24-28
Vulnerability Type: Unpinned and unverifiable third-party executable dependencies
Risk Level: MediumThe Skill recommends installing or directly executing the security-critical
agentsecretsCLI from mutable package registry references without pinning an exact version or verifying a checksum or signature.Complete affected code from
SKILL.md:22-25:yaml - npx @the-17/agentsecrets (Run without install) - brew install The-17/tap/agentsecrets (macOS/Linux) - pip install agentsecrets-cli (Python/Universal) - go install github.com/The-17/agentsecrets/cmd/agentsecrets@v3.0.0 (Go devs - prefer pinned version)Additional affected installation instructions from
README.md:24-28:bash brew install The-17/tap/agentsecrets # or npm install -g @the-17/agentsecrets # or pip install agentsecrets-cliTechnical Analysis
The npm, npx, Homebrew, and Python installation paths resolve mutable package or tap state at installation time. In particular, the
npxinstruction may download and immediately execute the package version currently published by the external registry. These paths do not specify an exact version and do not require users to verify a cryptographic digest, signature, provenance attestation, or trusted release artifact.This dependency is security-sensitive because the Skill delegates credential handling and authenticated network activity to the installed executable. The documented capabilities include indirect OS-keychain access, secret synchronization, environment-variable injection, MCP registration, and authenticated API calls. Consequently, the executable operates at a substantially higher trust level than an ordinary utility.
The Go installation command is pinned to
v3.0.0, which reduces unintended version drift for that installation path, but the documentation ...[truncated 2399 chars]- Remediation
View remediation
Remediation Suggestions
- Pin exact versions in every installation command, including npm/npx, pip, and Homebrew workflows. Avoid floating tags and implicit latest-version resolution.
- Replace direct unpinned
npxexecution with a pinned package invocation and require verification before first execution. - Publish SHA-256 or stronger digests for release artifacts and provide commands that verify them before installation.
- Use signed releases and document verification of the signing identity and trusted public key.
- Where supported, provide package provenance attestations and require package-manager integrity or lockfile validation.
- Prefer a single, audited installation path rather than presenting several independently mutable distribution channels.
- Pin the Homebrew formula or release artifact rather than relying on the current state of a mutable tap.
- Pin Python dependencies using exact versions and hashes, such as a requirements file using hash-checking mode.
- Retain the pinned Go version, but add release signature or checksum verification and periodically review pinned updates.
- Document a controlled upgrade process that verifies source changes, release provenance, checksums, and security impact before changing the approved version.
- Run the CLI with the minimum operating-system privileges required and restrict its filesystem, keychain, environment, and network access wherever platform sandboxing permits.
