T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:64- Finding
Remote Installer Downloaded and Executed Without Verification
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is a straightforward security-scanner helper, but it tells users to run mutable external code and a remote shell installer without version pinning or verification.
Review this before installing. Prefer a pinned, reviewed version of snyk-agent-scan, avoid copy-pasting the curl | sh installer, and run scans with only the paths needed under a non-administrative account. There is no artifact evidence of deception, exfiltration, or destructive behavior, but the current instructions rely too heavily on mutable third-party code.
SKILL.md:64Remote Installer Downloaded and Executed Without Verification
SKILL.md:14Unpinned Latest Package Releases Are Downloaded and Executed
The | sh pipeline is a direct command-chaining pattern that executes untrusted remote content without inspection. In the context of a security-focused skill, this is particularly risky because users may grant it extra trust and run the command on systems where compromise would expose credentials or source code.
brew install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
## OpenClaw Skills Location
The skill metadata instructs use of uvx snyk-agent-scan without pinning to a specific version, which allows execution of whatever package version is current at runtime. Because this skill explicitly runs external code for security auditing, an unexpected upstream change or package compromise could lead to execution of malicious or unreviewed code.
This command uses @latest, which is effectively unpinned and causes the tool to fetch and execute the newest available release at runtime. In a security-scanning skill that users may trust and run routinely, this increases supply-chain risk if a bad release or account compromise occurs upstream.
The documented MCP scan command also uses @latest, so execution is tied to whatever package version is published when the command is run. That creates a real supply-chain exposure because the skill's intended behavior is to execute external code directly on the host.
Using @latest in the verbose scan example still results in unreviewed code execution from the network at runtime. The extra context does not mitigate the underlying risk; users may copy-paste this command exactly as shown.
The JSON automation example is especially sensitive because it may be incorporated into scripts or CI, causing repeated automatic execution of the latest remote package. That broadens the blast radius of an upstream compromise beyond an interactive one-off command.
The custom-path example still invokes snyk-agent-scan@latest, so the path argument does not change the core issue: the command executes a dynamically resolved external package. Since the skill is meant to inspect local skill directories, a compromised upstream package could gain broad visibility into developer files.
The Linux installation instruction fetches a remote script over the network and pipes it directly to a shell. This is dangerous because any compromise of the hosting site, transport, or script contents results in immediate arbitrary code execution on the user's machine.
brew install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
## OpenClaw Skills Location
No suspicious patterns detected.