T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:20
- Finding
- Unpinned Third-Party CLI Installed with Unrestricted Deno Permissions## Vulnerability Details **File Location**: `SKILL.md:20-23` **Vulnerability Type**: Unpinned dependency with excessive runtime permissions **Risk Level**: Medium **Vulnerable Code**: ```bash If not installed: - **Homebrew**: `brew install schpet/tap/linear` - **Deno**: `deno install -A --reload -f -g -n linear jsr:@schpet/linear-cli` - **Binaries**: https://github.com/schpet/linear-cli/releases/latest ``` ### Technical Analysis The Skill delegates its operational behavior to an externally distributed `linear` CLI. The documented Deno installation command uses a mutable, unpinned package reference and grants unrestricted permissions through `-A`. In Deno, `-A` enables all permissions, including filesystem access, environment-variable access, network communication, subprocess execution, and other system capabilities. This exceeds the minimum permissions that can be established from the Skill's declared Linear-management functionality. The use of `--reload` also forces dependency retrieval without documenting integrity verification. The Homebrew alternative similarly relies on a third-party tap, while the binary installation alternative points users to a mutable latest-release URL. No exact version, checksum, signature verification procedure, or immutable artifact digest is supplied. No evidence establishes that the current upstream package is malicious. The vulnerability is the unsafe trust and installation model, which would allow a compromised or unexpectedly modified dependency to execute with the user's full privileges. ### Attack Path 1. An attacker compromises the upstream package, release process, package account, or third-party Homebrew tap. 2. The attacker publishes a modified CLI under the same mutable package or release reference. 3. A user follows the documented installation command. 4. Deno downloads and globally installs the modified package without a pinned version or documented integrity check. 5. ...[truncated 1079 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the CLI to a specific reviewed version rather than using a mutable package or latest-release reference. 2. Pin downloaded binaries by cryptographic digest and document checksum or signature verification. 3. Remove `--reload` from normal installation instructions to prevent unnecessary dependency refreshes. 4. Replace `-A` with explicitly enumerated Deno permissions limited to required hosts, files, environment variables, and subprocesses. 5. Prefer a trusted distribution channel with provenance attestations and signed releases. 6. Document the exact upstream repository and package identity so users can detect dependency confusion or package substitution. 7. Periodically audit the pinned CLI version and its transitive dependencies before updating. 8. Recommend running the CLI under a dedicated, least-privileged account or isolated environment when practical.
