可信 — 风险评分 5/100
上次扫描:2 天前 重新扫描
5 /100
run-coach
Science-based running coach with HD visual training plans and Garmin sync
合法的跑步教练技能,Garmin同步和Telegram图片发送功能完整声明,无恶意行为
技能名称run-coach
分析耗时46.0s
引擎pi
可以安装
可安全使用。注意garminconnect依赖无版本锁定,建议在生产环境中锁定版本以防API变更

安全发现 3 项

严重性 安全发现 位置
提示
第三方依赖无版本锁定
garmin-sync.py使用pip安装garminconnect但未指定版本
from garminconnect import (Garmin, ...
→ 生产环境中建议在requirements.txt中锁定版本: garminconnect==x.x.x
garmin/garmin-sync.py:18
提示
使用非官方Garmin API
SKILL.md已明确声明garminconnect使用非官方API,可能与Garmin服务条款冲突
⚖️ Legal note: garminconnect uses Garmin's unofficial API
→ 如需严格合规,可禁用Garmin同步功能
SKILL.md:56
提示
凭证通过环境变量传递
TELEGRAM_BOT_TOKEN、GARMIN_EMAIL等凭证通过环境变量读取,符合安全实践
email = os.environ.get('GARMIN_EMAIL', '').strip()
→ 确保环境变量配置安全,避免写入日志
garmin/garmin-sync.py:38-39:38
资源类型声明权限推断权限状态证据
文件系统 WRITE WRITE ✓ 一致 garmin-sync.py:67 writes JSON to garmin/activities/
网络访问 READ READ ✓ 一致 garmin-sync.py:79 client.get_activities_by_date; send-album.mjs:18 sends to api.…
命令执行 WRITE WRITE ✓ 一致 SKILL.md声明exec用于bash scripts和node计算
环境变量 READ READ ✓ 一致 garmin-sync.py:38-39 reads GARMIN_EMAIL/PASSWORD; send-plan.sh:14 reads TELEGRAM…
技能调用 NONE NONE 无跨skill调用
剪贴板 NONE NONE 代码中无clipboard访问
浏览器 NONE NONE Playwright仅用于截图,行为与文档一致
数据库 NONE NONE 无数据库操作
2 项发现
🔗
中危 外部 URL 外部 URL
https://api.telegram.org/bot$
training/send-album.mjs:18
📧
提示 邮箱 邮箱地址
[email protected]
garmin/garmin-sync.py:37

目录结构

8 文件 · 31.6 KB · 920 行
Python 2f · 473L Markdown 2f · 228L JavaScript 2f · 116L Shell 2f · 103L
├─ 📁 garmin
│ ├─ 🐍 garmin-query.py Python 217L · 7.2 KB
│ └─ 🐍 garmin-sync.py Python 256L · 8.4 KB
├─ 📁 training
│ ├─ 📜 screenshot.mjs JavaScript 51L · 1.7 KB
│ ├─ 📜 send-album.mjs JavaScript 65L · 2.5 KB
│ ├─ 🔧 send-plan.sh Shell 45L · 1.4 KB
│ └─ 🔧 text-to-image.sh Shell 58L · 2.5 KB
├─ 📝 MEMORY.md Markdown 44L · 1.4 KB
└─ 📝 SKILL.md Markdown 184L · 6.5 KB

依赖分析 2 项

包名版本来源已知漏洞备注
garminconnect * pip 无版本锁定;使用非官方Garmin API
playwright-core 未声明 system 来自/app/node_modules,仅用于截图

安全亮点

✓ 文档完整,所有功能均在SKILL.md中声明
✓ 代码行为与文档描述一致,无阴影功能
✓ 凭证通过环境变量管理,未硬编码或外传
✓ 仅访问必要的工作目录文件(~/.garth缓存、garmin/数据)
✓ 无恶意行为指标:无base64管道、无eval、无敏感路径遍历、无可疑网络请求
✓ 所有shell命令执行均有明确用途(截图、图转图、计算)且已在文档声明
✓ Telegram API使用官方端点,无可疑IP或域名