Trust Assessment
model-guard received a trust score of 46/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 4 findings: 1 critical, 1 high, 1 medium, and 1 low severity. Key findings include Arbitrary command execution, Missing required field: name, Node lockfile missing.
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 February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings4
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Node.js synchronous shell execution 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/sarielwang93/model-guard/guard.js:23 | |
| HIGH | Untrusted skill uses `execSync` for shell command execution The `guard.js` script, which is part of the untrusted skill package, imports and utilizes `child_process.execSync`. This function allows the skill to execute arbitrary shell commands on the host system. Although the current commands passed to `execSync` (`openclaw models status`, `openclaw models set`) use hardcoded arguments or arguments derived from hardcoded lists, the mere presence and usage of `execSync` in an untrusted skill grants it broad system access. This capability could be exploited if the skill were to be modified maliciously, allowing for arbitrary command injection and execution on the host. Review the necessity of direct shell command execution. If interaction with the `openclaw` CLI is required, consider using a more sandboxed or restricted method if available, or ensure that all arguments passed to `execSync` are rigorously validated and sanitized. For critical operations, consider using a dedicated API client instead of shelling out to a CLI tool. Additionally, avoid suppressing stderr (`stdio: ['ignore', 'pipe', 'ignore']`) as it can hide important error messages or warnings. | LLM | guard.js:3 | |
| 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/sarielwang93/model-guard/SKILL.md:1 | |
| 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/sarielwang93/model-guard/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/666fddd61ba44a03)
Powered by SkillShield