Scan Report
5 /100
run-coach
Science-based running coach with HD visual training plans and Garmin sync
合法的跑步教练技能,Garmin同步和Telegram图片发送功能完整声明,无恶意行为
Safe to install
可安全使用。注意garminconnect依赖无版本锁定,建议在生产环境中锁定版本以防API变更
Findings 3 items
| Severity | Finding | Location |
|---|---|---|
| Info | 第三方依赖无版本锁定 | garmin/garmin-sync.py:18 |
| Info | 使用非官方Garmin API | SKILL.md:56 |
| Info | 凭证通过环境变量传递 | garmin/garmin-sync.py:38-39:38 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | garmin-sync.py:67 writes JSON to garmin/activities/ |
| Network | READ | READ | ✓ Aligned | garmin-sync.py:79 client.get_activities_by_date; send-album.mjs:18 sends to api.… |
| Shell | WRITE | WRITE | ✓ Aligned | SKILL.md声明exec用于bash scripts和node计算 |
| Environment | READ | READ | ✓ Aligned | garmin-sync.py:38-39 reads GARMIN_EMAIL/PASSWORD; send-plan.sh:14 reads TELEGRAM… |
| Skill Invoke | NONE | NONE | — | 无跨skill调用 |
| Clipboard | NONE | NONE | — | 代码中无clipboard访问 |
| Browser | NONE | NONE | — | Playwright仅用于截图,行为与文档一致 |
| Database | NONE | NONE | — | 无数据库操作 |
2 findings
Medium External URL 外部 URL
https://api.telegram.org/bot$ training/send-album.mjs:18 Info Email 邮箱地址
[email protected] garmin/garmin-sync.py:37 File Tree
8 files · 31.6 KB · 920 lines Python 2f · 473L
Markdown 2f · 228L
JavaScript 2f · 116L
Shell 2f · 103L
├─
▾
garmin
│ ├─
garmin-query.py
Python
│ └─
garmin-sync.py
Python
├─
▾
training
│ ├─
screenshot.mjs
JavaScript
│ ├─
send-album.mjs
JavaScript
│ ├─
send-plan.sh
Shell
│ └─
text-to-image.sh
Shell
├─
MEMORY.md
Markdown
└─
SKILL.md
Markdown
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
garminconnect | * | pip | No | 无版本锁定;使用非官方Garmin API |
playwright-core | 未声明 | system | No | 来自/app/node_modules,仅用于截图 |
Security Positives
✓ 文档完整,所有功能均在SKILL.md中声明
✓ 代码行为与文档描述一致,无阴影功能
✓ 凭证通过环境变量管理,未硬编码或外传
✓ 仅访问必要的工作目录文件(~/.garth缓存、garmin/数据)
✓ 无恶意行为指标:无base64管道、无eval、无敏感路径遍历、无可疑网络请求
✓ 所有shell命令执行均有明确用途(截图、图转图、计算)且已在文档声明
✓ Telegram API使用官方端点,无可疑IP或域名