Trust Assessment
leo-wallet received a trust score of 10/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 20 findings: 14 critical, 6 high, 0 medium, and 0 low severity. Key findings include Arbitrary command execution, Remote code execution: curl/wget pipe to shell, Potential Command Injection in 'ADDRESS' placeholder.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Manifest Analysis layer scored lowest at 0/100, indicating areas for improvement.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings20
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/sakaen736jih/leo-wallet/SKILL.md:8 | |
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/sakaen736jih/leo-wallet/SKILL.md:13 | |
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/sakaen736jih/leo-wallet/SKILL.md:26 | |
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/sakaen736jih/leo-wallet/SKILL.md:38 | |
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/sakaen736jih/leo-wallet/SKILL.md:44 | |
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/sakaen736jih/leo-wallet/SKILL.md:50 | |
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/sakaen736jih/leo-wallet/SKILL.md:56 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/sakaen736jih/leo-wallet/SKILL.md:8 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/sakaen736jih/leo-wallet/SKILL.md:13 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/sakaen736jih/leo-wallet/SKILL.md:26 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/sakaen736jih/leo-wallet/SKILL.md:32 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/sakaen736jih/leo-wallet/SKILL.md:44 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/sakaen736jih/leo-wallet/SKILL.md:50 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/sakaen736jih/leo-wallet/SKILL.md:56 | |
| HIGH | Potential Command Injection in 'ADDRESS' placeholder The skill documentation includes a `curl` command that uses an `ADDRESS` placeholder. If an AI agent substitutes untrusted user input directly into this placeholder without sanitization before executing the command, it could lead to arbitrary command execution. An attacker could inject shell metacharacters (e.g., `'; rm -rf /'`) to execute malicious commands on the host system. Implement robust input validation and sanitization for all user-provided parameters before constructing and executing shell commands. Use parameterized execution methods where possible, or strictly whitelist allowed characters for `ADDRESS`. | LLM | SKILL.md:18 | |
| HIGH | Potential Command Injection in 'TX_ID' placeholder Similar to the `ADDRESS` placeholder, the `TX_ID` placeholder in the `Get Transaction` command is vulnerable to command injection if untrusted user input is directly substituted without sanitization. An attacker could inject shell metacharacters to execute malicious commands. Implement robust input validation and sanitization for all user-provided parameters before constructing and executing shell commands. Strictly whitelist allowed characters for `TX_ID`. | LLM | SKILL.md:37 | |
| HIGH | Potential Command Injection in 'BLOCK_HEIGHT' placeholder The `BLOCK_HEIGHT` placeholder in the `Get Block by Height` command is vulnerable to command injection if untrusted user input is directly substituted without sanitization. An attacker could inject shell metacharacters to execute malicious commands. Implement robust input validation and sanitization for all user-provided parameters before constructing and executing shell commands. Strictly validate `BLOCK_HEIGHT` as an integer. | LLM | SKILL.md:43 | |
| HIGH | Potential Command Injection in 'my_program' placeholder The `my_program` placeholder in the `leo new` command is vulnerable to command injection if untrusted user input is directly substituted without sanitization. An attacker could inject shell metacharacters to execute malicious commands when creating a new project. Implement robust input validation and sanitization for all user-provided parameters before constructing and executing shell commands. Strictly whitelist allowed characters for program names. | LLM | SKILL.md:87 | |
| HIGH | Unpinned 'curl | bash' for 'snarkos' installation in manifest The skill's manifest includes an installation command `curl -sSf https://raw.githubusercontent.com/AleoHQ/snarkOS/mainnet/install.sh | bash`. This pattern fetches and executes a script directly from a remote URL. This poses a significant supply chain risk, as a compromise of the `AleoHQ/snarkOS` repository or the GitHub CDN could lead to the execution of arbitrary malicious code on the host system during skill installation. The script is not pinned to a specific version or hash, making it susceptible to changes in the remote script. Avoid piping `curl` output directly to `bash`. Instead, download the script, review it, and execute it locally, or use a package manager with cryptographic verification. If remote execution is necessary, pin the script to a specific commit hash or use a trusted, versioned package. | LLM | SKILL.md:1 | |
| HIGH | Unpinned 'curl | bash' for 'leo' installation in documentation The skill documentation suggests installing `leo` using `curl -sSf https://raw.githubusercontent.com/AleoHQ/leo/mainnet/install.sh | bash`. Similar to the `snarkos` installation, this pattern fetches and executes a script directly from a remote URL, posing a significant supply chain risk. A compromise of the `AleoHQ/leo` repository or the GitHub CDN could lead to the execution of arbitrary malicious code if the LLM is prompted to follow these instructions. The script is not pinned to a specific version or hash. Avoid piping `curl` output directly to `bash`. Instead, download the script, review it, and execute it locally, or use a package manager with cryptographic verification. If remote execution is necessary, pin the script to a specific commit hash or use a trusted, versioned package. | LLM | SKILL.md:12 |
Scan History
Embed Code
[](https://skillshield.io/report/a874b2f47d8a49a2)
Powered by SkillShield