Back to skill

Security audit

WhatsApp消息工具(免费版)

Security checks for vulnerabilities and agentic risk

Overview

The skill is mainly a disclosed WhatsApp messaging helper, but it combines account-level messaging access with mismatched SEO activation text and an underspecified third-party CLI dependency.

Install only if you intentionally want an agent to send WhatsApp messages and search WhatsApp chats through a local CLI. Verify the exact `wacli` source and version before authentication, protect `~/.wacli/`, remove the unrelated SEO trigger language, and require explicit confirmation of recipient, message content, and file path before any send operation.

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:106
Finding

Unverified Privileged WhatsApp CLI Dependency

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 106–107, 173–176, 273–279
Vulnerability Type: Unverified and unpinned third-party executable
Risk Level: Medium

Complete Evidence Snippets

text
1. 安装 WhatsApp CLI 工具
2. 运行 `wacli auth` 扫描 QR 码登录
bash
# 默认存储目录
~/.wacli/
text
| `~/.wacli/` | 认证凭证、会话缓存、配置文件 |
| `~/.wacli/store/` | 消息数据库(SQLite) |
| `~/.wacli/media/` | 下载的媒体文件 |
text
| wacli | CLI 工具 | 必需 | 包管理器安装或源码编译 |
| Node.js | 运行时 | 必需 | 运行 CLI 工具(18+) |
| SQLite | 数据库 | 内置 | CLI 工具自带,用于消息存储 |
| jq | CLI 工具 | 推荐 | 用于 JSON 输出解析 |

### API Key 配置
- **WhatsApp 凭证**:通过 QR 码登录获取,由 CLI 持久化存储在 `~/.wacli/`

Technical Analysis

The Skill requires the execution of a third-party wacli program but identifies neither its official package registry and repository nor an exact package name, publisher, immutable version, checksum, signature, or reviewed source commit. The instruction to obtain it through a generic “package manager” or source compilation therefore does not establish dependency authenticity or integrity.

This executable occupies a sensitive trust position. It processes a WhatsApp authentication flow, persistently handles account credentials and session state, searches private conversations, and receives paths to local files that users ask it to transmit. It also runs with the permissions of the Agent's operating-system account.

The document contains no direct malicious payload, but its underspecified installation process creates a supply-chain exposure. Dependency confusion, typosquatting, a compromised distribution account, or selection of an unrelated executable with the same name could cause attacker-controlled code to be installed and executed.

Attack Path

  1. A user or Agent follows the instruction to install wacli through an unspecified package manager or source repository.
  2. Package-name ambiguity, typosquatting, dependency confusion, or source compromise causes an unintended malicio ...[truncated 1724 chars]
Remediation
View remediation

Remediation Suggestions

  1. Identify the authoritative dependency source:

    • Provide the exact official registry and package name.
    • Provide the official HTTPS repository URL.
    • Document the expected publisher or organization.
  2. Pin the dependency:

    • Require an exact release version rather than a floating or latest version.
    • For source builds, pin an immutable commit hash.
    • Maintain a reviewed lockfile where the selected package ecosystem supports one.
  3. Verify integrity and provenance:

    • Publish and validate a cryptographic checksum for distributed binaries.
    • Verify release signatures or package-registry provenance attestations.
    • Document the expected signing identity.
    • Prefer reproducible builds and compare locally built artifacts with published checksums.
  4. Apply runtime isolation:

    • Run the CLI as a dedicated, non-administrative operating-system user.
    • Restrict filesystem access to explicitly selected files and the required state directory.
    • Restrict outbound network access to endpoints necessary for WhatsApp operation where practical.
    • Avoid exposing unrelated environment variables, API keys, SSH keys, and home-directory content.
  5. Protect authentication state:

    • Enforce owner-only permissions on ~/.wacli/ and its contents.
    • Avoid including credentials, session databases, or media in backups and logs unless encrypted and explicitly required.
    • Provide documented credential revocation and linked-device removal procedures.
    • Warn users that a linked-session compromise can permit account impersonation.
  6. Add operational safeguards:

    • Require explicit confirmation of recipients, message contents, and file paths before transmission.
    • Display the resolved executable path and verified version before authentication.
    • Fail closed when dependency provenance or integrity verification cannot be completed.
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (5)

Vague Triggers

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill description contains an overly broad, mismatched trigger for SEO tasks despite exposing exec-backed WhatsApp messaging capabilities. In agent environments, broad trigger phrases can cause accidental or adversarial invocation of a tool that can message third parties, making this more dangerous than a simple documentation error.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest advertises SEO/keyword-ranking use cases that do not match the documented WhatsApp messaging functionality. This can cause incorrect skill routing, leading an agent to invoke a messaging-capable tool in unrelated contexts and potentially send messages or expose chat data when the user intended SEO analysis instead.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The capability-coverage section falsely claims support for the description's SEO scenarios even though the skill only documents WhatsApp operations. That mismatch broadens activation conditions and can mislead an agent into using a communications tool for unrelated prompts, increasing the risk of unintended external actions or data access.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The keyword-based activation scope is vague and weakly constrained, listing broad terms without clear boundaries. This creates prompt-routing ambiguity and increases the chance that an agent selects the skill based on incidental keyword matches, which is risky because the skill can execute commands and perform external communications.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
63% confidence
Finding

The manifest and examples are primarily written in Chinese with embedded English trigger text, but there is no statement that users may interact in their preferred language. This can be read as imposing a locale-specific interaction pattern without explicit opt-in or justification.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.