Trust Assessment
garmin-connect 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 Potential Command Injection via LLM-constructed arguments, Unpinned dependency 'cloudscraper'.
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 LLM-constructed arguments The skill's documentation (`SKILL.md`) provides examples of `uv run` commands that take user-provided arguments (e.g., `--email`). If the host LLM constructs these commands by directly interpolating untrusted user input into the shell command string without proper sanitization or escaping, it could lead to command injection. An attacker could inject shell metacharacters (e.g., `;`, `&`, `|`) into the argument value, potentially executing arbitrary commands on the system. The host LLM should be explicitly instructed to sanitize and properly escape all user-provided input before incorporating it into shell commands. Alternatively, the skill could provide a more robust interface that avoids direct shell command construction from untrusted input, or the script itself could perform more stringent validation of arguments if they are expected to contain sensitive characters. | LLM | SKILL.md:19 | |
| MEDIUM | Unpinned dependency 'cloudscraper' The `scripts/sync_garmin.py` file specifies `cloudscraper` as a dependency without pinning it to a specific version (e.g., `cloudscraper==1.2.3`). This means that future installations could pull any new version of `cloudscraper`, potentially introducing breaking changes, unexpected behavior, or, in a worst-case scenario, a malicious update if the package maintainer's account is compromised. Pin the `cloudscraper` dependency to a specific version or a more restrictive range (e.g., `cloudscraper~=1.2.3` or `cloudscraper==1.2.3`) to ensure consistent and predictable behavior and reduce the risk of unexpected updates. | LLM | scripts/sync_garmin.py:3 |
Scan History
Embed Code
[](https://skillshield.io/report/3c011528d70079da)
Powered by SkillShield