事情的经过是这样的:
1:学员公司测试的 APP 发现有漏洞,被要求下架
2:他被公司要求去查询 APP 哪里有漏洞
3:他来寻求帮助,推荐几款安全测试扫描漏洞的问题。
事情的梳理:
1:我们看了他的 APP 审查过程,并非是安全漏洞,发现都是第三方 SDK 的调用,而且都是违规收集用户信息的 SDK;
2:SDK 如下所示:
这些 SDK 包括:
l 极光推送 SDK
使用目的:为用户推送平台的最新活动
收集个人信息类型:设备识别信息
采集端:iOS/Android
l 支付宝支付 AlipaySDK-iOS-No-UTDID
使用目的:帮助用户在应用内使用支付宝。
收集个人信息类型:网络信息、地理位置信息、手机号码、唯一设备标识符(IMEI/IMSI/MAC 地址、android_id),订单信息(交易金额、订单号、时间)。
采集端:iOS/Android
l 微信分享、支付 MobSDK
使用目的:帮助用户完成微信登录/分享/微信支付功能。
收集个人信息类型:订单信息(交易金额、订单号、时间),手机号码,地理位置,联网信息,设备型号,设备类型,唯一设备标识符,系统版本。
采集端:iOS/Android
l 高德地图 SDK
使用目的:收集您的位置信息,访问网络用于获取地图服务,使用存储权限用于保存地图缓存,应用于与位置相关的业务场景,如:向您展示所在位置周边的库存商品信息,便于您选择收货地址,向您展示配送信息。
收集个人信息类型:收集个人信息类型:设备所在位置相关信息(GPS 位置、WLAN 接入点、蓝牙、WI-FI 信息、GNSS、基站以及其他传感器信息),设备信息(IMEI、IDFA、Android ID、MEID、MAC 地址、OAID、IMSI、硬件序列号、操作系统版本信息),IP 地址。
采集端:iOS/Android
l 百度地图 SDK
使用目的:收集您的位置信息,访问网络用于获取地图服务,使用存储权限用于保存地图缓存,应用于与位置相关的业务场景,如:向您展示所在位置周边的库存商品信息,便于您选择收货地址,向您展示配送信息。
收集个人信息类型:收集个人信息类型:设备所在位置相关信息(GPS 位置、WLAN 接入点、蓝牙、WI-FI 信息、GNSS、基站以及其他传感器信息),设备信息(IMEI、IDFA、Android ID、MEID、MAC 地址、OAID、IMSI、硬件序列号、操作系统版本信息),IP 地址。
采集端:iOS/Android
l 商汤 ocr SDK
使用目的:帮助用户完成身份认证。
收集个人信息类型:设备识别信息
采集端:iOS/Android
l 友盟 umeng SDK
使用目的:识别设备的异常状态。
收集个人信息类型:设备类型,系统版本,用户使用时长,首页地址
采集端:iOS/Android
**l OKHttp3 **SDK
使用目的:用于快速定位故障和性能瓶颈,优化代码和服务效率,保障业务稳定性,提升用户体验。
收集个人信息类型:设备识别信息
采集端:iOS/Android
l 连连收款 SDK
使用目的:向用户提供银联支付功能。
收集个人信息类型:设备识别信息
采集端:iOS/Android
事件的解决建议方案:
1:上报情况给研发经理和老板,告知是因为调用第三方 SDK 违规收集用户信息,而非安全漏洞
2:目前这个情况只能优先下掉第三方 SDK 的调用,先保住 APP 不下架
3:APP 下架会带来更多的损失
这个事件的借鉴意义:
1:作为测试人一定要分清楚什么是漏洞什么是违规使用?
2:遇到这类违规使用而被要求下架 APP,作为测试负责人应该如何反应并处理。
3:违规使用第三方 SDK 的信息,是否可以在测试中避免?或者是测试到是否有用户授权的步骤?
4:收集用户信息的第三方 SDK,值得大家看看?
5:这也可以算是测试中的一个紧急事件或突发 bug。
如果是你遇到这样的问题,你会怎么处理,如何去快速求助?