T08 · Insecure Dependencies
- Location
SKILL.md:58- Finding
Unverified Remote CLI Download and Execution
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill does what it says, but it handles cloud credentials and billable cluster creation in ways users should review carefully before installing.
Install only if you are comfortable with an agent creating paid UCloud infrastructure, installing ucloud-cli from GitHub, and handling a generated cluster password in normal files and chat. Safer behavior would require explicit approval before provisioning, verified CLI installation, a private temporary file that is deleted, and avoiding plaintext password disclosure in the transcript.
SKILL.md:58Unverified Remote CLI Download and Execution
SKILL.md:181Cluster Login Credential Written to a Predictable Temporary File and Disclosed in Plaintext
The final reporting step instructs the agent to print the cluster login password back to the user, guaranteeing credential exposure in transcript history. In this context, the danger is elevated because the password grants administrative access to newly provisioned cloud infrastructure.
The skill downloads an executable archive from the internet and installs it locally during execution. Even though the source is an official GitHub release URL, fetching and executing external binaries at runtime introduces supply-chain risk and bypasses normal package verification and administrator review.
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
INSTALL_DIR="$HOME/.local/bin"
mkdir -p "$INSTALL_DIR"
curl -L "https://github.com/ucloud/ucloud-cli/releases/download/v0.3.0/ucloud-${OS}_${ARCH}.zip" -o /tmp/ucloud.zip
unzip -o /tmp/ucloud.zip -d "$INSTALL_DIR"
chmod +x "$INSTALL_DIR/ucloud"
export PATH="$INSTALL_DIR:$PATH"
The skill explicitly instructs the agent to record the generated plaintext cluster password and later disclose it, without any sensitive-data handling safeguards. This creates unnecessary credential exposure in agent memory, tool logs, transcripts, and user-visible output.
Directing the agent to retain and disclose a generated login password in plaintext is a clear secret-handling flaw. If conversation history, telemetry, or shared logs are accessed by others, the cluster can be compromised immediately using those credentials.
The skill automates creation of a paid UK8S cluster and stages a full request file in /tmp, but it does not require an explicit user confirmation that acknowledges cost, resource creation, and system-impact before execution. In an agent setting, this increases the risk of unintended billable infrastructure provisioning and exposure of request data via a world-readable or shared temporary path depending on host configuration.
The instructions fetch and unpack a CLI binary from an external source without integrity verification. In a skill context this is less severe than arbitrary script execution because it does not pipe remote content directly to a shell, but it still creates an avoidable supply-chain and host-modification risk.
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
INSTALL_DIR="$HOME/.local/bin"
mkdir -p "$INSTALL_DIR"
curl -L "https://github.com/ucloud/ucloud-cli/releases/download/v0.3.0/ucloud-${OS}_${ARCH}.zip" -o /tmp/ucloud.zip
unzip -o /tmp/ucloud.zip -d "$INSTALL_DIR"
chmod +x "$INSTALL_DIR/ucloud"
export PATH="$INSTALL_DIR:$PATH"
No suspicious patterns detected.