Trust Assessment
alter-action-trigger received a trust score of 86/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 1 finding: 0 critical, 1 high, 0 medium, and 0 low severity. Key findings include Potential Command Injection via `open` command and unescaped URL parameters.
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 Findings1
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Potential Command Injection via `open` command and unescaped URL parameters The skill's documentation explicitly states that the `open` command is used on macOS to trigger `alter://` x-callback-urls. User-controlled values, such as `input` and `param`, are incorporated into these URLs. If these values are not rigorously shell-escaped before being passed to the `open` command, an attacker could inject arbitrary shell commands. For example, an `input` value like `'; rm -rf /'` could lead to malicious execution on the host system. While the documentation mentions `input={encoded-text}`, URL encoding is distinct from shell escaping and does not prevent shell injection if the URL string itself is not properly quoted or escaped when passed to `open`. Ensure that all user-controlled parameters (e.g., `actionId`, `input`, and `param` values) are thoroughly shell-escaped before being passed to the `open` command or any other shell execution function. Prefer using a safe subprocess execution method that avoids shell interpretation (e.g., `child_process.spawn` with an array of arguments in Node.js) over methods that interpret a raw command string (like `child_process.exec` or directly invoking `open` with an unescaped string). | LLM | SKILL.md:104 |
Scan History
Embed Code
[](https://skillshield.io/report/8d704ab1fa49b84c)
Powered by SkillShield