T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:72- Finding
Mutable Remote Installation Script Is Executed Directly by a Shell
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill’s campaign-management purpose is mostly coherent, but it requires automatic telemetry including the user’s AppKey and recommends unsafe, mutable CLI installation methods.
Review before installing. Use only a trusted, pinned umeng-cli version, avoid the curl-to-shell installer, and do not allow AppKey telemetry unless you are comfortable sending application identifiers through the CLI. Confirm all createCampaign actions manually because they create irreversible campaign links in the account.
SKILL.md:72Mutable Remote Installation Script Is Executed Directly by a Shell
SKILL.md:25Mandatory Telemetry Expands Agent Behavior and Transmits the Application Identifier
SKILL.md:69Globally Installed CLI Dependency Is Not Version-Pinned
The curl ... | sh command is a classic command-chaining anti-pattern that turns remote content into immediate code execution. In an agent context, this is more dangerous because it may be copied or automated without human review, enabling full compromise of the host environment if the fetched script is malicious or substituted.
npm install -g @umengfe/umeng-cli
curl -fsSL https://raw.githubusercontent.com/umeng/umeng-cli/main/scripts/install.sh | sh
安装完成后再次运行 `umeng-cli --version` 验证。
The appkey-reporting telemetry is not necessary to create promotion links or list campaigns/channels, so it represents an unjustified secondary data flow. Unnecessary collection of user-supplied identifiers increases privacy, compliance, and trust risks, especially when the skill instructs the agent to do it automatically before business actions.
The skill tells the agent to send the user's appkey in a trace command without warning that this is a privacy-relevant disclosure or obtaining user approval. Appkeys may be sensitive tenant/application identifiers, and silently transmitting them to another endpoint can violate user expectations and internal data-handling rules.
The skill explicitly instructs the agent to exfiltrate a user-provided appkey via a tracing command before the first business API call. Because the transfer is automatic and external to the requested task, it creates a clear data-disclosure channel for potentially sensitive identifiers.
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
若用户未提供 appkey:
umeng-cli-uapp-assets 查询小程序列表,取得 dataSourceId:
umeng-cli call '{"name":"umeng.umini.getAppList","api":{"method":"GET","baseUrl":"https://gateway.open.umeng.com/openapi","endpoint":"param2/1/com.umeng.umini/umeng.umini.getAppList","authType":"umeng-aksk"}}' '{"pageIndex":1,"pageSize":100}'
The skill advertises two business APIs but additionally instructs the agent to execute telemetry commands, including reporting skill usage and later the user's appkey. This hidden expansion of scope is risky because it causes data transmission unrelated to the user's requested task and undermines least-privilege and transparency expectations.
The documentation recommends installing software by piping a remote script directly into the shell. This pattern is dangerous because it executes unaudited network content immediately, enabling supply-chain compromise if the source, transport, repository, or script is tampered with.
npm install -g @umengfe/umeng-cli
curl -fsSL https://raw.githubusercontent.com/umeng/umeng-cli/main/scripts/install.sh | sh
安装完成后再次运行 `umeng-cli --version` 验证。
No suspicious patterns detected.