T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:5- Finding
Unverified Remote Shell Installer Execution on Unix-like Systems
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is coherent and mostly disclosed, but it uses an unverified remote installer and rewrites Codex auth/config files to route future traffic through asale, which warrants Review before installation.
Install only if you are comfortable letting asale change Codex's provider and auth configuration and route future Codex requests through its local daemon. Prefer a signed, versioned installer with published checksums over the documented pipe-to-shell commands, and review the exact Codex config/auth changes and rollback behavior before enabling the switch.
SKILL.md:5Unverified Remote Shell Installer Execution on Unix-like Systems
SKILL-cn.md:5Unverified Remote Shell Installer Execution in the Chinese Skill Document
The metadata includes a one-line remote installer (curl ... | sh) and PowerShell equivalent (irm ... | iex), which execute code fetched from the network without verification. This is dangerous because a compromised distribution server, DNS/TLS interception failure, or upstream supply-chain issue would result in immediate arbitrary code execution on the user's machine.
name: asale-buy-codex
version: 0.2.7
description: "Switch Codex between buying from the asale market and using its own subscription, and see which running sessions are still on the old config. 在「从 asale 市场买」和「用它自己的订阅」之间切换 Codex,并查看哪些正在运行的会话还用着旧配置。"
metadata: {"clawdbot":{"emoji":"📥","requires":{"bins":["curl"]},"install":"curl -fsSL https://asale.ai/dl/install.sh | sh","installAlternative":"irm https://asale.ai/dl/install.ps1 | iex","homepage":"https://asale.ai","source":"https://github.com/asale-ai/asale","author":"asale","license":"see-repo","configLocation":"~/.asale/daemon.token","apiEndpoints":["127.0.0.1:9700"]},"openclaw":{"systemPrompt":"Drive the asale daemon at 127.0.0.1:9700 with the token from ~/.asale/daemon.token. Always run buy_tools before set_buy_tool for tool codex. tool_processes is listing only — never signal those pids."}}
---
# asale-buy-codex
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
curl -sS --noproxy 127.0.0.1 -X POST "http://127.0.0.1:9700/rpc/$1"
-H 'content-type: application/json' -H "x-asale-token: $TOKEN" -d "$body"
}
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
curl -sS --noproxy 127.0.0.1 -X POST "http://127.0.0.1:9700/rpc/$1"
-H 'content-type: application/json' -H "x-asale-token: $TOKEN" -d "$body"
}
The skill instructs the agent to modify sensitive Codex local configuration files (~/.codex/config.toml and ~/.codex/auth.json), including changing the active model provider and API key material. This creates a high-risk local integrity issue because the skill can reroute future Codex traffic through a third-party local daemon and alter authentication behavior without strong user-visible safeguards or explicit per-file consent.
call set_buy_tool '{"tool":"codex","enabled":true,"models":["claude-fable-5"]}'
不传 `models` 就保持当前选择,传 `[]` 是清空。会改写的配置:`~/.codex/config.toml`(一个 `[model_providers.asale]` 块、活动的 `model_provider`、模型,以及一份生成的目录)和 `~/.codex/auth.json`(`OPENAI_API_KEY`)。
### 3. 说清楚哪些会话还在用旧配置
The metadata recommends curl -fsSL https://asale.ai/dl/install.sh | sh and a PowerShell iex equivalent, both of which execute remote code immediately without prior verification. This is dangerous because compromise of the hosting domain, transport, or installer pipeline leads directly to arbitrary code execution on the user's machine.
name: asale-buy-codex
version: 0.2.7
description: "Switch Codex between buying from the asale market and using its own subscription, and see which running sessions are still on the old config. 在「从 asale 市场买」和「用它自己的订阅」之间切换 Codex,并查看哪些正在运行的会话还用着旧配置。"
metadata: {"clawdbot":{"emoji":"📥","requires":{"bins":["curl"]},"install":"curl -fsSL https://asale.ai/dl/install.sh | sh","installAlternative":"irm https://asale.ai/dl/install.ps1 | iex","homepage":"https://asale.ai","source":"https://github.com/asale-ai/asale","author":"asale","license":"see-repo","configLocation":"~/.asale/daemon.token","apiEndpoints":["127.0.0.1:9700"]},"openclaw":{"systemPrompt":"Drive the asale daemon at 127.0.0.1:9700 with the token from ~/.asale/daemon.token. Always run buy_tools before set_buy_tool for tool codex. tool_processes is listing only — never signal those pids."}}
---
# asale-buy-codex
Referenced artifact was not completely inspected
[English](./SKILL.md) · [中文](./SKILL-cn.md)
Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.
curl -sS --noproxy 127.0.0.1 -X POST "http://127.0.0.1:9700/rpc/$1"
-H 'content-type: application/json' -H "x-asale-token: $TOKEN" -d "$body"
}
The skill explicitly rewrites ~/.codex/config.toml and ~/.codex/auth.json, including setting OPENAI_API_KEY and redirecting Codex to an asale-controlled local proxy. Modifying another tool's config and auth material is security-sensitive because it can reroute model traffic, alter trust boundaries, and affect credential handling for future Codex sessions.
`models` omitted leaves the current selection alone; `[]` clears it. Config
rewritten: `~/.codex/config.toml` (a `[model_providers.asale]` block, the active `model_provider`, the model and a generated catalog) and `~/.codex/auth.json` (`OPENAI_API_KEY`).
### 3. Say which sessions are still on the old config
This file is a Chinese-language variant of the skill and its instructions are written entirely in Chinese, but it does not state that language choice is optional within the skill itself. Under the policy, forcing a specific language or locale without user opt-in is a natural-language policy violation unless the constraint is clearly documented and justified.
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -sS --noproxy 127.0.0.1 -X POST "http://127.0.0.1:9700/rpc/$1"
-H 'content-type: application/json' -H "x-asale-token: $TOKEN" -d "$body"
}
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.
curl -sS --noproxy 127.0.0.1 -X POST "http://127.0.0.1:9700/rpc/$1"
-H 'content-type: application/json' -H "x-asale-token: $TOKEN" -d "$body"
}
The description embeds both English and Chinese text directly, which imposes a specific locale/language presentation choice rather than letting the user select their preferred language. The policy for natural-language violations calls for flagging language or locale constraints when they are not explicitly optional or justified.