Trust Assessment
trainingpeaks received a trust score of 84/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 3 findings: 0 critical, 0 high, 2 medium, and 1 low severity. Key findings include Unsafe deserialization / dynamic eval, Suspicious import: urllib.request, Inconsistent Permissions for Sensitive Configuration File.
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 Findings3
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| MEDIUM | Unsafe deserialization / dynamic eval Decryption followed by code execution Remove obfuscated code execution patterns. Legitimate code does not need base64-encoded payloads executed via eval, encrypted-then-executed blobs, or dynamic attribute resolution to call system functions. | Manifest | skills/rubengarciam/trainingpeaks/scripts/tp.py:4 | |
| MEDIUM | Suspicious import: urllib.request Import of 'urllib.request' detected. This module provides network or low-level system access. Verify this import is necessary. Network and system modules in skill code may indicate data exfiltration. | Static | skills/rubengarciam/trainingpeaks/scripts/tp.py:13 | |
| LOW | Inconsistent Permissions for Sensitive Configuration File The `config.json` file, which stores personal identifiable information (PII) such as athlete ID and email, is written without explicitly setting restrictive file permissions (e.g., 0o600). While the `cookie` and `token.json` files correctly have their permissions set to 0o600, `config.json` relies on the system's default umask, which might be less restrictive. This could potentially allow other local users to read sensitive user data. After writing `config.json`, explicitly set its file permissions to 0o600, similar to how `COOKIE_FILE` and `TOKEN_FILE` are handled. For example, add `CONFIG_FILE.chmod(0o600)` after `CONFIG_FILE.write_text(...)`. | LLM | scripts/tp.py:150 |
Scan History
Embed Code
[](https://skillshield.io/report/8cdf80e2c8b7f9b0)
Powered by SkillShield