工具

FlowDroid Android 静态污点分析工具

面向 Android 应用和 Java 程序的静态数据流(污点)分析工具,基于 Soot 构建,可作为命令行工具使用,也可作为 Maven 库集成。输入 APK、Android SDK 的 platforms 目录以及源点和汇点定义后,它会对组件生命周期和回调建模以构建调用图,并报告从敏感源点流向汇点的数据流;随附的 SourcesAndSinks.txt 可作为分析隐私泄露的起点,StubDroid 摘要则用于对库方法建模。选项涵盖依据用户提供的 ICC 模型文件分析组件间数据流、路径重建、隐式流、反射,以及用精度和召回率换取速度的超时设置;其分析方法发表于 PLDI 2014 论文《FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps》。

目标
应用
类别
Android 工具
关联
基础工具
来源复核于

使用条件与局限

  • 审阅时最新版本为 v2.15.1,于 2026-02-23 打标签,并以 de.fraunhofer.sit.sse.flowdroid 发布到 Maven Central,其中包括供命令行使用的 soot-infoflow-cmd-2.15.1-jar-with-dependencies.jar。自 v2.14 起 GitHub 发行版不再附带文件,最后一个附带 JAR 的是 2024-04-02 发布的 v2.13;README 中的 Maven 示例仍写着 2.12.0。所审阅的 2026-09-28 develop 提交声明版本为 2.16.0-SNAPSHOT。
  • 命令行需要 APK、Android SDK 的 platforms 目录和源点汇点定义文件,待分析的应用需由用户自备。README 称 FlowDroid 支持 Windows、macOS 和 Linux,并提醒分析大型应用可能耗时很长;可通过选项跳过静态字段流或异常流,数据流、回调收集和结果收集三个阶段的超时可叠加设置,超时后返回部分结果。
  • 构建需要 Maven、JDK 和最新的 Soot 快照版本;README 要求 JDK 11 及以上,但所审阅的 pom.xml 以 Java 17 为编译目标,并依赖 Soot 4.8.0-SNAPSHOT。README 称完整测试套件约需 30 分钟,另外还需要 JDK 8 及其 rt.jar、ANDROID_JARS 环境变量,以及 DroidBench 子模块(一个单独的基准测试应用仓库)。
  • 仓库提交了 25 个 APK 作为测试输入:soot-infoflow-android/testAPKs 和 soot-infoflow-integration/testAPKs 下以所测场景命名的测试应用(如 SourceToSink1.apk、ThreadRunnable.apk),故意留有漏洞的 InsecureBank.apk,以及一个以哈希值命名、清单显示属于其他开发者应用(com.RZStudio.cube)的 APK。soot-infoflow-android/lib 中包含 JUnit、Hamcrest 和 protobuf-java 的 JAR 文件。
  • 采用 LGPL-2.1 许可;README 说明修改后的版本必须同样以 LGPL 公开。分析结果取决于配置以及所选的源点和汇点。本条目未分析任何应用,所审来源也未确立与 REA 的关联。

关于此条目

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.MD GitHub · secure-software-engineering/FlowDroid · 修订 9bf1034
  2. pom.xml GitHub · secure-software-engineering/FlowDroid · 修订 9bf1034
  3. .gitmodules GitHub · secure-software-engineering/FlowDroid · 修订 9bf1034
  4. soot-infoflow-cmd/src/soot/jimple/infoflow/cmd/MainClass.java GitHub · secure-software-engineering/FlowDroid · 修订 9bf1034
  5. soot-infoflow-android/SourcesAndSinks.txt GitHub · secure-software-engineering/FlowDroid · 修订 9bf1034
  6. soot-infoflow-android/testAPKs GitHub · secure-software-engineering/FlowDroid · 修订 9bf1034
  7. soot-infoflow-integration/testAPKs GitHub · secure-software-engineering/FlowDroid · 修订 9bf1034
  8. LICENSE GitHub · secure-software-engineering/FlowDroid · 修订 9bf1034
  9. https://github.com/secure-software-engineering/FlowDroid/releases/tag/v2.15.1
  10. https://github.com/secure-software-engineering/FlowDroid/releases/tag/v2.13
  11. https://repo1.maven.org/maven2/de/fraunhofer/sit/sse/flowdroid/soot-infoflow-cmd/2.15.1/
  12. https://doi.org/10.1145/2594291.2594299

同分区更多条目:应用

应用分区全部 136 项资源