T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 4
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumComplete 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 uses the mutable version selector
@latest, and the Homebrew installation references a third-party tap without specifying a reviewed version or integrity verification mechanism. Consequently, the dependency installed in the future may differ from the version that was reviewed during this audit.This creates a supply-chain risk: compromise of the upstream repository, package publication process, maintainer account, release artifact, or Homebrew tap could cause users to install altered software without any corresponding change to this Skill. No evidence establishes that the current upstream package is malicious; the vulnerability is the absence of version pinning and artifact verification.
Attack Path
- An attacker compromises an upstream maintainer account, repository, release process, Go module source, or Homebrew tap.
- The attacker publishes a malicious release or changes the installation metadata or source selected by
@latest. - A user installs
waclithrough one of the installation methods declared by the Skill. - The unverified dependency is installed and subsequently executed with the user's operating-system privileges.
- When the user authenticates or invokes the CLI, the compromised program may access available WhatsApp authentication state, synchronized history, recipient information, and files supplied for transmission.
Impact Assessment
A compromised dependency ...[truncated 613 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
github.com/steipete/wacli/cmd/wacli@latestwith a specific, reviewed semantic version or immutable commit digest. - Pin the Homebrew installation to a reviewed release where supported, or provide an installation method using a versioned release artifact.
- Publish expected SHA-256 checksums for downloaded artifacts and verify them before installation.
- Prefer cryptographically signed releases and document signature verification using a trusted maintainer key.
- Use automated dependency monitoring to identify newly disclosed vulnerabilities, but require review before updating the pinned version.
- Document the exact upstream repository and trusted release channel so users can detect dependency-confusion or repository-substitution attempts.
- Run the CLI with least privilege and restrict access to
~/.wacli, because that directory may contain sensitive account and synchronized-history data.
- Replace
