T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:85- Finding
Unverified Remote Installer Executed Directly by Bash
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 85
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighVulnerable Code
bash curl -sSL https://vapi.ai/install.sh | bashTechnical Analysis
The installation command downloads a mutable script from an external URL and immediately executes it with Bash. The script is not pinned to a reviewed version, downloaded for inspection, or validated with a cryptographic signature or checksum. Consequently, the code that executes may differ from the content available at the time of this audit.
Use of HTTPS protects the connection in transit but does not mitigate compromise of the vendor domain, hosting infrastructure, DNS or certificate ecosystem, deployment pipeline, or installer itself. Because the response is piped directly into Bash, any supplied shell commands execute without an intermediate verification step.
The Skill describes itself as API-first and states that CLI integration is optional. Therefore, executing a remote installer is not necessary for the core REST-based functionality and exceeds the minimum execution privileges required by the declared purpose.
Attack Path
- A user or Agent follows the CLI installation instructions in
SKILL.md. - The shell retrieves the current response from
https://vapi.ai/install.sh. - The external response is passed directly to Bash without version pinning, inspection, signature verification, or checksum validation.
- If the remote source or its delivery chain is compromised, attacker-controlled shell commands execute with the permissions of the invoking user.
- Those commands can access data and modify resources available to that account, potentially including API credentials present in environment variables.
Impact Assessment
Successful exploitation provides arbitrary command execution under the invoking user's account. The resulting scope may include reading or modifying user-accessible files, ...[truncated 481 chars]
- A user or Agent follows the CLI installation instructions in
- Remediation
View remediation
Remediation Suggestions
- Remove the direct
curl | bashinstallation pattern. - Prefer the documented REST workflow, which does not require installing the optional CLI.
- If the CLI is required, use a pinned, versioned release from an authenticated official release channel.
- Download the artifact separately rather than piping it into a shell:
bash curl --fail --show-error --location \ --output vapi-install.sh \ "https://trusted.example/path/to/pinned/vapi-install.sh" - Verify the downloaded artifact using a vendor-published cryptographic signature or an independently delivered SHA-256 checksum.
- Inspect the verified script before execution and run it as an unprivileged user.
- Avoid requesting
sudoor other elevated privileges unless a specific installation step demonstrably requires them. - Document the exact expected files, permissions, and network operations performed by the installer.
- Add a fixed version and integrity-verification procedure to ensure that the installed code matches the version reviewed during security assessment.
- Remove the direct
