Trust Assessment
openclaw-toolbox 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 22 findings: 12 critical, 8 high, 2 medium, and 0 low severity. Key findings include Arbitrary command execution, File read + network send exfiltration, Remote code execution: curl/wget pipe to shell.
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 Findings22
| 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/wilsonliu95/openclaw-toolbox/scripts/setup.sh:148 | |
| CRITICAL | File read + network send exfiltration AI agent config/credential file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:313 | |
| CRITICAL | File read + network send exfiltration AI agent config/credential file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:314 | |
| CRITICAL | File read + network send exfiltration AI agent config/credential file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:316 | |
| CRITICAL | File read + network send exfiltration AI agent config/credential file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:320 | |
| CRITICAL | File read + network send exfiltration AI agent config/credential file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:321 | |
| CRITICAL | File read + network send exfiltration AI agent config/credential file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:323 | |
| CRITICAL | File read + network send exfiltration AI agent config/credential file access Remove access to sensitive files not required by the skill's stated purpose. SSH keys, cloud credentials, and browser data should never be read by skills unless explicitly part of their declared functionality. | Manifest | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:339 | |
| 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/wilsonliu95/openclaw-toolbox/scripts/setup.sh:148 | |
| CRITICAL | Command Injection via user-controlled commit message The `git commit -m "$COMMIT_MSG"` command uses a user-provided commit message (`COMMIT_MSG`) directly without proper sanitization or quoting. An attacker can inject shell metacharacters into the commit message, leading to arbitrary command execution on the host system. For example, a message like `my commit"; rm -rf /; echo "` would execute `rm -rf /`. Sanitize user-provided input before using it in shell commands. For Git commit messages, consider using `git commit -F -` and piping the message to stdin, or ensuring the message is properly escaped for the shell. Example: `git commit -F - <<< "$COMMIT_MSG"`. | LLM | scripts/backup-now.sh:140 | |
| CRITICAL | Command Injection via user-controlled commit message The `git commit -m "$COMMIT_MSG"` command uses a user-provided commit message (`COMMIT_MSG`) directly without proper sanitization or quoting. An attacker can inject shell metacharacters into the commit message, leading to arbitrary command execution on the host system. For example, a message like `my commit"; rm -rf /; echo "` would execute `rm -rf /`. Sanitize user-provided input before using it in shell commands. For Git commit messages, consider using `git commit -F -` and piping the message to stdin, or ensuring the message is properly escaped for the shell. Example: `git commit -F - <<< "$COMMIT_MSG"`. | LLM | scripts/backup.sh:90 | |
| CRITICAL | Command Injection via unquoted environment variable in git clone The `git clone "$OPENCLAW_SKILLS_GITHUB_URL" "$SKILLS_DIR"` command uses the `OPENCLAW_SKILLS_GITHUB_URL` variable, which is loaded from the `.env` file, without proper quoting. If this environment variable contains shell metacharacters (e.g., `https://malicious.com/repo.git; rm -rf /`), it can lead to arbitrary command execution on the host system. Ensure that all variables used in shell commands are properly quoted to prevent shell expansion of malicious input. While double quotes generally protect against word splitting and globbing, for URLs, it's safer to ensure the variable content is clean or use a more robust method if the URL can contain arbitrary user input. In this case, the variable is already double-quoted, but the issue is that the variable itself could contain a command separator (like `;`) which would still be interpreted by the shell. A more robust solution would be to validate the URL format or use a Git client library that doesn't rely on shell execution for cloning. | LLM | scripts/backup-now.sh:70 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:313 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:314 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:316 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:320 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:321 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:323 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.claude/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:339 | |
| HIGH | Supply Chain Risk: Unpinned npm dependencies The `npm install -g "$pkg"` commands install global npm packages without specifying exact versions. This means the script will always pull the latest available version of these packages. If a package maintainer's account is compromised or a malicious update is pushed, it could introduce vulnerabilities or malicious code into the system without explicit review. This is a common supply chain risk. Pin dependencies to specific versions (e.g., `npm install -g package@1.2.3`) to ensure reproducibility and prevent unexpected or malicious updates. Regularly review and update pinned versions. | LLM | scripts/setup.sh:169 | |
| MEDIUM | Sensitive environment variable access: $HOME Access to sensitive environment variable '$HOME' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/wilsonliu95/openclaw-toolbox/scripts/setup.sh:149 | |
| MEDIUM | Supply Chain Risk: Direct script execution from remote URL The script directly downloads and executes a shell script from a remote URL (`https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash`). While NVM is a widely used and generally trusted tool, this practice introduces a supply chain risk. If the remote server is compromised or the script itself contains malicious code, it would be executed directly on the host system with the user's permissions. Although the version is pinned, the initial trust in the remote content is absolute. Avoid piping remote scripts directly to `bash`. Instead, download the script, review its contents, and then execute it locally. Alternatively, use package managers or official installation methods that provide integrity checks (e.g., checksums, GPG signatures). | LLM | scripts/setup.sh:128 |
Scan History
Embed Code
[](https://skillshield.io/report/78f603423205f700)
Powered by SkillShield