T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:85- Finding
Unverified Remote Installer Is Piped Directly into Bash
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 85
Vulnerability Type: Remote payload retrieval and immediate execution
Risk Level: CriticalVulnerable Code:
bash curl -sSL https://vapi.ai/install.sh | bashTechnical Analysis
The installation instructions download a mutable script from an external URL and immediately execute the response with Bash. There is no version pinning, signature verification, checksum validation, or opportunity to inspect the downloaded content before execution.
HTTPS provides transport protection but does not establish that every future response is safe or immutable. If the vendor host, DNS configuration, CDN, deployment pipeline, or installer distribution infrastructure is compromised, the command will execute attacker-controlled shell code with the privileges and environment of the invoking user.
The CLI integration is optional, while the project already provides a REST helper. Consequently, remote shell execution is not necessary for the Skill's primary declared functionality and exceeds the minimum capabilities required.
Attack Path
- An attacker compromises or otherwise gains control over the response served from
https://vapi.ai/install.sh. - The attacker modifies the installer response to contain arbitrary shell commands.
- A user or Agent follows the documented installation command.
curlretrieves the attacker-controlled response and streams it directly to Bash.- Bash executes the payload without integrity verification or prior review.
- The payload operates with the invoking user's permissions and can access files, environment variables, credentials, and available network resources.
Impact Assessment
Successful exploitation provides arbitrary command execution under the invoking user's account. Depending on that account's privileges and environment, an attacker could:
- Read or modify files accessible to the user.
- St ...[truncated 329 chars]
- An attacker compromises or otherwise gains control over the response served from
- Remediation
View remediation
Remediation Suggestions
- Remove the
curl | bashinstallation pattern. - Prefer a pinned, versioned release obtained from a verified official package repository.
- If a standalone installer is required, download it to a local file without executing it immediately.
- Publish and verify a cryptographic signature using a trusted, separately distributed signing key.
- Publish a version-specific checksum and compare it before execution.
- Allow users to inspect the downloaded script before explicitly invoking it.
- Run installation with a non-administrative account and request elevated privileges only for narrowly scoped operations that require them.
- Document the REST helper as the default approach because it does not require installation of a remote script.
- Pin the installer or release URL to a reviewed version rather than using a mutable endpoint.
- Remove the
