T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:45- Finding
Unverified Remote Installer Is Downloaded and Executed Directly
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 45–51; the same command is also declared in dependency metadata at line 11
Vulnerability Type:T03: Remote Payload Retrieval and Execution
Risk Level: CriticalVulnerable Code:
markdown ### Step 1: Install dfx (ICP SDK) If you don't have `dfx` installed, run this single command: ```bash sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"text The dependency metadata contains the equivalent command: ```yaml install: "sh -ci \"$(curl -fsSL https://internetcomputer.org/install.sh)\""Technical Analysis
The installation instruction retrieves a shell program from an external URL and immediately executes its response through
sh -ci. The downloaded payload is not pinned to a release, inspected, authenticated with a release signature, or checked against a known cryptographic digest.HTTPS protects the connection in transit but does not guarantee that the endpoint will continue serving the same audited content. The effective code executed by this Skill can consequently change after publication and review. Compromise of the hosting service, its release process, DNS or certificate trust path, or another upstream dependency could turn the installer into arbitrary code.
This behavior exceeds the minimum privileges needed to document or invoke wallet functionality. Installing
dfxmay be a legitimate prerequisite, but directly executing mutable network content is not necessary to meet that prerequisite safely.Attack Path
- An attacker compromises the remote installer endpoint, its deployment process, or a relevant network trust component.
- The endpoint begins returning a modified shell script.
- A user installs the Skill or follows its Quickstart instructions.
curlretrieves the attacker-controlled response.- Command substitution passes the response directly to
sh -ci. - The payload executes ...[truncated 814 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the pipe-to-shell pattern with a version-pinned release artifact from an authenticated official release channel.
- Publish and verify a SHA-256 or stronger digest before executing or installing the artifact.
- Prefer cryptographic release-signature verification using a pinned, independently distributed public key.
- Download the artifact to a local file, verify it, and only then execute it as a separate step.
- Pin the expected
dfxversion so that the effective dependency cannot change silently. - Update both the Quickstart command and the dependency metadata; leaving either occurrence unchanged preserves the exposure.
- Document the exact files, permissions, and network access required by the installer.
- Where possible, direct users to a trusted platform package manager rather than executing remotely supplied shell text.
