V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
vvvv2222
V2EX  ›  Android

安卓 app 的后端是不是可以随意偷窥用户的相册?

  •  
  •   vvvv2222 · 347 天前 · 12285 次点击
    这是一个创建于 347 天前的主题,其中的信息可能已经有所发展或是发生改变。
    读取相册或文件,是基本权限,那么是不是随随便便的安卓 app 开发者,从后台就可以调取用户的相册和文件?
    对于大公司的比如微信,我倒无所谓了。而那些小公司或者个人,很难不让人联想到,后端开发者或者维护人员,在茶余饭后去偷窥用户的相册,普通照片无所谓,如果有裸照、账号密码的截图等……

    我小白不太懂,所以有这个疑问。
    55 条回复    2023-12-24 09:13:48 +08:00
    Ericcccccccc
        1
    Ericcccccccc  
       347 天前
    要申请权限的啊.
    wqsdfdddd
        2
    wqsdfdddd  
       347 天前
    也要看什么手机,不过一般权限都控制的不是很严
    vvvv2222
        3
    vvvv2222  
    OP
       347 天前
    @Ericcccccccc 读取相册的权限又不像通讯录,可以坦然明确地禁止。而你在 app 里边上传个头像照片啥的,不就得授予这个 app 权限了吗?
    我刚去看了下自己的手机,大概 1/3 的 app 已经被授权了。
    Ericcccccccc
        4
    Ericcccccccc  
       347 天前
    @vvvv2222 这样啊, 那你担心的东西是存在的. 所以老老实实用小程序吧.
    tanranran
        5
    tanranran  
       347 天前
    升级 android14 ,android14 支持选择部分图片
    xiangyuecn
        6
    xiangyuecn  
       347 天前
    是,不止 Android ,iOS 、macOS 、Windows 均如此。
    pkoukk
        7
    pkoukk  
       347 天前
    你如果下载的是病毒软件,那是可以实现的
    但一般能上架到应用商店的正规程序,是不会有这种行为的,软件会有审核,而且这种行为很容易被检测到,抓住就不是罚款,而是蹲牢子
    SkywalkerJi
        8
    SkywalkerJi  
       347 天前
    你自己写个空壳 app 都行。
    唯一就是上传流量大很容易露馅,所以拿图片的少拿通讯录的多。
    cheng6563
        9
    cheng6563  
       347 天前
    MIUI 可以给文件权限的同时单独干掉相册文件夹的权限。
    paradoxs
        10
    paradoxs  
       347 天前
    @pkoukk 你如果下载的是病毒软件,那是可以实现的
    但一般能上架到应用商店的正规程序,是不会有这种行为的,软件会有审核,而且这种行为很容易被检测到,抓住就不是罚款,而是蹲牢子
    -------------------------
    应用商店是审核不出来这种行为的。 同理可见 iOS appstore 上各种赌博应用,重启后变身的。
    AoEiuV020JP
        11
    AoEiuV020JP  
       347 天前
    @pkoukk #7 说是这么说,但也没见拼爹爹怕过,
    pkoukk
        12
    pkoukk  
       347 天前
    @paradoxs #10 安卓可以随意侧载,加上国内特色审核制度,对各类的资质要求比较多,一封就连坐,这些应用没必要套个壳上应用商店,老折腾这个成本太高了吧。所以应用商店里的还算安全吧
    pkoukk
        13
    pkoukk  
       347 天前
    @AoEiuV020JP #11 拼爹爹也是有 B 数的,只敢搞提权禁止卸载一类的骚操作,而且用的还是 0day 漏洞,查不出来也正常。google 发现之后不是也把他下架了么
    lyxxxh2
        14
    lyxxxh2  
       347 天前
    有权限 只是客户端有权限访问相册而已,后端看不到。
    如果客户端上传服务端 那后端就可以随便看了。

    电报那些骗子 骗人下载 app 就是直接传给后端。
    我抓包看过 一直上传图片 还是 laravel 写的。
    cyrivlclth
        15
    cyrivlclth  
       347 天前
    所以有这方面顾虑的话,弹窗问你是否给权限的时候,只给部分权限。
    nothingistrue
        16
    nothingistrue  
       347 天前   ❤️ 1
    自己给了权限,还问别人能不能看。相当于自己拖了衣服,还问别人有没有看到。
    cmlx1014
        17
    cmlx1014  
       347 天前
    有些小 APP 给了相册、文件权限,担心会偷偷查看或者上传。
    2kCS5c0b0ITXE5k2
        18
    2kCS5c0b0ITXE5k2  
       347 天前
    闲的蛋疼吗. 看用户相册.
    xixun
        19
    xixun  
       347 天前 via iPhone
    @SkywalkerJi 像微信这样的都是传相册缩略图
    tLbf2p3UC4BM3H1N
        20
    tLbf2p3UC4BM3H1N  
       347 天前   ❤️ 5
    苹果的 选中功能权限 也有很多厂商搞恶心的,明明能在 app 图库中加一个“添加更多可访问照片”按钮,就不加,非要你开启相册所有权限。

    例子:
    小红书:当前仅部分照片可选 [开启照片权限]
    淘宝:您已设置只能访问部分照片,建议允许访问 [所有照片]
    .......

    这些操作设计的首要目的应该不是为了方便用户。
    dreamist
        21
    dreamist  
       347 天前
    对于不信任的 App ,不要给权限就行了,给的话确实会看到。
    vcn8yjOogEL
        22
    vcn8yjOogEL  
       347 天前
    有权限就肯定能读取
    Android 和 iOS 都是靠商店审核限制的, 桌面系统则基本没有限制, 但用户可以手动套沙箱
    lxh1983
        23
    lxh1983  
       347 天前 via iPhone   ❤️ 2
    @pkoukk 拼多多:你说啥?
    lxh1983
        24
    lxh1983  
       347 天前 via iPhone   ❤️ 2
    @pkoukk 国内不是没有一家敢下架的,甚至监管部门都一直装看不见
    lxh1983
        25
    lxh1983  
       347 天前 via iPhone
    @pkoukk 你怎么知道拼夕夕只是干了禁止卸载?内部人士?
    qgmzmy
        26
    qgmzmy  
       347 天前 via Android
    给了权限就可以
    swsh007
        27
    swsh007  
       347 天前 via Android
    试试那些网盘,没给权限也总让你备份相册,关键是还有照片数。
    Saniter
        28
    Saniter  
       347 天前
    安卓有提供解决方案,只授予所选图片的访问权限。
    https://developer.android.com/training/data-storage/shared/photopicker?hl=zh-cn
    Preposterous
        29
    Preposterous  
       347 天前
    都用安卓了
    就别纠结这些了
    jim9606
        30
    jim9606  
       347 天前
    虽说 android11 以上的设备支持照片选择器,但照片选择器组件依赖 Google 的模块化组件更新。实际上 google 自己对强推这玩意的底气都没有,要应用 opt-in 才会用,要是能对接国内 AOSP 的自订相册 app 还差不多。而且你要知道用户对 APP 内图片编辑(裁减打码美颜啥的)需求很强,我不觉得 google 那个选择器能很好地替代这个功能,而且还导致操作变复杂了,还得费神教育小白用户用那个根本不知道长啥样的照片选择器。
    jim9606
        31
    jim9606  
       347 天前
    android 图片存取权限是比较粗放的,在 opt-in 照片选择器之前,没法精确控制。
    对于支持分区存储( target>30 )的应用,照片只能全开/全关,R/W 不分,不能用系统不支持的格式。
    不支持分区存储的应用,部分国产 ROM 提供有限的基于路径的选择授权,例如 MIUI 支持单独开关相机 DCIM 和白名单社交应用目录,依然 R/W 不分。

    如果只是传个图片还无所谓二压,可以用跨应用分享图片,缺点是顺序不确定,content provider 支持不佳的应用可能依然要授权,可能会产生不必要的应用内缓存。

    离谱的应用会索要 MANAGE_EXTERNAL_STORAGE 特殊权限,网盘类 app 要这个还算可以理解,但我知道有漫画软件居然敢要这个。
    03
        32
    03  
       347 天前
    @vvvv2222

    而你在 app 里边上传个头像照片啥的,不就得授予这个 app 权限了吗?
    --------
    大多数应用用不到上传照片的功能啊。如果不信任的应用一定要授权可以扔 work profile 里
    GuuJiang
        33
    GuuJiang  
       347 天前 via iPhone   ❤️ 1
    其实,“因为这个 App 本身的功能需要上传图片,所以自然需要申请相册访问权限”这本身就是一个典型的误解,不管是前面有人贴出的 Android 的 photopicker 也好,还是 iOS 的 PHPickerViewController 也好,才应该是一个需要发送图片的 App 本应使用的正确姿势,但是可能由于以下原因导致了实际上并没有多少 App 这样用,而是一股脑地申请了相册权限然后自己实现选择器
    1. 系统提供的选择器界面无法定制,可能风格和操作方式等与 App 自身整体不符
    2. 开发者自身也抱着同样的惯性思维,压根不知道系统选择器的存在,第一时间只想到申请权限的方案
    3. 既然大多数用户都已经有了这个惯性思维了,产品顺水推舟,借这个机会“合理”地申请相册权限

    上面的这些理由中,只有 1 勉强称得上一个合理的理由,并且哪怕是这样也应该给用户自由选择回退到系统选择器的权力,但是现实情况却大多数都是出于理由 2 和 3 ,导致了只要是一个需要发送图片的应用都无脑地申请了权限
    hullhutt
        34
    hullhutt  
       346 天前
    我也有这样的担心
    Whalko
        35
    Whalko  
       346 天前 via Android
    @weeiy 这一点反而是微信做的最好…系统选完了你新选的图它自动帮你勾上点个发送就完事,不用二次勾选。
    totoro625
        36
    totoro625  
       346 天前
    因为有这样的担心,所以不使用系统自带相册功能
    例如 GooglePhoto 支持照片备份后删除本地照片
    或者备份至群晖后删除本地照片
    TenProX
        37
    TenProX  
       346 天前 via iPhone
    好多应用都可以做到静默访问你的不限于相册、通讯录、通话记录、短信、电话号。有些应用甚至设备硬件参数什么的都可以获取,完完全全的裸奔。
    有些国产魔改系统,那些权限设置几乎是障眼法。
    merpyzf
        38
    merpyzf  
       346 天前
    @Saniter PhotoPicker 这玩意儿没办法展示用户 Picture 目录下的相册,挺坑的。
    wegbjwjm
        39
    wegbjwjm  
       346 天前 via iPhone
    @pkoukk 你指的是拼多多吗?
    cowcomic
        40
    cowcomic  
       346 天前
    我们之前做相册 APP 的时候是这样
    1 ,手机 APP 访问手机相册,我们的团队没有大牛,没法绕过系统授权,而且法务也要考虑是否符合个人信息保护法和一些用户信息收集的法规,都是用户需要用了才需要授权,没用到就不要权限
    2 ,保存到系统服务器上的用户照片等信息,不知道其他产品团队怎么样,我们团队这个是在最开始就非常重视的环节,毕竟这层信任要是被破坏了,就彻底凉了。所有人在正常流程下是接触不到用户的数据和照片的,少数能访问的密钥掌握在少数几个非技术人员和领导的手里(有技术的没有密钥,有密钥的没有技术,都访问不了),所有人都签订了相关的保密协议。在部分需要照片审核的场景下是直接购买的阿里腾讯的图片审核服务,尽量避免人工,但肯定无法完全避免,需要人工复审的时候审核人员进小黑屋,不带电子设备
    crackidz
        41
    crackidz  
       346 天前
    @weeiy 这种时候就不要怕麻烦,坚决对抗到底,手工选一下就行
    debuggeeker
        42
    debuggeeker  
       346 天前
    高版本 14 ,相册可以给一个图片范围,也就是你想让 App 获取那些图片是可以选择的,而低版本只要你允许了权限,就是可以读取全部相册的文件,如果是远古时期,整个 sdcard 都可以读写。所以能上 14 系统就上吧。
    janus77
        43
    janus77  
       346 天前
    理论上来说是的,不过这么多年大家用也就用了,虽然没办法证明有人做了,也没办法证明都没做,只能说爱用就用吧,诋毁就免了
    ITdream
        44
    ITdream  
       346 天前
    IOS 也可以申请图片权限啊
    murmur
        45
    murmur  
       346 天前
    新 api 可以按图申请权限,老的很多没兼容都是全相册权限
    Ashore
        46
    Ashore  
       346 天前
    @pkoukk #7 你不知道拼多多?
    CodeGou
        47
    CodeGou  
       346 天前
    Yes
    jowan
        48
    jowan  
       346 天前
    答案是肯定的 大概五年前 我在外包的时候 做过这样的项目 网贷 App
    你的通讯录和相册从你授权那一刻开始全盘上传 后台可以看到你所有通讯联系人和你的照片图库
    中间还触发了一些有趣的 BUG 有的用户通讯录居然有几万人 导致客户端的那个插件内存溢出闪退
    jowan
        49
    jowan  
       346 天前
    从人脸识别 实名认证三要素、手机唯一识别码 imei/oaid/androidid/idfa 都有行业付费插件 你的设备是几手的 有没有抵押过 都是一清二楚
    jowan
        50
    jowan  
       346 天前
    每个人申请贷款时候的活体人脸照片 都是有截图的 只要有权限 任意查看
    如果你用虚假通讯录 基本上秒拒 反正这一套全部都有第三方的插件
    官网全是正经的 其实给你用的都是跟灰产沾边的 睁一只眼闭一只眼
    cairnechen
        51
    cairnechen  
       346 天前
    @GuuJiang

    连被称做 IM 典范的 Telegram iOS 客户端都没有用照片选择器,而是选择申请照片访问权限,别指望其他 App 能用了
    jowan
        52
    jowan  
       346 天前
    行业内虽然有竞争关系 但是他们有通的黑名单库 比如你经常薅羊毛借贷不还
    但这一点他们很同心 用的都是同一个 blocklist 一旦进入这个名单 所有平台都不会给你额度
    unco020511
        53
    unco020511  
       345 天前
    Android 和 ios 都会
    sir283
        54
    sir283  
       344 天前
    @pkoukk 中国的软件商店是不存在这种审核的,之前 uc 浏览器都还向用户索取电话、短信、摄像头、录音权限呢,都不知道想要干嘛,不给权限还不让用。
    1una0bserver
        55
    1una0bserver  
       329 天前 via Android
    @tanranran 需要应用适配,没啥用
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2552 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:20 · PVG 08:20 · LAX 16:20 · JFK 19:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.