美文网首页Android开发教程Android
Android-隐私合规检测SDK

Android-隐私合规检测SDK

作者: 蜗牛是不是牛 | 来源:发表于2021-12-30 16:51 被阅读0次

背景

从去年开始,工信部对APP个人隐私要求越来越多,之后各大应用市场也开始要求,有违规情况的会导致APP下架或者无法上架。

技术方案简介

方案很简单,动态代理+反射hook系统服务,拦截方法调用堆栈产出Excel结果. 按需自取

项目地址

支持的hook函数列表

传送门

接入方式

    1. 在根目录的build.gralde下添加
    allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

    2. 在项目中的build.gralde下添加
      implementation 'com.github.allenymt:PrivacySentry:0.0.7'

    3. 初始化方法最好在attachBaseContext中第一个调用!!!

    4.1 简易版初始化
    在代码中调用,越早越好,建议在application中调用
    kotlin:PrivacySentry.Privacy.init(this)
    java:PrivacySentry.Privacy.INSTANCE.init(this);

    4.2 完成功能的初始化
     // 完整版配置
        var builder = PrivacySentryBuilder()
            // 自定义文件结果的输出名
            .configResultFileName("demo_test")
            //自定义检测时间,也支持主动停止检测 PrivacySentry.Privacy.stopWatch()
            .configWatchTime(5 * 60 * 1000)
            // 文件输出后的回调
            .configResultCallBack(object : PrivacyResultCallBack {
                override fun onResultCallBack(filePath: String) {
                    PrivacyLog.i("result file patch is $filePath")
                }
            })
        PrivacySentry.Privacy.init(this, PrivacySentry.Privacy.defaultConfigHookBuilder(builder))
        
        
        java
         // 完整版配置
        PrivacySentryBuilder builder = new PrivacySentryBuilder()
                // 自定义文件结果的输出名
                .configResultFileName("buyer_privacy")
                //自定义检测时间,也支持主动停止检测 PrivacySentry.Privacy.stopWatch()
                .configWatchTime(30 * 1000)
                // 文件输出后的回调
                .configResultCallBack(new PrivacyResultCallBack() {

                    @Override
                    public void onResultCallBack(@NonNull String s) {

                    }
                });
        PrivacySentry.Privacy.INSTANCE.init(this, PrivacySentry.Privacy.INSTANCE.defaultConfigHookBuilder(builder));

    4.3 在隐私协议确认的时候调用,这一步非常重要!,一定要加
    kotlin:PrivacySentry.Privacy.updatePrivacyShow()
    java:PrivacySentry.Privacy.INSTANCE.updatePrivacyShow();

    5 支持多进程,多进程产出的文件名前缀默认增加进程名

传送门

结果查看

1. 默认拦截隐私方法时间为3分钟,支持自定义设置时间排查结果可参考目录下的demo_result.xls
2. 排查结果支持两个维度查看,第一是结合隐私协议的展示时机和敏感方法的调用时机,第二是统计所有敏感函数的调用次数
3. 排查结果可观察日志,结果文件会在 /storage/emulated/0/Android/data/yourPackgeName/files/privacy/yourFileName.xls,需要手动执行下adb pull

传送门

在这里放一张截图,隐私确认和隐私函数调用顺序一目了然

结语

在引入SDK时,注意不要把代码带到线上
本SDK检测结果只做参考~

本文转自 https://juejin.cn/post/7037046252881575944,如有侵权,请联系删除。

相关文章

  • Android-隐私合规检测SDK

    背景 从去年开始,工信部对APP个人隐私要求越来越多,之后各大应用市场也开始要求,有违规情况的会导致APP下架或者...

  • Android-隐私合规检测SDK

    背景 从去年开始,工信部对APP个人隐私要求越来越多,之后各大应用市场也开始要求,有违规情况的会导致APP下架或者...

  • Android-隐私合规检测SDK

    系统新增读取“应用软件列表”权限,并设置为敏感权限,用于实现在告知并获得用户同意的基础上获取“已应用软件列表”信息...

  • 隐私检测平台

    小米合规隐私检测平台[https://p.sec.miui.com/#/forbidden]移动APP隐私合规检测...

  • Android隐私合规

    目录介绍 前言 合规检查检测隐私API方案 合规整改 合规解决方案-ASM插桩什么是ASMASM 插桩可以做什么?...

  • android 隐私合规校验失败: errorCode : 5

    高德地图:E/sea: 隐私合规校验失败:errorCode : 555570原因:确保调用SDK任何接口前先调用...

  • [转]Android隐私合规检测方法

    背景:公司的APP被工信部通报:1.在用户确认隐私权限以前会获取用户的mac地址。2.在app内频繁的获取定位,超...

  • Android-升级高德地图SDK踩坑记录

    最近在维护一个比较老的项目,因为应用市场的隐私合规的问题,我们必须在用户同意隐私授权之后才能调用高德地图SDK初始...

  • Android-记录升级高德地图Android12的崩溃问题

    最近因为隐私合规的问题升级了高德地图SDK,在Android 12系统中出现以下问题: 遇到这个问题有点懵,因为只...

  • 隐私合规检测工具Camille使用

    前置条件 需要root手机(替代方案,使用模拟器) 需要安装python 一、环境配置 安装 frida[http...

网友评论

    本文标题:Android-隐私合规检测SDK

    本文链接:https://www.haomeiwen.com/subject/lzoiqrtx.html