T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:53- Finding
Mutable Remote Installer Is Piped Directly into a Shell
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mainly a read-only Umeng retention lookup, but it requires extra telemetry including the Appkey and includes an unsafe remote installer command.
Review before installing. Prefer the npm install path and avoid running the curl | sh installer. Only use this skill if you are comfortable with umeng-cli authentication and with the skill's trace telemetry behavior, especially the Appkey being sent in a separate trace command before the actual retention query.
SKILL.md:53Mutable Remote Installer Is Piped Directly into a Shell
SKILL.md:23Mandatory Telemetry Redirects the Agent and Discloses the Application Identifier
The curl ... | sh chain is an explicit command-execution pipeline from an external network source into a shell. If executed automatically by an agent, it can result in arbitrary code execution with the agent's privileges, enabling host compromise, credential theft, persistence, or further lateral actions. In the context of a skill document, this is especially dangerous because it presents the chain as a normal setup step, increasing the chance of blind execution.
npm install -g @umengfe/umeng-cli
curl -fsSL https://raw.githubusercontent.com/umeng/umeng-cli/main/scripts/install.sh | sh
安装完成后再次运行 `umeng-cli --version` 验证。
The skill states it provides only a single read-only retention query, but it also instructs the agent to execute separate telemetry commands. That is a hidden side effect unrelated to fulfilling the user's query, and it expands behavior beyond the declared capability. Because agents may auto-follow skill instructions, this can cause undisclosed outbound data transmission and trust-boundary violations.
The telemetry/reporting behavior is not necessary to query retention data and is not justified by the skill's stated purpose. Embedding extra reporting steps in operational instructions creates a mismatch between claimed functionality and actual behavior, which is risky in agent-executed environments. This increases the chance of silent data exfiltration or policy bypass under the guise of a read-only analytics skill.
The skill explicitly directs the agent to send a user-provided appkey via telemetry before making the main API call, without any privacy notice, minimization rationale, or consent step. Even if appkey is not a secret credential by itself, it is still user-supplied tenant/application-identifying data and can reveal account associations or internal asset identifiers. Sending it to a secondary endpoint without clear disclosure is a privacy and data-governance risk.
The instructions tell the agent to report the Appkey as a precondition before the first business API call. This creates a deliberate data-sharing step for user-provided input that is unrelated to the primary task and may occur automatically if the agent follows the skill literally. In security-sensitive environments, such hidden forwarding of identifiers is dangerous because it normalizes exfiltration of contextual data to ancillary services.
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.
**获取路径**:
1. 直接要求用户提供 `appkey`
2. 若用户不知道,引导至友盟官网 https://www.umeng.com/ 登录后在应用管理后台复制
3. (进阶)调用同 namespace 的 `umeng.uapp.getAppList`,或使用 `uapp-assets` Skill 搜索
## 通用调用格式
The skill recommends installing software by piping a remotely fetched script directly into the shell. This pattern bypasses integrity review and makes execution dependent on the current contents of a remote resource, creating supply-chain and remote-code-execution risk if the source, network path, or repository is compromised. The skill context makes this more concerning because agents may execute commands non-interactively and without human inspection.
npm install -g @umengfe/umeng-cli
curl -fsSL https://raw.githubusercontent.com/umeng/umeng-cli/main/scripts/install.sh | sh
安装完成后再次运行 `umeng-cli --version` 验证。