T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:17- Finding
Unverified Remote Installer Piped Directly into Bash
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 17
Vulnerability Type: Remote payload retrieval and execution
Risk Level: CriticalVulnerable Code:
bash curl -s https://raw.githubusercontent.com/babashka/babashka/master/install | bashTechnical Analysis
The installation instructions download a shell script from a mutable upstream branch and execute it immediately. The remote content is not pinned to an immutable release or commit and is not subject to checksum, signature, or manual verification before execution.
The apparent upstream GitHub repository may currently be legitimate, but the effective payload can change after this Skill has been reviewed. Compromise of the repository, maintainer account, upstream branch, or delivery path could therefore convert this instruction into arbitrary code execution. Piping directly to Bash also prevents the user from inspecting the downloaded artifact before it runs.
This behavior is unnecessary for the Skill's minimum operational privileges. Installing a dependency may be legitimate, but executing mutable remote content without verification is not required to install it safely.
Attack Path
- An attacker compromises the upstream repository, a maintainer account, or another part of the remote delivery chain.
- The attacker modifies the installer served from the mutable
masterbranch. - A user follows the Skill's recommended Quick Start instruction.
curldownloads the attacker-controlled shell content.- Bash executes the content immediately without integrity or authenticity verification.
- The payload performs arbitrary actions with the permissions of the user running the command.
Impact Assessment
Successful exploitation provides arbitrary local command execution under the invoking user's account. The payload could read or modify user-accessible files, inspect environment variables and credentials, alter local configurat ...[truncated 389 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the direct
curl | bashinstallation instruction. - Prefer a trusted package manager with version pinning, such as the documented Nix or Homebrew alternatives.
- If direct installation is necessary:
- Pin an immutable release version or commit instead of using
master. - Download the artifact to a local file without executing it.
- Verify a publisher-provided cryptographic signature or checksum obtained through a trusted channel.
- Inspect the downloaded script before execution.
- Execute it as an unprivileged user and document any permissions it requires.
- Pin an immutable release version or commit instead of using
- Use
curl --fail --show-error --locationso HTTP failures are not silently treated as installer content. - Document the exact dependency version and update process so changes can be reviewed before deployment.
- Remove the direct
