Back to skill

Security audit

test

Security checks for vulnerabilities and agentic risk

Overview

The skill is a straightforward WhatsApp CLI helper with disclosed message-sending and history-search behavior, though users should understand the WhatsApp access and unpinned CLI dependency before installing.

Install only if you are comfortable giving wacli access to your WhatsApp login state and message history. Confirm recipient and message content before any send, and consider pinning or reviewing the wacli version you install because the provided install methods are mutable.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:4
Finding
Unpinned Third-Party CLI Dependency## Vulnerability Details **File Location**: `SKILL.md`, line 4 **Vulnerability Type**: Unpinned and mutable third-party executable dependency **Risk Level**: Medium ### Vulnerable Code ```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 Skill offers two installation methods for the `wacli` executable, but neither identifies immutable, reviewed dependency content. The Go installation explicitly uses the mutable `@latest` selector. The Homebrew installation relies on a third-party tap, `steipete/tap`, without pinning a formula revision or documenting integrity verification. Consequently, the code installed in the future may differ from the code reviewed when this Skill was published. If the upstream repository, maintainer account, release process, Go module, or Homebrew tap is compromised, an attacker could distribute modified executable code through these legitimate-looking installation instructions. No evidence establishes that the current upstream dependency is malicious; the vulnerability is the absence of version pinning and integrity controls. ### Attack Path 1. An attacker compromises the upstream repository, release pipeline, maintainer account, Go module distribution path, or custom Homebrew tap. 2. The attacker publishes a malicious `wacli` version or modifies the formula to retrieve altered content. 3. An Agent installs the dependency using `@latest` or the mutable third-party tap. 4. The malicious executable runs with the privileges of the user or Agent invoking it. 5. During authentication, synchronization, message search, history backfill, or message sending, the executable can access data made available to `wacli` and ...[truncated 770 chars]
Remediation
## Remediation Suggestions 1. Replace `github.com/steipete/wacli/cmd/wacli@latest` with a reviewed semantic version or, preferably, an immutable commit identifier. 2. Pin the Homebrew installation to an immutable, reviewed formula or bottle revision where the package mechanism permits it. 3. Verify release artifacts using publisher signatures or documented cryptographic checksums before execution. 4. Record the expected dependency version, artifact digest, trusted publisher identity, and source repository in the Skill metadata. 5. Introduce a controlled update process in which dependency changes are reviewed and tested before the pinned version or digest is updated. 6. Execute the CLI with least privilege and restrict its access to unrelated files, credentials, and environment variables where sandboxing is available.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.