# Appshark Android 静态污点分析引擎

> 字节跳动开发的 Android APK 静态污点分析引擎，面向超大型应用设计：它依据 JSON 规则扫描应用，规则以 Jimple 签名指定入口方法、源、汇和净化器，用于漏洞与隐私合规审查。它基于 Soot 的 Jimple 中间表示，并复用 FlowDroid 的清单与资源解析模块，但指针分析和污点分析均为自行实现，且区分字段。结果写入 results.json，其中记录应用、组件和权限信息、深层链接及 JavaScript 桥接接口，以及每条从源到汇的路径，每项发现另有一个 HTML 页面。

- 类型：工具
- 目标：应用
- 类别：Android 工具
- 关联：基础工具
- 来源复核于：2026-10-27
- 收录于：2026-11-03
- 原始资源：<https://github.com/bytedance/appshark>
- 一手来源：<https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/appshark/>
- 记录 JSON：<https://awesomerea.org/resources/appshark/record.json>
- 英文版：[English](https://awesomerea.org/resources/appshark/index.md)

## 使用条件与局限

- 需要 JDK 11；README 称由于依赖兼容性问题，它无法在 JDK 8 或 JDK 16 上运行。执行 ./gradlew build -x test 可生成 AppShark-0.1.2-all.jar。审阅时最新版本为 v0.1.2，发布于 2022-09-22，附预构建 jar；所审阅的 main 提交版本号仍为 0.1.2，但比该版本多 123 个提交，其中包括 2026 年 9 月加入扫描资源预算、受限的 jadx 工作区以及对不可信规则图进行校验的提交。入门指南仍链接 v0.1.1 的 jar。
- 输入为待分析的 APK，由传给 jar 的 JSON5 配置中的 apkPath 指定；规则取自 config/rules，其中有 unZipSlip、PendingIntentMutable、ContentProviderPathTraversal 等七条示例规则。仓库自带 18 个 Android SDK 平台存根 jar，即 config/tools/platforms/android-14 至 android-33/android.jar（缺 API 15 和 21，每个约 18 至 47 MB），作为默认 SDK 路径，另有五个很小的已编译测试类；javaSource 选项会从 config/tools/jadx/bin 调用 jadx，而仓库并未包含 jadx。
- 发现结果是静态的源到汇路径，覆盖范围取决于规则和设置：参数说明称 maxPointerAnalyzeTime 过短可能导致误报和漏报，FAQ 也举例说明切片模式的入口会漏掉别名路径。README 的安全提示称界面与服务端仅限本地测试使用。采用 Apache-2.0 许可。

## 一手来源

1. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/README.md>
2. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/doc/en/overview.md>
3. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/doc/en/how_to_write_rules.md>
4. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/doc/en/argument.md>
5. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/doc/en/result.md>
6. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/doc/en/startup.md>
7. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/doc/en/faq.md>
8. <https://github.com/bytedance/appshark/tree/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/config/rules>
9. <https://github.com/bytedance/appshark/tree/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/config/tools/platforms>
10. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/build.gradle.kts>
11. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/src/main/kotlin/net/bytedance/security/app/StaticAnalyzeMain.kt>
12. <https://github.com/bytedance/appshark/blob/487fa2175c4a6ccbfb5a330b5e3ed0081de3bfeb/LICENSE>
13. <https://github.com/bytedance/appshark/releases/tag/v0.1.2>

## 同分区更多条目：应用

- [Wallbreaker Java 堆查看工具](https://awesomerea.org/zh/resources/wallbreaker/index.md) · 工具
- [axmlprinter Android 二进制 XML 解析器](https://awesomerea.org/zh/resources/axmlprinter/index.md) · 工具
- [FlowDroid Android 静态污点分析工具](https://awesomerea.org/zh/resources/flowdroid/index.md) · 工具
- [Enjarify Dalvik 转 Java 字节码工具](https://awesomerea.org/zh/resources/enjarify/index.md) · 工具
- [MagiskFrida 开机自启 frida-server 的 root 模块](https://awesomerea.org/zh/resources/magisk-frida/index.md) · 工具
- [de4dot .NET 反混淆与脱壳工具](https://awesomerea.org/zh/resources/de4dot/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
