geoskill-glacier-retreat-monitoring
合法的遥感冰川监测工具,核心功能完全离线实现,存在轻微的文档-行为差异(声明离线但地名解析模块可能触发网络请求),credentials.py虽包含硬编码凭证但未被本skill实际使用。
为什么得出这个结论
1/4 个维度触发发现 1 项声明之外的能力或越权行为。
提取到 9 个一般风险产物,需要结合上下文判断。
没有形成明确的恶意路径。
发现 6 项需要关注的依赖或供应链线索。
风险分是怎么被拉高的
SKILL.md声明'完全离线,不发起任何网络请求',但 aio.py 在离线匹配失败时会调用 Open-Meteo/Nominatim API
credentials.py 包含硬编码 NASA Earthdata 默认账号,但该模块在本 skill 中未被 import
最关键的证据
隐私声明与实际行为不完全一致
SKILL.md 声明 '默认完全离线运行,不发起任何网络请求',但当用户使用地名(而非 bbox 经纬度)时,aio.py 的 resolve_place() 会尝试在线地理编码服务(Open-Meteo/Nominatim)。不过代码设计为离线优先(28+ 城市硬编码),网络请求是 fallback 行为。
_geoskill_core/aoi.py:189 依赖无版本锁定
requirements.txt 中所有依赖(numpy, rasterio, scipy, geopandas, shapely, matplotlib)均无版本约束,可能引入供应链风险。
requirements.txt:1 未使用的凭证管理模块
_geoskill_core/credentials.py 包含硬编码的 NASA Earthdata 默认账号(ruiduobao/Ruiduobao123)。该模块是 geoskill-core 的共享组件,但本 skill(冰川退缩监测)的核心功能不涉及数据下载,因此该模块未被实际使用。
_geoskill_core/credentials.py:40 声明能力 vs 实际能力
geoskill-glacier-retreat-monitoring.py:310 os.makedirs(output_dir) _geoskill_core/aoi.py:189 _open_meteo_search() 会发起网络请求 主脚本无 shell 执行调用 _geoskill_core/credentials.py:74 os.environ.get(),但本 skill 未使用此模块 无跨 skill 调用 无剪贴板操作 无浏览器操作 无数据库操作 可疑产物与外联
https://semver.org/ CHANGELOG.md:4
https://clawhub.ai _geoskill_core/aoi.py:99
https://geocoding-api.open-meteo.com/v1/search _geoskill_core/aoi.py:234
https://nominatim.openstreetmap.org/search _geoskill_core/aoi.py:272
https://urs.earthdata.nasa.gov/users/new/ _geoskill_core/credentials.py:302
https://urs.earthdata.nasa.gov/profile _geoskill_core/credentials.py:306
https://firms.modaps.eosdis.nasa.gov/api/map_key/ _geoskill_core/credentials.py:308
http://data.cma.cn/ _geoskill_core/credentials.py:310
https://eogdata.mines.edu/register/ _geoskill_core/credentials.py:314
依赖与供应链
| 包名 | 版本 | 来源 | 漏洞 | 备注 |
|---|---|---|---|---|
| numpy | * | pip | 否 | 无版本锁定 |
| rasterio | * | pip | 否 | 无版本锁定 |
| scipy | * | pip | 否 | 无版本锁定 |
| geopandas | * | pip | 否 | 无版本锁定 |
| shapely | * | pip | 否 | 无版本锁定 |
| matplotlib | * | pip | 否 | 无版本锁定 |
文件构成
_geoskill_core/credentials.py _geoskill_core/aoi.py