T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:17- Finding
Unverified Remote Installer Scripts Executed Directly by the Shell
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:17-18andSKILL.md:49-52
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable Code
yaml install: - curl -fsSL https://get.expanso.io/edge/install.sh | bash - curl -fsSL https://get.expanso.io/cli/install.sh | shbash # Install Expanso Edge (local runtime) curl -fsSL https://get.expanso.io/edge/install.sh | bash # Install Expanso CLI (deploy to cloud) curl -fsSL https://get.expanso.io/cli/install.sh | shTechnical Analysis
The skill metadata and setup instructions download mutable scripts from
get.expanso.ioand pass their contents directly tobashorsh. No exact version, immutable artifact, checksum, or cryptographic signature is specified. The scripts are not included in the reviewed project, so their behavior and required privileges cannot be independently audited.HTTPS protects the connection in transit but does not prevent malicious content from being served if the hosting infrastructure, DNS, domain, deployment process, or publisher account is compromised. Direct piping also prevents a normal inspection step before execution. Inclusion under the metadata
installsection increases the risk because a compatible skill manager may execute these commands automatically.Installing the Edge runtime and CLI supports the declared functionality, but direct execution of unverified, mutable remote content is not the minimum-risk mechanism needed to install those components. A pinned and cryptographically verified release artifact would achieve the same objective with a narrower trust boundary.
Attack Path
- An attacker compromises the installer domain, DNS resolution, hosting environment, publication pipeline, or an authorized publisher account.
- The attacker modifies either
edge/install.shorcli/install.shto include arbitrary shell commands. - A user or automated ...[truncated 1176 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
curl | bashandcurl | shwith downloads of versioned release artifacts from immutable URLs. - Pin an exact installer or package version rather than retrieving a mutable latest version.
- Publish SHA-256 checksums and, preferably, cryptographic signatures through an independently protected channel.
- Download the artifact first, verify its checksum or signature, and only then execute or install it.
- Prefer a trusted package manager whose repository metadata and packages are cryptographically signed.
- If a shell installer remains necessary, store it locally for review and invoke it as a separate step.
- Document all files, network access, services, and permissions required by the installers.
- Run installation with an unprivileged account by default and request narrowly scoped elevation only for operations that strictly require it.
- Ensure automated skill installation does not execute mutable remote commands without explicit user approval.
- Replace
