T03 · Remote Payload Retrieval and Execution
- Location
scripts/check-env.sh:45- Finding
Unverified Remote Installer Is Downloaded and Executed Directly
- Content
View full analysis
/dev/null; then echo "uv: installed successfully — $(uv --version 2>&1)" else echo "uv: installation failed — check PATH" exit 1 fi ``` `scripts/check-env.sh:77-82`: ```bash if command -v uv &>/dev/null; then echo "✅ uv is available. Use 'uv venv' and 'uv pip install' for Python." else echo "⚠️ uv is missing. Run: curl -LsSf https://astral.sh/uv/install.sh | sh" fi ``` `SKILL.md:87`: ```markdown - If uv missing: `curl -LsSf https://astral.sh/uv/install.sh | sh` ``` `references/openclaw-workspace.md:48`: ```markdown - If `uv` is missing, install: `curl -LsSf https://astral.sh/uv/install.sh | sh` ``` ### Technical Analysis The Skill retrieves a mutable shell script from an external URL and streams it directly into `sh`. No version is pinned, and the downloaded content is not authenticated using a cryptographic signature or verified against a known checksum. The command also prevents the user from reviewing the complete payload before execution. The executable path in `scripts/check-env.sh` is conditional on the `--install` argument, but `SKILL.md` explicitly directs the agent to invoke that mode when Python support is requested. The same unsafe command is also required in generated `TOOLS.md` content and repeated as a recommendation by the environment-checking script. HTTPS protects the connection in transit under normal conditions, but it ...[truncated 2184 chars]- Remediation
View remediation
