T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:17- Finding
Unverified Remote Installer Is Piped Directly into Bash
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 17
Vulnerability Type:T03: Remote Payload Retrieval and Execution
Risk Level: HighComplete Code Snippet:
bash curl -fsSL https://cli.tavily.com/install.sh | bash && tvly loginTechnical Analysis
The installation instruction downloads a shell script from an external URL and immediately executes it with Bash. The downloaded content is not pinned to a version, saved for inspection, checked against a cryptographic hash, or verified with a trusted signature.
Although the hostname appears consistent with the declared Tavily integration, the repository does not contain the installer or evidence sufficient to verify its current and future contents. The effective executable payload can therefore change after this Skill has been reviewed. Compromise of the remote hosting infrastructure, domain, DNS resolution path, TLS termination, or release process could turn the installer into an arbitrary code-execution mechanism.
The surrounding instructions increase exposure by telling the agent to perform this installation automatically whenever
tvlyis absent and stating, “Do not skip this step or fall back to other tools.” Installing unreviewed remote code is broader than the minimum privileges required to invoke an already-installed research CLI.Attack Path
- A user requests a research task covered by the Skill.
- The agent checks its environment and does not find
tvlyonPATH. - Following the Skill instructions, the agent retrieves
https://cli.tavily.com/install.sh. - The response body is streamed directly to Bash without prior inspection or integrity verification.
- If the delivery infrastructure or installer has been compromised or maliciously changed, attacker-controlled shell commands execute with the same operating-system identity and privileges as the agent.
- After the script completes successfully,
tvly loginst ...[truncated 910 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove automatic installation from the Skill workflow. If
tvlyis unavailable, stop and ask the user to install it through an independently documented and trusted process. - Do not pipe network responses directly into a shell. Download the installer to a local file, display or inspect it, and require explicit user approval before execution.
- Use a version-pinned release artifact rather than a mutable installer endpoint.
- Verify the artifact using a cryptographic signature from a separately established trust root or a published SHA-256 checksum obtained through an authenticated, independent channel.
- Prefer a reputable package manager with locked versions and integrity metadata where an official package is available.
- Run installation with an unprivileged account and avoid
sudoor administrator access. Constrain filesystem and network access where sandboxing is available. - Replace “Do not skip this step or fall back to other tools” with fail-closed guidance that permits the agent to report the missing dependency without executing remote code.
- Keep authentication separate from installation and explain what credentials or tokens are created, where they are stored, and what permissions they receive.
- Remove automatic installation from the Skill workflow. If
