T08 · Insecure Dependencies
Error
- Location
- SKILL.md:13
- Finding
- Unpinned Third-Party CLI Dependency Executes Outside the Audited Skill Package<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 13-27 **Vulnerability Type**: Unpinned and externally maintained executable dependency **Risk Level**: High ### Complete Code Snippet ```yaml "install": [ { "id": "brew", "kind": "brew", "formula": "byr-pt-cli", "tap": "1MoreBuild/tap", "bins": ["byr"], "label": "Install byr CLI (Homebrew)", }, { "id": "node", "kind": "node", "package": "byr-pt-cli", "bins": ["byr"], "label": "Install byr CLI (npm fallback)", }, ], ``` ### Technical Analysis The Skill delegates all authentication, browser-cookie extraction, network access, user-information retrieval, and file-download behavior to the external `byr` executable. The installation metadata permits that executable to be obtained from either a third-party Homebrew tap or npm without specifying an audited version, checksum, package integrity value, or immutable source revision. Consequently, the executable installed at deployment time can differ from the component that existed when the Skill was reviewed. The npm fallback and custom Homebrew tap expand the supply-chain attack surface. Because the binary handles authentication cookies and can access browser credential storage, compromise of either distribution channel would expose substantially more than ordinary search functionality. The project itself contains no embedded executable code demonstrating malicious behavior. The risk arises from placing complete trust in a mutable, externally distributed dependency. ### Attack Path 1. An attacker compromises the npm package, Homebrew tap, package maintainer account, or upstream release process. 2. The attacker publishes a modified release under the expected `byr-pt-cli` package or formula name. 3. A new Skill installation resolves and installs that release because no version or integrity value is pinned. 4. The Agent invokes the apparently legitimate `byr` bi ...[truncated 1053 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin the npm package and Homebrew formula to a specifically reviewed, immutable version. 2. Require integrity verification using a cryptographic checksum, npm lockfile integrity value, signed release, or equivalent mechanism. 3. Prefer an official, verified distribution source over a custom tap where possible. 4. Document the dependency's source repository, publisher identity, expected signing keys, and release-verification procedure. 5. Review the executable source corresponding to the pinned artifact, especially browser-cookie access, credential storage, telemetry, network destinations, update behavior, and subprocess execution. 6. Run the CLI with least privilege in a sandbox that limits filesystem, browser-profile, process, and network access. 7. Allow network connections only to documented BYR service domains and deny unexpected outbound destinations. 8. Avoid automatic fallback to a second mutable package source unless that source is independently pinned and verified. ]]>
