T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned Third-Party CLI Is Downloaded and Executed with Access to Authentication Cookies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 5 and 16-22
Vulnerability Type: Unpinned third-party dependency and immediate remote package execution
Risk Level: HighRelevant code snippet:
yaml metadata: {"clawdbot":{"emoji":"🐦","requires":{"bins":["bird"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/bird","bins":["bird"],"label":"Install bird (brew)","os":["darwin"]},{"id":"npm","kind":"node","package":"@steipete/bird","bins":["bird"],"label":"Install bird (npm)"}]}}bash # npm/pnpm/bun npm install -g @steipete/bird # Homebrew (macOS, prebuilt binary) brew install steipete/tap/bird # One-shot (no install) bunx @steipete/bird whoamiTechnical Analysis
The Skill delegates its entire implementation to the external
@steipete/birdpackage or thesteipete/tap/birdHomebrew formula. None of the documented installation commands pins a package version, source revision, or cryptographic integrity digest.In particular,
bunx @steipete/bird whoamican download and immediately execute the package version resolved at invocation time. Consequently, the effective executable may change after this Skill has been reviewed. The reviewed project contains onlySKILL.md, so the external executable's handling of browser cookies, account data, and network destinations cannot be verified from the project itself.This is especially sensitive because the CLI is subsequently authorized to extract browser cookies or receive X/Twitter authentication cookies directly. Although network communication and authenticated account access are necessary for the declared X/Twitter client functionality, allowing an unpinned and externally mutable executable to receive those privileges exceeds what can be safely validated from the Skill package.
No evidence in
SKILL.mdproves that the current upstream package is malicious or sends credentials to an unrelated destination. The vulner ...[truncated 1900 chars]- Remediation
View remediation
Remediation Suggestions
- Pin the npm package and Homebrew artifact to a specifically reviewed version rather than resolving the latest available release.
- Verify downloaded artifacts using a cryptographic integrity hash or signed, reproducible release mechanism.
- Avoid recommending one-shot remote execution through
bunxfor a tool that will receive authentication cookies. - Publish the expected upstream repository and commit corresponding to the approved release so its behavior can be independently audited.
- Prefer an installation workflow that downloads, verifies, and then executes the artifact as separate steps.
- Disable package installation lifecycle scripts where feasible and document whether the package uses them.
- Run the CLI with least privilege, restricting it to a dedicated browser profile containing only the required X/Twitter session.
- Constrain outbound network access to the X/Twitter endpoints required for operation where the execution environment supports network policy enforcement.
- Document a dependency review and update process so new versions are audited before the pinned release is changed.
