T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:173- Finding
Unverified Remote Installer Executed Through Bash
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 173
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable Code
bash curl -fsSL https://artifact.lx.netease.com/download/youdaonote-cli/install.sh | bash -s -- -f -b ~/.local/binTechnical Analysis
The installation instructions retrieve a shell script from an external URL and pipe the response directly into Bash. The executed content is not included in the audited project and can change after review. The command provides no version pinning, checksum verification, or cryptographic signature validation.
Although the document identifies the endpoint as an official source, that claim does not guarantee the integrity of every future response. A compromised download service, release process, DNS/TLS path, or hosting account could replace the installer with arbitrary shell commands. Asking the user to execute the command manually prevents automatic execution by the Agent, but it does not eliminate the remote-code-execution channel.
Installing the required CLI is relevant to the Skill's declared functionality, and targeting
~/.local/binavoids an explicitly system-wide installation. Nevertheless, executing mutable network content directly in a shell exceeds the minimum privilege and trust required to install the dependency. A pinned, integrity-verified artifact would fulfill the same purpose with a smaller supply-chain attack surface.Attack Path
- The
youdaonoteCLI is absent or requires an upgrade. - The Skill presents the installation command to the user.
- The user runs the command in a terminal.
curlretrieves the current response from the external installer endpoint.- Bash immediately interprets and executes that response without integrity verification or prior inspection.
- If the endpoint or delivery chain has been compromised, attacker-controlled commands execute with the user's pr ...[truncated 759 chars]
- The
- Remediation
View remediation
Remediation Suggestions
- Remove the direct
curl | bashinstallation command. - Distribute the CLI through a trusted package manager or an immutable, version-specific release artifact.
- Pin the required CLI version rather than downloading a mutable latest installer.
- Publish a SHA-256 checksum and, preferably, a cryptographic signature from a separately secured channel.
- Require downloading the artifact first, verifying its checksum or signature, and executing it only after successful verification.
- Preserve the existing user-confirmation boundary: the Agent should not execute installers or perform unrelated system changes.
- Apply the same pinning and verification requirements to upgrades; do not fall back to an unverified remote installer.
- If a script remains necessary, use a workflow such as:
bash curl -fsSLo install.sh 'https://example.invalid/versioned/install.sh' printf '%s %s\n' 'PUBLISHER_PROVIDED_SHA256' 'install.sh' | sha256sum -c - less install.sh bash install.sh -f -b "$HOME/.local/bin"The actual URL and checksum must correspond to an immutable, publisher-authenticated release.
- Remove the direct
