T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:4
- Finding
- Unpinned Third-Party CLI Installation Creates Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md`, line 4 **Vulnerability Type**: Unpinned and mutable third-party dependencies **Risk Level**: Medium ### Vulnerable Code Snippet ```yaml metadata: {"clawdbot":{"emoji":"📱","requires":{"bins":["wacli"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/wacli","bins":["wacli"],"label":"Install wacli (brew)"},{"id":"go","kind":"go","module":"github.com/steipete/wacli/cmd/wacli@latest","bins":["wacli"],"label":"Install wacli (go)"}]}} ``` ### Technical Analysis The Go installation source explicitly uses the mutable version selector `@latest`. The Homebrew installation references the third-party tap `steipete/tap/wacli` without pinning an audited release or specifying an integrity checksum. Consequently, the executable installed in the future may differ from the version reviewed when this skill was published. An upstream repository, release process, maintainer account, Go module, or Homebrew tap compromise could cause users to install a modified executable without any corresponding change to the skill package. This is especially sensitive because the installed `wacli` executable is expected to authenticate to WhatsApp, synchronize and search private message history, read files selected for transmission, and store authentication state under `~/.wacli`. ### Attack Path 1. An attacker compromises the upstream source repository, release pipeline, maintainer credentials, Go module distribution path, or custom Homebrew tap. 2. The attacker publishes a malicious release that becomes the version selected by `@latest`, or changes the formula to install a malicious artifact. 3. A user installs or reinstalls `wacli` through the installation metadata in this skill. 4. The mutable dependency resolves to the attacker-controlled executable. 5. The executable runs with the invoking user's operating-system privileges. 6. During authentication, synchronization, history searches, or message sending, the malici ...[truncated 1037 chars]
- Remediation
- ## Remediation Suggestions 1. Replace `github.com/steipete/wacli/cmd/wacli@latest` with a specifically audited semantic version or immutable commit identifier. 2. Pin the Homebrew installation to a reviewed release rather than relying solely on the current state of a mutable third-party tap. 3. Verify downloaded artifacts using publisher signatures or cryptographic checksums stored in a trusted, independently controlled location. 4. Document the expected publisher, repository, release version, and artifact digest so users can validate provenance before installation. 5. Use automated dependency monitoring to identify security advisories and intentionally review upgrades instead of automatically selecting the newest release. 6. Run the CLI with least privilege and restrict access to `~/.wacli` using appropriate filesystem permissions. 7. Revoke WhatsApp sessions and rotate affected authentication state if dependency compromise is suspected.
