T08 · Insecure Dependencies
- Location
SKILL.md:49- Finding
Unpinned Global Installation of a Third-Party CLI
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 49-55
Vulnerability Type: Supply-chain risk from an unpinned globally installed dependency
Risk Level: MediumVulnerable Code Snippet:
markdown Recommended bird setup: ```bash bun add -g @steipete/birdtext ### Technical Analysis The installation guidance directs users to retrieve and globally install the latest available version of the third-party `@steipete/bird` package. It does not pin a reviewed version, verify a checksum or signature, or use a lockfile. Consequently, the package installed by a user can differ from the version assessed when this Skill was reviewed. If the package, publisher account, registry entry, or distribution channel is compromised, installation or subsequent execution could run attacker-controlled code with the privileges of the user running Bun. This risk is particularly relevant because the Skill expects `bird` to interact with browser-authenticated X/Twitter sessions. Although the bundled Python script does not directly access credentials, a compromised `bird` package could potentially access credentials and other data available to its process. ### Attack Path 1. An attacker compromises the package publisher account, registry package, or upstream release process. 2. The attacker publishes a malicious package version under the expected package name. 3. A user follows the documented `bun add -g @steipete/bird` instruction. 4. Bun retrieves the current attacker-controlled release because no version or integrity value is specified. 5. Malicious package lifecycle behavior or later invocation of `bird` executes under the installing user's account. 6. The payload may access data available to that user, including browser session material, and communicate it externally. ### Impact Assessment Successful exploitation could execute code with the privileges of the user who installs or invokes the package. The ...[truncated 463 chars]- Remediation
View remediation
Remediation Suggestions
- Pin
@steipete/birdto a specific reviewed version rather than installing the latest release:bash bun add @steipete/bird@<reviewed-version> - Prefer a project-local dependency over a global installation to limit scope and improve reproducibility.
- Commit and enforce an appropriate lockfile so dependency resolution remains stable.
- Verify package provenance and document the authoritative registry and upstream repository.
- Where supported, verify release signatures or published integrity hashes before installation.
- Review dependency updates before changing the pinned version, including package ownership, lifecycle scripts, and transitive dependency changes.
- Run the CLI with least privilege and a dedicated browser profile containing only the minimum account access required.
- Disable or avoid package lifecycle scripts during installation where operationally feasible.
- Pin
