Back to skill
Skillv1.2.4
ClawScan security
Lovefromio Garmin Health Analysis · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
BenignApr 27, 2026, 2:05 AM
- Verdict
- benign
- Confidence
- medium
- Model
- gpt-5-mini
- Summary
- The skill's code, instructions, and requested credentials are coherent with its stated purpose (accessing Garmin Connect via the unofficial garminconnect library), but there are a few practice and privacy concerns you should review before installing.
- Guidance
- This skill appears to do what it says (uses the unofficial python-garminconnect library to fetch and analyze Garmin data). Before installing: 1) Don't commit or reuse real credentials—remove or overwrite the included config.json with your own or rely on environment variables; the repository currently contains a config.json with an email/password value which you should delete. 2) Understand tokens are stored locally (~/.clawdbot/garmin-tokens.json) and may be shared with other local tools (MCP server) if you use both; restrict file permissions if needed. 3) Verify and review the garminconnect, fitparse, and gpxpy packages you install (supply-chain risk). 4) Using the unofficial API may violate Garmin's Terms of Service and can break if Garmin changes their site; consider creating a dedicated/test Garmin account if you want to reduce risk to a primary account. 5) Two-factor auth is likely unsupported; expect authentication limitations. If you want higher assurance, inspect garmin_auth.py and related scripts yourself (they are included) or run them in an isolated environment (container or separate account) first.
Review Dimensions
- Purpose & Capability
- okName/description ask to read Garmin Connect data and the repo contains scripts (authentication, data fetch, parsing, charting) and declares the expected Python libraries. Requesting GARMIN_EMAIL and GARMIN_PASSWORD matches the unofficial garminconnect library's email/password flow.
- Instruction Scope
- noteSKILL.md and scripts instruct the agent to read credentials from env vars, local config.json, command-line args, or Clawdbot config and to store session tokens in ~/.clawdbot/garmin-tokens.json. That behavior is expected for this type of skill, but the instructions grant the skill direct read/write access to local credential/config files and token storage—review that these paths are acceptable for your environment.
- Install Mechanism
- okNo download-from-arbitrary-URL installs. Dependencies are typical Python packages (garminconnect, fitparse, gpxpy) installed via pip per install.sh and SKILL.md. These are traceable PyPI packages; standard caution about verifying third-party packages applies.
- Credentials
- concernOnly GARMIN_EMAIL and GARMIN_PASSWORD are requested which fits the unofficial API. However, the repo includes a committed config.json with an email/password value — this suggests credentials are stored in-repo and contradicts the 'config.json is gitignored' note. Presence of a credentials file in the published manifest is a privacy/operational concern and should be removed before use.
- Persistence & Privilege
- notealways:false (normal). The skill writes session tokens to a local path (~/.clawdbot/garmin-tokens.json) and the README mentions token sharing with a separate MCP server repo; this persistent token sharing is expected for usability but increases the scope of access if multiple tools read that token file—confirm you are comfortable with that shared token location.
