今天和同学聊起了 iOS 的第三方键盘沙盒,我一直以为,不开完全访问的话,应该没有什么信息泄露的渠道。
官方的说法是:
Capabilities and restrictions
Privacy considerations
但是留意了一下搜狗输入法,键盘里的一些按键是可以唤起 app 到指定的设置页面的,查了下 URL Scheme 好像的确可以拿来传参。
所以,只要键盘唤起了 app,那么是不是就存在输入数据被泄露的可能性?那有没有什么办法可以把一段时间的 URL Scheme log 下来检查下呢?
我没有做过 iOS 开发,概念理解上有什么问题还请大家指正!
1
laoyur 2019-05-07 16:06:34 +08:00
URL Scheme 传参来偷数据?有点搞笑哦。
首先能携带多少信息? 其次,调用这个是会打开搜狗 App 的,那么它就只能在用户主动通过 URL Scheme 唤醒 App 的时候偷数据,这也太费事了吧,能偷多少数据,多少人有通过键盘唤醒搜狗 App 的习惯? 我没做过键盘相关的开发,但上面的限制里没提到联网权限,应该不会限制的(比如升级词库啥的),那么如果可以通过 URL Scheme 偷数据,为啥它不直接走网络去泄露? |
2
qq73666 2019-05-07 16:09:59 +08:00
这是正常的传参方式,苹果允许的
|
3
ihciah OP @laoyur
1. iOS 的键盘沙箱设计了就是用来防止用户输入泄露的。在不开启完全访问的情况下是没有网络用的。https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/CustomKeyboard.html 2. 关于长度好像没有一个明确的限制。https://stackoverflow.com/questions/11546582/custom-url-scheme-maximum-url-length |
4
lizhuoli 2019-05-08 01:44:59 +08:00 via iPhone
URL Scheme 是白名单机制,在 Info.plist 中声明最多 50 条记录,超过的你想跳转都不行,不是说我给你一个 wechat://chat?,在任何 App 就可以跳转微信的……所以这没办法用来黑产。
第二,键盘不开始完全访问,禁止所有网络请求和外部写入,你觉得还能做什么…… |