T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Unpinned Third-Party CLI Installation Creates Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 4
Vulnerability Type: Unpinned and mutable third-party dependencies
Risk Level: MediumVulnerable 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 tapsteipete/tap/wacliwithout 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
wacliexecutable 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
- An attacker compromises the upstream source repository, release pipeline, maintainer credentials, Go module distribution path, or custom Homebrew tap.
- The attacker publishes a malicious release that becomes the version selected by
@latest, or changes the formula to install a malicious artifact. - A user installs or reinstalls
waclithrough the installation metadata in this skill. - The mutable dependency resolves to the attacker-controlled executable.
- The executable runs with the invoking user's operating-system privileges.
- During authentication, synchronization, history searches, or message sending, the malici ...[truncated 1037 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
github.com/steipete/wacli/cmd/wacli@latestwith a specifically audited semantic version or immutable commit identifier. - Pin the Homebrew installation to a reviewed release rather than relying solely on the current state of a mutable third-party tap.
- Verify downloaded artifacts using publisher signatures or cryptographic checksums stored in a trusted, independently controlled location.
- Document the expected publisher, repository, release version, and artifact digest so users can validate provenance before installation.
- Use automated dependency monitoring to identify security advisories and intentionally review upgrades instead of automatically selecting the newest release.
- Run the CLI with least privilege and restrict access to
~/.wacliusing appropriate filesystem permissions. - Revoke WhatsApp sessions and rotate affected authentication state if dependency compromise is suspected.
- Replace
