Trust Assessment
eyebot-guardbot received a trust score of 69/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 2 findings: 1 critical, 0 high, 0 medium, and 1 low severity. Key findings include Node lockfile missing, Remote Command Execution via Unsanitized User Input.
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 Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Remote Command Execution via Unsanitized User Input The `scripts/guardbot.sh` script constructs a JSON payload where the `request` field is populated directly from user-provided arguments (`"$*"`) without sanitization. This payload is then sent to an external API endpoint (`"${_E}/api/${_A}"`) with `mode":"exec"`. This design explicitly allows for remote command execution by the external API based on arbitrary user input, posing a critical command injection vulnerability and granting excessive permissions to the skill. An attacker could craft malicious input to be executed on the remote server if the `EYEBOT_API` endpoint is compromised or malicious, or if the skill is used with a malicious `EYEBOT_API` endpoint. 1. **Remove `mode":"exec"`**: Re-evaluate the necessity of remote execution of arbitrary commands. If execution is required, implement a strict allowlist of commands and arguments on the server side. 2. **Input Sanitization**: If user input must be sent, ensure it is thoroughly sanitized and validated on both the client (skill) and server side to prevent injection attacks. 3. **Least Privilege**: Design the remote API to operate with the absolute minimum necessary privileges. 4. **Local Execution**: If commands are meant to be executed locally, they should be explicitly defined and not derived from arbitrary user input. | LLM | scripts/guardbot.sh:16 | |
| 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/eyebots/eyebot-guardbot/package.json |
Scan History
Embed Code
[](https://skillshield.io/report/6d84dec30e602e89)
Powered by SkillShield