Scan Report
5 /100
Historical Weather - 历史天气
按城市与日期查询历史天气(温湿度、风、气压、AQI 等)
合法的历史天气查询工具,代码行为与文档完全一致,无恶意行为,仅 requests 依赖无版本锁定。
Safe to install
可安全使用。建议在生产环境中将 requests 版本锁定以避免依赖不一致风险。
Findings 2 items
| Severity | Finding | Location |
|---|---|---|
| Low | 第三方依赖 requests 无版本锁定 | weather2.py:9 |
| Info | SKILL.md 中的 your_appkey_here 为文档占位符 | SKILL.md:21 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Network | READ | READ | ✓ Aligned | SKILL.md:14 声明外部 API jisuapi.com |
| Environment | READ | READ | ✓ Aligned | SKILL.md:7 metadata.requires.env=["JISU_API_KEY"] |
| Filesystem | NONE | NONE | — | weather2.py 无文件读写操作 |
| Shell | NONE | NONE | — | weather2.py 无 subprocess 调用 |
1 High 4 findings
High API Key 疑似硬编码凭证
API_KEY="your_appkey_here" SKILL.md:21 Medium External URL 外部 URL
https://www.jisuapi.com/ SKILL.md:9 Medium External URL 外部 URL
https://www.jisuapi.com/api/weather2/ SKILL.md:14 Medium External URL 外部 URL
https://api.jisuapi.com/weather2 weather2.py:14 File Tree
2 files · 7.3 KB · 205 lines Python 1f · 119L
Markdown 1f · 86L
├─
SKILL.md
Markdown
└─
weather2.py
Python
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
requests | 未声明(未找到 requirements.txt) | pip | No | weather2.py 直接 import 但无 requirements.txt,版本不确定 |
Security Positives
✓ 代码结构简单清晰,无复杂逻辑
✓ 行为与文档完全一致,无阴影功能
✓ 仅调用单一可信商业 API(jisuapi.com)
✓ 无文件读写、subprocess、eval 等高危操作
✓ 环境变量使用声明明确(JISU_API_KEY)
✓ 错误处理完整(JSON解析失败、HTTP错误、API错误均有兜底)