Security Audit
nvidia/skillspector:tests/fixtures/sqp/sqp2_clean
github.com/nvidia/skillspectorTrust Assessment
nvidia/skillspector:tests/fixtures/sqp/sqp2_clean received a trust score of 41/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 3 findings: 1 critical, 2 high, 0 medium, and 0 low severity. Key findings include Arbitrary command execution, Dangerous call: subprocess.run(), Command Injection via unsanitized parameters in shell execution.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on June 4, 2026 (commit 2eb84478). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings3
| 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 | tests/fixtures/sqp/sqp2_clean/deploy.py:16 | |
| HIGH | Dangerous call: subprocess.run() Call to 'subprocess.run()' detected in function 'deploy'. This can execute arbitrary code. Avoid using dangerous functions like exec/eval/os.system. Use safer alternatives. | Static | tests/fixtures/sqp/sqp2_clean/deploy.py:16 | |
| HIGH | Command Injection via unsanitized parameters in shell execution The `deploy` function constructs a shell command using f-strings with unsanitized `service` and `env` parameters, and executes it with `shell=True`. This allows arbitrary shell command execution if the parameters contain shell metacharacters (e.g., semicolons, backticks, or command substitutions). Avoid using `shell=True` and pass the command as a list of arguments to `subprocess.run`. If `shell=True` is absolutely necessary, sanitize the inputs using `shlex.quote` or validate them against a strict whitelist (e.g., regex `^[a-zA-Z0-9_-]+$`). | LLM | deploy.py:16 |
Scan History
Embed Code
[](https://skillshield.io/report/5843bb1a7b6695ce)
Powered by SkillShield