Trust Assessment
secure-install received a trust score of 48/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 5 findings: 1 critical, 0 high, 3 medium, and 1 low severity. Key findings include Missing required field: name, Unpinned npm dependency version, Node lockfile missing.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The LLM Behavioral Safety layer scored lowest at 63/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 Findings5
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Unsanitized input in shell command The `skillName` parameter in the `executeClawhubInstall` function is directly interpolated into a shell command string without proper sanitization or escaping. This allows for command injection if a malicious `skillName` is provided (e.g., `'; rm -rf /'`), leading to arbitrary code execution on the host system. Although the `SKILL.md` describes a user confirmation step, this does not mitigate the underlying code vulnerability if the LLM is tricked into approving a malicious input. Sanitize the `skillName` using a shell-escaping utility (e.g., `shlex.quote` in Python, or a similar library in TypeScript/Node.js) before passing it to `execAsync`. Alternatively, use `child_process.spawn` with the command and arguments as separate array elements to avoid shell interpretation entirely. | LLM | src/index.ts:45 | |
| MEDIUM | Missing required field: name The 'name' field is required for claude_code skills but is missing from frontmatter. Add a 'name' field to the SKILL.md frontmatter. | Static | skills/smintlife/secure-install/SKILL.md:1 | |
| MEDIUM | Unpinned npm dependency version Dependency 'child_process' is not pinned to an exact version ('^1.0.2'). Pin dependencies to exact versions to reduce drift and supply-chain risk. | Dependencies | skills/smintlife/secure-install/package.json | |
| MEDIUM | Unpinned dependency 'openclaw' The `openclaw` peer dependency is specified with `"latest"` in `package.json`. This means that the skill will always pull the newest version available, which can lead to unexpected breaking changes or, in a worst-case scenario, introduce malicious code if a future `openclaw` release is compromised, without explicit review or version control. Pin the `openclaw` dependency to a specific major.minor.patch version (e.g., `"openclaw": "1.2.3"`) or at least a major version range (e.g., `"openclaw": "^1.0.0"`) to ensure predictable and reviewable updates. | LLM | package.json:11 | |
| LOW | Node lockfile missing package.json is present but no lockfile was found (package-lock.json, pnpm-lock.yaml, or yarn.lock). Commit a lockfile for deterministic dependency resolution. | Dependencies | skills/smintlife/secure-install/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/b151ab6515599519)
Powered by SkillShield