页面标题
本平台专为移动应用安全风险研究与合规评估设计,严禁用于任何非法用途。 如有疑问或建议,欢迎加入微信群交流。
应用基础信息
文件基本信息
应用基础信息
Google Play 应用市场信息
关于此应用
组件导出状态统计
文件结构与资源列表
应用签名证书信息
APK已签名
v1 签名: True
v2 签名: True
v3 签名: True
v4 签名: False
主题: C=US, ST=California, L=Mountain View, O=Google Inc., OU=Android, CN=Android
签名算法: rsassa_pkcs1v15
有效期自: 2021-11-02 13:29:19+00:00
有效期至: 2051-11-02 13:29:19+00:00
发行人: C=US, ST=California, L=Mountain View, O=Google Inc., OU=Android, CN=Android
序列号: 0x8b03d7216e825414fa4369184ad912cd7f16a466
哈希算法: sha256
证书MD5: 50a24c435eb9926ee0603beeaa1a9888
证书SHA1: 3f78eae8d8105bf1db5ba79bc5c681a8cbc81117
证书SHA256: 2ae87c97a2471aa108c5ef827ed46499e6c7a852e3ccacb8b4dd2a7e83592e24
证书SHA512: bb0fdee776897e8691b046e251bb9800d69509e6b1d9be92bba9714b35f074f88bcd917f7b308449bd40a02012998dc83349627a64b5b12abf0bbbc4f8791acb
公钥算法: rsa
密钥长度: 4096
指纹: b0dc1c027361db2edc3d9980fba24a8747374ef7f41e5ac05ed1956181763d90
共检测到 1 个唯一证书
证书安全分析
0
1
1
| 标题 | 严重程度 | 描述信息 |
|---|---|---|
| 已签名应用 | 信息 | 应用已使用代码签名证书进行签名。 |
权限声明与风险分级
| 权限名称 | 安全等级 | 权限内容 | 权限描述 | 关联代码 |
|---|---|---|---|---|
| android.permission.INTERNET | 完全互联网访问 | 允许应用程序创建网络套接字。 | ||
| android.permission.WRITE_EXTERNAL_STORAGE | 读取/修改/删除外部存储内容 | 允许应用程序写入外部存储。 | 无 | |
| android.permission.ACCESS_COARSE_LOCATION | 获取粗略位置 | 通过WiFi或移动基站的方式获取用户粗略的经纬度信息,定位精度大概误差在30~1500米。恶意程序可以用它来确定您的大概位置。 | 无 | |
| android.permission.ACCESS_FINE_LOCATION | 获取精确位置 | 通过GPS芯片接收卫星的定位信息,定位精度达10米以内。恶意程序可以用它来确定您所在的位置。 | 无 | |
| android.permission.CALL_PHONE | 直接拨打电话 | 允许应用程序直接拨打电话。恶意程序会在用户未知的情况下拨打电话造成损失。但不被允许拨打紧急电话。 | ||
| lionmas.member.app.permission.C2D_MESSAGE | 未知权限 | 来自 android 引用的未知权限。 | 无 | |
| android.permission.POST_NOTIFICATIONS | 发送通知的运行时权限 | 允许应用发布通知,Android 13 引入的新权限。 | ||
| com.google.android.c2dm.permission.RECEIVE | 接收推送通知 | 允许应用程序接收来自云的推送通知。 | ||
| android.permission.WAKE_LOCK | 防止手机休眠 | 允许应用程序防止手机休眠,在手机屏幕关闭后后台进程仍然运行。 | ||
| android.permission.VIBRATE | 控制振动器 | 允许应用程序控制振动器,用于消息通知振动功能。 | 无 | |
| android.permission.ACCESS_NETWORK_STATE | 获取网络状态 | 允许应用程序查看所有网络的状态。 | ||
| android.permission.RECEIVE_BOOT_COMPLETED | 开机自启 | 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 | ||
| com.sec.android.provider.badge.permission.READ | 在应用程序上显示通知计数 | 在三星手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.sec.android.provider.badge.permission.WRITE | 在应用程序上显示通知计数 | 在三星手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.htc.launcher.permission.READ_SETTINGS | 在应用程序上显示通知计数 | 在HTC手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.htc.launcher.permission.UPDATE_SHORTCUT | 在应用程序上显示通知计数 | 在HTC手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.sonyericsson.home.permission.BROADCAST_BADGE | 在应用程序上显示通知计数 | 在索尼手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.sonymobile.home.permission.PROVIDER_INSERT_BADGE | 在应用程序上显示通知计数 | 在索尼手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.anddoes.launcher.permission.UPDATE_COUNT | 在应用程序上显示通知计数 | 在apex的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.majeur.launcher.permission.UPDATE_BADGE | 在应用程序上显示通知计数 | 在solid的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.huawei.android.launcher.permission.CHANGE_BADGE | 在应用程序上显示通知计数 | 在华为手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.huawei.android.launcher.permission.READ_SETTINGS | 在应用程序上显示通知计数 | 在华为手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.huawei.android.launcher.permission.WRITE_SETTINGS | 在应用程序上显示通知计数 | 在华为手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| android.permission.READ_APP_BADGE | 显示应用程序通知 | 允许应用程序显示应用程序图标徽章。 | 无 | |
| com.oppo.launcher.permission.READ_SETTINGS | 在应用程序上显示通知计数 | 在OPPO手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| com.oppo.launcher.permission.WRITE_SETTINGS | 在应用程序上显示通知计数 | 在OPPO手机的应用程序启动图标上显示通知计数或徽章。 | 无 | |
| me.everything.badger.permission.BADGE_COUNT_READ | 未知权限 | 来自 android 引用的未知权限。 | 无 | |
| me.everything.badger.permission.BADGE_COUNT_WRITE | 未知权限 | 来自 android 引用的未知权限。 | 无 | |
| android.permission.FOREGROUND_SERVICE | 创建前台Service | Android 9.0以上允许常规应用程序使用 Service.startForeground,用于podcast播放(推送悬浮播放,锁屏播放) | ||
| lionmas.member.app.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION | 未知权限 | 来自 android 引用的未知权限。 | 无 |
Manifest 配置安全分析
0
13
0
0
| 序号 | 问题 | 严重程度 | 描述信息 | 操作 |
|---|---|---|---|---|
| 1 |
应用已启用明文网络流量 [android:usesCleartextTraffic=true] |
警告 | 应用允许明文网络流量(如 HTTP、FTP 协议、DownloadManager、MediaPlayer 等)。API 级别 27 及以下默认启用,28 及以上默认禁用。明文流量缺乏机密性、完整性和真实性保护,攻击者可窃听或篡改传输数据。建议关闭明文流量,仅使用加密协议。 | |
| 2 |
应用数据存在泄露风险 未设置[android:allowBackup]标志 |
警告 | 建议将 [android:allowBackup] 显式设置为 false。默认值为 true,允许通过 adb 工具备份应用数据,存在数据泄露风险。 | |
| 3 |
Broadcast Receiver (com.onesignal.FCMBroadcastReceiver) 受权限保护,但应检查权限保护级别。 Permission: com.google.android.c2dm.permission.SEND [android:exported=true] |
警告 | 检测到 Broadcast Receiver 已导出并受未在本应用定义的权限保护。请在权限定义处核查其保护级别。若为 normal 或 dangerous,恶意应用可申请并与组件交互;若为 signature,仅同证书签名应用可访问。 | |
| 4 |
Activity (com.onesignal.NotificationOpenedActivityHMS) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
| 5 |
Broadcast Receiver (com.onesignal.NotificationDismissReceiver) 未受保护。 [android:exported=true] |
警告 | 检测到 Broadcast Receiver 已导出,未受任何权限保护,任意应用均可访问。 | |
| 6 |
Broadcast Receiver (com.onesignal.BootUpReceiver) 未受保护。 [android:exported=true] |
警告 | 检测到 Broadcast Receiver 已导出,未受任何权限保护,任意应用均可访问。 | |
| 7 |
Broadcast Receiver (com.onesignal.UpgradeReceiver) 未受保护。 [android:exported=true] |
警告 | 检测到 Broadcast Receiver 已导出,未受任何权限保护,任意应用均可访问。 | |
| 8 |
Activity (com.onesignal.NotificationOpenedReceiver) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
| 9 |
Activity (com.onesignal.NotificationOpenedReceiverAndroid22AndOlder) 未受保护。 [android:exported=true] |
警告 | 检测到 Activity 已导出,未受任何权限保护,任意应用均可访问。 | |
| 10 |
Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) 受权限保护,但应检查权限保护级别。 Permission: com.google.android.c2dm.permission.SEND [android:exported=true] |
警告 | 检测到 Broadcast Receiver 已导出并受未在本应用定义的权限保护。请在权限定义处核查其保护级别。若为 normal 或 dangerous,恶意应用可申请并与组件交互;若为 signature,仅同证书签名应用可访问。 | |
| 11 |
Service (androidx.work.impl.background.systemjob.SystemJobService) 受权限保护,但应检查权限保护级别。 Permission: android.permission.BIND_JOB_SERVICE [android:exported=true] |
警告 | 检测到 Service 已导出并受未在本应用定义的权限保护。请在权限定义处核查其保护级别。若为 normal 或 dangerous,恶意应用可申请并与组件交互;若为 signature,仅同证书签名应用可访问。 | |
| 12 |
Broadcast Receiver (androidx.work.impl.diagnostics.DiagnosticsReceiver) 受权限保护,但应检查权限保护级别。 Permission: android.permission.DUMP [android:exported=true] |
警告 | 检测到 Broadcast Receiver 已导出并受未在本应用定义的权限保护。请在权限定义处核查其保护级别。若为 normal 或 dangerous,恶意应用可申请并与组件交互;若为 signature,仅同证书签名应用可访问。 | |
| 13 |
高优先级 Intent(999) - {1} 个命中 [android:priority] |
警告 | 通过设置较高的 Intent 优先级,应用可覆盖其他请求,可能导致安全风险。 |
可浏览 Activity 组件分析
| ACTIVITY | INTENT |
|---|
网络通信安全风险分析
| 序号 | 范围 | 严重级别 | 描述 |
|---|
API调用分析
安全漏洞检测
1
4
1
0
0
| 序号 | 问题 | 等级 | 参考标准 | 文件位置 | 操作 |
|---|---|---|---|---|---|
| 1 | 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 | 警告 |
CWE: CWE-312: 明文存储敏感信息
OWASP Top 10: M9: Reverse Engineering OWASP MASVS: MSTG-STORAGE-14 |
升级会员:解锁高级权限 | |
| 2 | 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 | 警告 |
CWE: CWE-89: SQL命令中使用的特殊元素转义处理不恰当('SQL 注入')
OWASP Top 10: M7: Client Code Quality |
升级会员:解锁高级权限 | |
| 3 | 应用程序记录日志信息,不得记录敏感信息 | 信息 |
CWE: CWE-532: 通过日志文件的信息暴露
OWASP MASVS: MSTG-STORAGE-3 |
升级会员:解锁高级权限 | |
| 4 | 应用程序使用不安全的随机数生成器 | 警告 |
CWE: CWE-330: 使用不充分的随机数
OWASP Top 10: M5: Insufficient Cryptography OWASP MASVS: MSTG-CRYPTO-6 |
升级会员:解锁高级权限 | |
| 5 | 不安全的Web视图实现。可能存在WebView任意代码执行漏洞 | 警告 |
CWE: CWE-749: 暴露危险方法或函数
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-PLATFORM-7 |
升级会员:解锁高级权限 | |
| 6 | 已启用远程WebView调试 | 高危 |
CWE: CWE-919: 移动应用程序中的弱点
OWASP Top 10: M1: Improper Platform Usage OWASP MASVS: MSTG-RESILIENCE-2 |
升级会员:解锁高级权限 |
Native库安全分析
| 序号 | 动态库 | NX(堆栈禁止执行) | PIE | STACK CANARY(栈保护) | RELRO | RPATH(指定SO搜索路径) | RUNPATH(指定SO搜索路径) | FORTIFY(常用函数加强检查) | SYMBOLS STRIPPED(裁剪符号表) |
|---|
文件分析
| 序号 | 问题 | 文件 |
|---|
行为分析
| 编号 | 行为 | 标签 | 文件 |
|---|---|---|---|
| 00063 | 隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
| 00036 | 从 res/raw 目录获取资源文件 |
反射 |
升级会员:解锁高级权限 |
| 00009 | 将游标中的数据放入JSON对象 |
文件 |
升级会员:解锁高级权限 |
| 00189 | 获取短信内容 |
短信 |
升级会员:解锁高级权限 |
| 00188 | 获取短信地址 |
短信 |
升级会员:解锁高级权限 |
| 00011 | 从 URI 查询数据(SMS、CALLLOGS) |
短信 通话记录 信息收集 |
升级会员:解锁高级权限 |
| 00191 | 获取短信收件箱中的消息 |
短信 |
升级会员:解锁高级权限 |
| 00200 | 从联系人列表中查询数据 |
信息收集 联系人 |
升级会员:解锁高级权限 |
| 00187 | 查询 URI 并检查结果 |
信息收集 短信 通话记录 日历 |
升级会员:解锁高级权限 |
| 00201 | 从通话记录中查询数据 |
信息收集 通话记录 |
升级会员:解锁高级权限 |
| 00077 | 读取敏感数据(短信、通话记录等) |
信息收集 短信 通话记录 日历 |
升级会员:解锁高级权限 |
| 00177 | 检查是否授予权限并请求 |
权限 |
升级会员:解锁高级权限 |
| 00091 | 从广播中检索数据 |
信息收集 |
升级会员:解锁高级权限 |
| 00022 | 从给定的文件绝对路径打开文件 |
文件 |
升级会员:解锁高级权限 |
| 00005 | 获取文件的绝对路径并将其放入 JSON 对象 |
文件 |
升级会员:解锁高级权限 |
| 00092 | 发送广播 |
命令 |
升级会员:解锁高级权限 |
| 00202 | 打电话 |
控制 |
升级会员:解锁高级权限 |
| 00203 | 将电话号码放入意图中 |
控制 |
升级会员:解锁高级权限 |
| 00051 | 通过setData隐式意图(查看网页、拨打电话等) |
控制 |
升级会员:解锁高级权限 |
| 00078 | 获取网络运营商名称 |
信息收集 电话服务 |
升级会员:解锁高级权限 |
| 00013 | 读取文件并将其放入流中 |
文件 |
升级会员:解锁高级权限 |
| 00096 | 连接到 URL 并设置请求方法 |
命令 网络 |
升级会员:解锁高级权限 |
| 00089 | 连接到 URL 并接收来自服务器的输入流 |
命令 网络 |
升级会员:解锁高级权限 |
| 00094 | 连接到 URL 并从中读取数据 |
命令 网络 |
升级会员:解锁高级权限 |
| 00108 | 从给定的 URL 读取输入流 |
网络 命令 |
升级会员:解锁高级权限 |
IP地理位置
恶意域名检测
| 域名 | 状态 | 中国境内 | 位置信息 | 解析 |
|---|---|---|---|---|
| api.onesignal.com |
安全 |
否 |
IP地址: 104.16.160.145 国家: 美国 地区: 加利福尼亚 城市: 旧金山 查看: Google 地图 |
|
手机号提取
URL链接分析
| URL信息 | 源码文件 |
|---|---|
|
https://api.onesignal.com/ |
com/onesignal/OneSignalRestClient.java |
|
https://firebase.google.com/support/privacy/init-options https://%s/%s/%s https://api.onesignal.com/ https://plus.google.com/ |
自研引擎-S |
Firebase配置检测
邮箱地址提取
第三方追踪器
| 名称 | 类别 | 网址 |
|---|---|---|
| OneSignal | https://reports.exodus-privacy.eu.org/trackers/193 |
敏感凭证泄露
已显示 3 个secrets
1、 c682b8144a8dd52bc1ad63
2、 5eb5a37e-b458-11e3-ac11-000c2940e62c
3、 b2f7f966-d8cc-11e4-bed1-df8f05be55ba
活动列表
显示 6 个 activities
服务列表
显示 13 个 services
广播接收者列表
显示 14 个 receivers
内容提供者列表
第三方SDK
| SDK名称 | 开发者 | 描述信息 |
|---|---|---|
| Google Play Service | 借助 Google Play 服务,您的应用可以利用由 Google 提供的最新功能,例如地图,Google+ 等,并通过 Google Play 商店以 APK 的形式分发自动平台更新。 这样一来,您的用户可以更快地接收更新,并且可以更轻松地集成 Google 必须提供的最新信息。 | |
| File Provider | Android | FileProvider 是 ContentProvider 的特殊子类,它通过创建 content://Uri 代替 file:///Uri 以促进安全分享与应用程序关联的文件。 |
| Jetpack App Startup | App Startup 库提供了一种直接,高效的方法来在应用程序启动时初始化组件。库开发人员和应用程序开发人员都可以使用 App Startup 来简化启动顺序并显式设置初始化顺序。App Startup 允许您定义共享单个内容提供程序的组件初始化程序,而不必为需要初始化的每个组件定义单独的内容提供程序。这可以大大缩短应用启动时间。 | |
| Jetpack WorkManager | 使用 WorkManager API 可以轻松地调度即使在应用退出或设备重启时仍应运行的可延迟异步任务。 | |
| Firebase | Firebase 提供了分析、数据库、消息传递和崩溃报告等功能,可助您快速采取行动并专注于您的用户。 | |
| Jetpack Media | 与其他应用共享媒体内容和控件。已被 media2 取代。 | |
| Jetpack AppCompat | Allows access to new APIs on older API versions of the platform (many using Material Design). | |
| Jetpack Room | Room 持久性库在 SQLite 的基础上提供了一个抽象层,让用户能够在充分利用 SQLite 的强大功能的同时,获享更强健的数据库访问机制。 |
污点分析
当apk较大时,代码量会很大,造成数据流图(ICFG)呈现爆炸式增长,所以该功能比较耗时,请先喝杯咖啡,耐心等待……| 规则名称 | 描述信息 | 操作 |
|---|---|---|
| 病毒分析 | 使用安卓恶意软件常用的API进行污点分析 | 开始分析 |
| 漏洞挖掘 | 漏洞挖掘场景下的污点分析 | 开始分析 |
| 隐私合规 | 隐私合规场景下的污点分析:组件内污点传播、组件间污点传播、组件与库函数之间的污点传播 | 开始分析 |
| 密码分析 | 分析加密算法是否使用常量密钥、静态初始化的向量(IV)、加密模式是否使用ECB等 | 开始分析 |
| Callback | 因为Android中系统级的Callback并不会出现显式地进行回调方法的调用,所以如果需要分析Callback方法需要在声明文件中将其声明,这里提供一份AndroidCallbacks.txt文件,里面是一些常见的原生回调接口或类,如果有特殊接口需求,可以联系管理员 | 开始分析 |