T08 · Insecure Dependencies
- 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: MediumComplete 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
wacliprogram 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
- A user or Agent follows the instruction to install
waclithrough an unspecified package manager or source repository. - Package-name ambiguity, typosquatting, dependency confusion, or source compromise causes an unintended malicio ...[truncated 1724 chars]
- A user or Agent follows the instruction to install
- Remediation
View remediation
Remediation Suggestions
-
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.
-
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.
-
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.
-
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.
-
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.
- Enforce owner-only permissions on
-
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.
-
