扫描报告
5 /100
ai-coach
个人铁三教练 AI 技能,生成每日训练计划,集成 TrainingPeaks 和 Garmin 数据
合法的铁三教练 AI 技能,代码质量良好,声明与行为一致,无恶意行为或阴影功能。
可以安装
可安全使用。建议将 garminconnect 依赖版本锁定以减少供应链风险。
安全发现 3 项
| 严重性 | 安全发现 | 位置 |
|---|---|---|
| 低危 | garminconnect 依赖无版本锁定 | data_fetcher.py:22 |
| 提示 | 凭证存储符合最佳实践 | scripts/tp_client.py:95 |
| 提示 | 使用标准库 HTTP 请求 | scripts/tp_client.py:1 |
| 资源类型 | 声明权限 | 推断权限 | 状态 | 证据 |
|---|---|---|---|---|
| 文件系统 | READ | READ | ✓ 一致 | tp_client.py:82 read ~/.trainingpeaks/cookie, data_fetcher.py:12 read user_confi… |
| 文件系统 | WRITE | WRITE | ✓ 一致 | tp_client.py:95 store_cookie writes with chmod 0o600; data_fetcher.py stores tok… |
| 网络访问 | READ | READ | ✓ 一致 | tp_client.py:141-156 _http_request GET/POST to tpapi.trainingpeaks.com; data_fet… |
| 环境变量 | READ | READ | ✓ 一致 | tp_client.py:72-77 os.environ.get('TP_AUTH_COOKIE'); data_fetcher.py reads garmi… |
| 命令执行 | NONE | NONE | — | No subprocess/os.system/exec calls found in any script |
3 项发现
中危 外部 URL 外部 URL
https://tpstack.trainingpeaks.com SKILL.md:31 中危 外部 URL 外部 URL
https://tpapi.trainingpeaks.com scripts/tp_client.py:22 提示 邮箱 邮箱地址
[email protected] SKILL.md:69 目录结构
5 文件 · 40.9 KB · 1260 行 Python 3f · 1104L
Markdown 1f · 143L
JSON 1f · 13L
├─
▾
scripts
│ ├─
daily_plan.py
Python
│ ├─
data_fetcher.py
Python
│ └─
tp_client.py
Python
├─
SKILL.md
Markdown
└─
user_config.json
JSON
依赖分析 1 项
| 包名 | 版本 | 来源 | 已知漏洞 | 备注 |
|---|---|---|---|---|
garminconnect | * | pip | 否 | 无版本锁定,存在潜在供应链风险但无已知漏洞 |
安全亮点
✓ 文档声明与代码实现完全一致,无阴影功能
✓ 凭证存储采用 chmod 0o600 权限限制,符合安全最佳实践
✓ TP 客户端使用标准库 urllib,无外部依赖
✓ 无 shell 执行、subprocess、eval 等高危操作
✓ 网络请求仅指向官方域名(tpapi.trainingpeaks.com),无裸 IP 或可疑 URL
✓ 代码结构清晰,有完整的异常处理
✓ 无 base64 解码、管道执行、隐藏指令等恶意模式
✓ 凭证仅用于官方 API 认证,未外传