T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:213- Finding
Unverified Remote Installer Is Executed Directly by the Shell
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 213-218
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable Code:
bash # macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh # Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Technical Analysis
The installation instructions retrieve a mutable script from an external server and immediately execute the response using
shor PowerShellInvoke-Expression. The content is not pinned to a reviewed version and is not validated using a cryptographic hash or publisher signature before execution.Even if
astral.shis the expected official source foruv, the effective code executed by these commands can change after the Skill has been reviewed. Compromise of the upstream site, distribution infrastructure, DNS resolution, or trusted TLS environment could replace the installer with arbitrary commands.This behavior exceeds the minimum privileges needed for the declared web-search functionality. The search script requires Python and the
ddgspackage, but it does not inherently require executing a live remote installer. The installer receives all privileges of the user running the documented command.Attack Path
- A user follows the documented instructions because
uvis not installed. - The shell or PowerShell client requests the current installer from the external URL.
- An upstream compromise or network trust failure causes a malicious response to be returned.
- The pipe passes the response directly to
sh, orInvoke-Expressionevaluates it in PowerShell. - The remote payload executes without an opportunity for version verification, checksum validation, or review.
- The payload performs arbitrary actions under the invoking user's identity.
Impact Assessment
Successful exploitation provides arbitrary code execution with the privileges of the use ...[truncated 718 chars]
- A user follows the documented instructions because
- Remediation
View remediation
Remediation Suggestions
- Remove all
curl | shandInvoke-Expressioninstallation instructions. - Prefer installation through a trusted operating-system package manager with signed packages and a documented, version-pinned release.
- If a standalone installer is necessary, require users to:
- Download a specific immutable release artifact.
- Obtain its expected SHA-256 digest from a separately authenticated source.
- Verify the digest or publisher signature.
- Inspect the downloaded script before execution.
- Execute it as an ordinary, non-administrative user.
- Document a
pip-based installation path that does not requireuv. - Pin the supported
uvversion and update it through a controlled review process. - Avoid suppressing diagnostic output during security-sensitive downloads so users can identify unexpected redirects or failures.
- Remove all
