最新消息:Telegram频道:@lewuxiancom

哪些 App 可能在偷跑数据?用开源工具 NOIR,给 Android 手机做一次深度隐私审计

佳软 lewuxian 17浏览 0评论

 

Android 手机上安装了几十甚至上百个应用,我们却很难说清:哪些应用拥有敏感权限?安装包里藏着哪些统计、广告和上报域名?哪些值得进一步检查?

系统权限管理只能告诉你“它能读什么”,却很少告诉你“它准备把数据发到哪里”,要把应用、权限和网络端点联系起来,通常还需要 adb + jadx 等额外的工具。

NOIR 正是为解决这个问题而生的桌面端开源工具:通过 ADB 连接已授权设备,扫描应用清单与权限,在设备端从 APK 中提取网络端点,再进行厂商识别、风险打分与数据流向关联,最终生成可复现的审计报告,并给出可回滚的处置建议。

官网:https://verlintas.dev/noir/zh/

GitHub:https://github.com/Verlintas/NOIR

 

NOIR 支持 Windows、macOS 和 Debian/Ubuntu,无须 Root。它主要提供命令行与终端仪表盘,扫描和分析在本地进行;按项目说明,工具没有遥测,安装依赖时则需要下载相关组件。

NOIR 的核心功能是把三类线索放到一起:

  • 权限:应用具备哪些敏感数据访问能力。
  • 端点:APK 中能提取到哪些 URL、域名。
  • 关联:结合分类规则,提示哪些数据可能与哪些外部服务有关。

与此对应,NOIR 的核心流程可以概括为四步:

  • 1. 盘点:列出所有同时持有 INTERNET 与敏感权限的应用,以及它们各自拿到了哪些权限。
  • 2. 抽取端点:在设备端用 unzip + strings 从 APK 的 dex 中提取 URL,只回传几 KB 文本,不把整包拉回电脑。
  • 3. 分类与打分:按包名和域名识别厂商(小米/Google/腾讯/高德等)与类别(遥测、广告、定位、输入法等),结合权限与上报端点计算风险分。
  • 4. 数据关联:把权限翻译成“能拿到什么数据”(位置、通讯录、短信、通话、麦克风、相机、屏幕、应用列表、设备标识、文件、日历、账号),再与上报域名配对,得出“哪类数据可能流向哪里”。

NOIR 还支持:

  • 清单层审计:本地解析二进制 AXML,检测无权限保护的导出组件、明文流量(usesCleartextTraffic)、allowBackup、debuggable、targetSdk 等。
  • 共享 UID 识别:识别 android.uid.system 等共享用户,展示权限并集。
  • DeepScan:对高风险应用调用 jadx 反编译,检索 Runtime.exec、DexClassLoader、MediaProjection、无障碍劫持等高风险调用。
  • 可回滚处置:生成 plan.txt(可执行的 app-ops 命令)和 rollback.txt,默认只读,需显式 –apply 才会改动。
  • 域名分级:输出 trackers / review / functional 三份清单,方便后续做 DNS 拦截而不误伤推送、登录、支付等功能。

需要强调一下:阅读 NOIR 审计报告时,需要区别相关应用“具备能力”和“实际行为”。NOIR 静态分析提供的是“可能泄露”的证据,不能直接证明实际数据传输发生,需要结合网络层观察综合判断。

 

 

开源 Android 隐私工具生态

NOIR 的独特之处在于桌面端 + ADB + 设备端端点提取 + 数据流向关联 + 可回滚处置的组合。围绕同一目标,还有一批开源 Android 隐私工具可以搭配使用:

第一层:现成的 SDK 与 tracker 报告

Exodus Privacy:https://exodus-privacy.eu.org/en/

法国非营利组织维护的报告平台,最经典的追踪器扫描工具。不反编译应用,列出已知追踪器/SDK 检测 + 权限展示。

 

 

第二层:单个 APK 的静态分析

MobSF:https://github.com/MobSF/Mobile-Security-Framework-MobSF

覆盖 Android、iOS 和 Windows 应用的安全研究平台,静态和动态分析都有,并提供 REST API,适合接入 CI。

 

jadx:https://github.com/skylot/jadx

NOIR deep 所调用的反编译器,也可以单独使用。

 

 

第三层:运行时行为

Camille:https://github.com/zhengjim/camille

基于 Frida 的隐私合规辅助工具,hook 敏感接口并输出调用堆栈,可用于判断 SDK 是否在用户同意前读取信息。

 

 

第四层:实际网络流量

TrackerControl:https://github.com/TrackerControl/tracker-control-android

通过本地 VPN 分析流量,主要依靠 DNS 识别 tracker 并可分级拦截。它不拦截 TLS,只记录元数据,因此也看不到请求内容。

 

PCAPdroid:https://github.com/emanuele-f/PCAPdroid

无需 root 的抓包工具,可导出 PCAP,也可解密 TLS 后检查 HTTP 请求。防火墙和恶意连接检测属于付费功能。

这一层最适合验证 NOIR 的怀疑,但只能看到测试期间实际触发的行为。

 

 

第五层:入侵痕迹取证

国际特赦组织安全实验室的 MVT 与 AndroidQF:

MVT:https://github.com/mvt-project/mvt

AndroidQF:https://github.com/mvt-project/androidqf

MVT 与 AndroidQF 是国际特赦组织安全实验室发起的取证工具链,AndroidQF 负责采集,MVT 负责用入侵指标分析。

 

 

处置层:去预装与权限管理

UAD-ng:https://github.com/Universal-Debloater-Alliance/universal-android-debloater-next-generation

通过 ADB 工作的跨平台图形工具,目标是移除不必要的系统应用,无须 Root。

 

Canta:https://github.com/samolego/Canta

借助 Shizuku 在手机上直接卸载,并接入 UAD 的列表。要求 Android 9 及以上;卸载关键应用仍可能导致无限重启,只能恢复出厂。

 

App Manager:https://github.com/MuntashirAkon/AppManager

手机端的全功能包管理器,可扫描 tracker、查看清单;修改 app-ops、撤销权限需要 root 或 ADB,组件屏蔽需要 root。

 

 

开源 Android 隐私工具使用选择建议

 

一条可复现排查可疑应用的典型工作流:

1. 用 noir scan 建立基线,保存报告和版本号,后续升级工具后重扫。

2. 从高分应用中挑出最不合理的几个,比如与功能无关的敏感权限配上统计或广告端点。

3. 用 TrackerControl 或 PCAPdroid 正常使用这些应用,确认端点是否真的被访问。

4. 对仍有疑问的应用运行 noir deep,或用 jadx 手动追踪;自己开发的应用可以再用 Camille 查看调用时机。

5. 先做最小处置:撤销不需要的权限,导入经过复核的域名清单,确认 rollback.txt 后再执行 app-ops。

6. 重复第 3 步,确认效果,并观察推送、登录和支付有没有受到影响。

 

NOIR 把原本需要手动 adb + jadx + 脚本拼凑的隐私审计流程,做成了可重复、可回滚、低侵入的一键报告。它不是杀毒软件,也不会自动卸载应用,而是把“可能泄露什么、流向哪里”摊开来,让你基于证据做决定。

对关注设备隐私、喜欢自己动手审计、或经常处理厂商预装应用与第三方 SDK 的用户来说,NOIR 是一个很有价值的工具。

 

 

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址