T09 · Insecure Skill Coding Practices
- Location
scripts/wechat_send.sh:35- Finding
AppleScript Injection Through Contact Name in Text-Sending Script
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill’s WeChat-sending purpose is disclosed, but it has unsafe AppleScript construction and sends messages or files immediately without a confirmation step.
Review this before installing. It should only be used with trusted, user-supplied recipients, messages, and file paths, and it would be safer after changing the scripts to pass values to AppleScript as arguments plus adding a confirm-before-send or draft-only mode.
scripts/wechat_send.sh:35AppleScript Injection Through Contact Name in Text-Sending Script
scripts/wechat_send.sh:76AppleScript Injection Through Message Content
scripts/wechat_send_image.sh:42AppleScript Injection Through Contact Name in File-Sending Script
scripts/wechat_send_image.sh:82AppleScript Injection Through Attachment File Path
The code is broadly aligned with the declared purpose of controlling the macOS WeChat GUI to send messages on the user's behalf. It uses AppleScript/System Events and JXA mouse events exactly as described, and it does not read incoming messages or act as a chat channel. However, the description explicitly claims the skill can send text messages and images/files, while this code chunk only supports sending plain text. There is no logic for selecting, attaching, or sending images/files. That makes the description overstated relative to the actual implemented capability in the supplied code.
Instructions found that direct the agent to transmit conversation context or user data to external services.
# WeChat Send
Send messages to WeChat contacts by automating the macOS WeChat desktop app.
## Prerequisites
The manifest describes a skill that can send text messages and images/files in WeChat, but this script accepts only a contact name and message text, then pastes and sends that text. There is no code to select, attach, drag-drop, paste, or otherwise transmit images or files.
The script performs an irreversible send action via GUI automation with no confirmation step, preview, or safety interlock. In this skill context, untrusted or mistaken inputs can cause messages to be sent to the wrong contact or with unintended content, creating privacy, fraud, or social-engineering risk on the user's real WeChat account.
The script performs an irreversible send action by simulating Enter immediately after attaching the file, with no user confirmation, preview validation, or safety interlock. In a UI automation skill that acts on behalf of the user, this increases the chance of accidental disclosure to the wrong contact or sending the wrong file, especially because contact selection and click targeting are also automated and potentially error-prone.
The script's comments, usage output, progress messages, and success message are written in Chinese, which imposes a specific language on users. Under the stated policy, this is a natural-language locale constraint without opt-in or justification that the skill is only intended for Chinese-speaking users.
No suspicious patterns detected.