Trust Assessment
webapp-testing 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 6 findings: 3 critical, 2 high, 1 medium, and 0 low severity. Key findings include Arbitrary command execution, Dangerous call: subprocess.run(), Dangerous call: subprocess.Popen().
The analysis covered 4 layers: dependency_graph, manifest_analysis, llm_behavioral_safety, static_code_analysis. The manifest_analysis layer scored lowest at 40/100, indicating areas for improvement.
Last analyzed on February 11, 2026 (commit 1ed29a03). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings6
| 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. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-pi2bwhqq/repo/skills/webapp-testing/scripts/with_server.py:69 | |
| 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. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-pi2bwhqq/repo/skills/webapp-testing/scripts/with_server.py:88 | |
| CRITICAL | Command Injection via `subprocess.Popen(shell=True)` in `with_server.py` The `scripts/with_server.py` utility, which the skill instructs the agent to use for managing web application servers, executes user-provided server commands using `subprocess.Popen(server['cmd'], shell=True, ...)`. The use of `shell=True` with input derived from untrusted sources (such as user-provided server commands) creates a critical command injection vulnerability. An attacker could craft a malicious `--server` argument (e.g., `--server "npm run dev; rm -rf /"`) to execute arbitrary shell commands on the host system. This could lead to data exfiltration, system compromise, or denial of service. The skill's documentation explicitly demonstrates using shell features like `cd` and `&&` in the `--server` argument, confirming the reliance on `shell=True` for command parsing. Avoid using `shell=True` when executing commands derived from untrusted input. Instead, parse the command and its arguments carefully and pass them as a list to `subprocess.Popen`. If shell features like `cd` or `&&` are strictly necessary, consider using the `cwd` argument for directory changes and splitting complex commands into multiple `subprocess` calls, or implement robust input sanitization and validation to prevent injection of shell metacharacters. For example, instead of `shell=True`, use `subprocess.Popen(['bash', '-c', server['cmd']])` but ensure `server['cmd']` is thoroughly sanitized or restricted. | Unknown | scripts/with_server.py:60 | |
| 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. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-pi2bwhqq/repo/skills/webapp-testing/scripts/with_server.py:88 | |
| HIGH | Dangerous call: subprocess.Popen() Call to 'subprocess.Popen()' detected in function 'main'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-pi2bwhqq/repo/skills/webapp-testing/scripts/with_server.py:69 | |
| MEDIUM | Suspicious import: socket Import of 'socket' detected. This module provides network or low-level system access. Verify this import is necessary. Network and system modules in skill code may indicate data exfiltration. | Unknown | /var/folders/1k/67b8r20n777f_xcmmm8b7m5h0000gn/T/skillscan-clone-pi2bwhqq/repo/skills/webapp-testing/scripts/with_server.py:18 |
Scan History
Embed Code
[](https://skillshield.io/report/2043046b07294c0b)
Powered by SkillShield