Trust Assessment
trein received a trust score of 83/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 2 findings: 0 critical, 1 high, 1 medium, and 0 low severity. Key findings include Unpinned npm dependency, Potential Command Injection via unquoted 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 | |
|---|---|---|---|---|
| HIGH | Potential Command Injection via unquoted user input The skill instructs the AI agent to construct and execute shell commands using user-provided station names (e.g., `trein departures "Amsterdam Centraal"`). While the skill explicitly advises to "Quote station names containing spaces (...) to prevent argument parsing errors", this relies on the AI agent's perfect implementation of quoting/escaping. If user input containing shell metacharacters (e.g., `;`, `|`, `&`, `$(...)`) is not properly quoted or escaped before being passed to the shell, it could lead to arbitrary command execution. The AI agent's implementation should robustly sanitize and shell-escape all user-provided arguments before constructing and executing shell commands. Relying solely on quoting for spaces is insufficient for full shell safety. Consider using a dedicated library or function for shell command construction that handles escaping automatically for all potential metacharacters. | LLM | SKILL.md:108 | |
| MEDIUM | Unpinned npm dependency The skill instructs the AI agent to install the `trein` package via `npm i -g trein` without specifying a version. This means that future installations could pull any version published by the package maintainer, including potentially malicious updates, without explicit review or control, posing a supply chain risk. Pin the npm package version in the manifest (e.g., `"package": "trein@1.2.3"`) to ensure deterministic installations and prevent unexpected updates. | LLM | Manifest (frontmatter JSON) |
Scan History
Embed Code
[](https://skillshield.io/report/88f5560fb4e5a4ff)
Powered by SkillShield