Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
FlutterGuard — 针对 Android 上 Flutter APK 的离线安全审计。检查权限、SDK、端点和潜在密钥。无需 root、账号、广告或分析。 | Kitploit
工具/GitHubGitHub/anasfik/flutterguard
Android安全防御工具静态分析漏洞分析移动应用渗透测试逆向工程信息收集移动安全秘密检测指纹欺骗
GitHubanasfik/flutterguard

FlutterGuard

301812天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

针对 Android 上 Flutter APK 的离线安全审计。检查权限、SDK、端点和潜在密钥。无需 root、账号、广告或分析。

查看仓库网站
FlutterGuard 应用图标

FlutterGuard

面向 Flutter 应用的设备端安全审计——无需 root、无需 PC、无需网络。

检查已安装的 Flutter 应用或选择一个 APK 文件。获取产物清单、 清单风险、内嵌端点、潜在密钥,以及有证据支撑的 A–F 评级报告。 静态发现是待调查的线索,而非漏洞的证明。

Release License: MIT Platform Offline

下载 APK · Google Play(上线后) · 隐私政策

FlutterGuard — 检查应用。保留证据。离线 Flutter APK 审计。无需 root。无需账户。

为什么

Flutter 应用把逻辑藏在 libapp.so 中,在调试构建中附带 100 MB 的 Dart 内核,并将 API 密钥 埋藏在资源文件、resources.arsc 和原生桥接库中。常见的建议—— “用这套工具链在桌面端反编译”——速度慢,在混淆的 AOT 快照上会失败,而且需要匹配的 Dart SDK。

FlutterGuard 完成的是能在手机上生效的部分:它读取操作系统已经暴露的 APK, 解析关键格式(二进制 XML、resources.arsc、DEX 字符串、libapp.so 字符串 池、kernel_blob.bin、NOTICES.Z、env 文件、X.509 数据块),并生成带有 证据的报告——全程离线,无需 root,无需拦截。

它被设计为可反复运行:每次扫描都会打上时间戳并保留,因此第二次扫描会告诉你 同一应用两个版本之间发生了什么变化。真正的发现就在这份差异之中。

截图

应用清单报告评级发现项
已安装 Flutter 应用清单有证据支撑的应用评级与报告摘要发现项列表:导出的服务、明文流量和用户 CA 信任
服务与 SDK设置隐私
检测到的第三方服务和 SDK设置:通知、扫描历史、全部扫描和重新扫描控件可读的应用内隐私政策

商店素材与上架文案 · 应用图标 · 特色图片

选择图片可查看全尺寸商店预览。

它能发现什么

产物 — 包名、版本、SDK 范围、ABI、大小、拆分数量、基础 APK 哈希、每个原生 库及其大小和 SHA-256 前缀、安装来源、签名方案(v1/v2/v3/v4)、签名者 DN 和 证书指纹、调试证书检测。

Flutter 特性 — 是否真的是 Flutter、AOT 还是调试(JIT 内核)、kernel_blob.bin 大小、 JIT 快照是否存在、Dart 引擎版本、混淆状态、从 NOTICES.Z 和 package: URI 恢复的 Dart 包清单,以及一个可交给桌面端后续分析 的指纹(Blutter/reFlutter 需要确切的引擎构建版本)。

清单风险 — 权限、导出的 activity/service/receiver/provider、可调试、 备份、明文策略、网络安全配置(base-config 与 domain-config、仅回环 明文、用户 CA 信任、pin 集合、debug-overrides)、按 scheme 聚合的深度链接。

密钥与端点 — API 密钥(Google、AWS、Stripe、Supabase、Sentry、Firebase、OpenAI、 GitHub、Slack、Sendgrid、Telegram)、OAuth 客户端 ID、类 JWT 数据块、带内联 凭据的数据库/消息代理 URI、含真实主体的私钥块、内嵌 X.509 证书(当转储将其拆分时, 从 PEM 主体行组装)、Dart --dart-define 名称,以及带凭据计数的 .env/.env.prod 文件。

端点 — 跨来源的主机,分类为 first-party / staging / internal / saas:X / ip-literal,来自 YAML/TOML 服务配置的端点列表(uri: btc-electrum.example:50002 风格),来自 Dart 快照的 API 路由,恢复的源路径,WebView 风险标记, MethodChannel 清单分为 app / plugin / standard。

原生接口面 — flutter_rust_bridge 及其他 FFI 桥接、JNI Java_* 入口点计数。

第三方与 AI 接口面 — SDK 指纹表覆盖约 135 项服务,每项通过 zip 路径、DEX 描述符、pub 包或主机进行匹配:从 Firebase、Play Services、计费、 广告和归因,到认证(Auth0、Clerk、Appwrite、Stytch、WorkOS)、实时通信(Agora、LiveKit、 Stream、Sendbird)、支付(Stripe、RevenueCat、PayPal、Paddle)、后端(PocketBase、Nhost、 Supabase)以及向量存储。大型语言模型提供商被逐一清点 — OpenAI、Anthropic、Gemini、Groq、Mistral、Cohere、DeepSeek、OpenRouter、Together、Fireworks、 Perplexity、xAI、HuggingFace、Replicate、Bedrock、DashScope、Moonshot、GLM、MiniMax、ElevenLabs、 Stability — 以及由 localhost:11434(Ollama)和 localhost:1234 (LM Studio)及 ComfyUI 的 :8188 所指示的端侧运行时。同一轮扫描还会列出应用所搭载的 广告、分析和崩溃 SDK,这通常是报告中最令人意外的部分。

SDK 标记文件与捆绑配置 — 根级 billing.properties、 play-services-*.properties、transport-*.properties 和 firebase-encoders*.properties 无需解析 DEX 即可指明它们所证明的 SDK;捆绑的 .env/.json/.yaml/.properties/.sqlite 和 密钥材料被列为配置接口面;捆绑的 HTML/JS 页面被报告为 WebView 载荷, 以便通过 JS 桥接渲染的本地页面可见而非仅被暗示。

当 APK 仍保留其 pubspec.yaml 时的精确版本 — 某些发布构建会保留 项目自身的依赖清单,从而得到真实名称和约束,而非恢复的候选。当它缺失时, 则使用来自 NOTICES.Z 和 package: URI 的候选列表。

安装

  • Google Play — FlutterGuard 商店页面。 可用性取决于 Google 的审核及您所在地区的推广。如果该页面尚未 可用,请使用下方的 GitHub APK。
  • GitHub — 从 最新发布 下载已签名的 FlutterGuard-<version>.apk,并在 Android 提示时允许从 浏览器或文件管理器安装。

Android 8.0+(API 26)。无需 Play Services。Play 提供的是使用 Google 密钥签名的构建,与 GitHub APK 签名者不同。在两者之间切换需要 卸载现有应用。请先导出您想保留的报告: 卸载会删除 应用的私有报告、历史记录和设置。导出不会恢复应用内历史记录。

FlutterGuard 没有 INTERNET 权限。包可见性支持已安装应用审计; 前台服务权限支持本地扫描,通知显示扫描进度。 没有账户、广告或分析。分享报告或打开外部链接是通过另一个应用 执行的显式操作。

使用

  1. 阅读首次运行披露,并选择是否启用已安装应用清单。 同意后会从 APK 内容中列出检测到的 Flutter 应用,包括混淆和拆分 APK。拒绝则保留 Scan an APK file 可用;你也可以将 APK 分享到 FlutterGuard。 在 Settings 中查看或撤回同意。清单会在屏幕之间保持加载; 使用刷新操作重新发现应用。
  2. 点击一个应用。分阶段进度步骤条显示真实流水线(artifact → manifest → DEX strings → native libraries → Dart kernel → assets)。扫描在前台服务中运行,因此离开 屏幕不会取消它;终端通知会告诉你何时完成。
  3. 在三个窗格中阅读报告:
    • Overview — 等级、严重性摘要、artifact + 提取/Flutter 检查元数据、 签名,以及 Changes since last scan。
    • Findings — 按严重性排序的发现,带有掩码证据和匹配值。 点击行上的 Reveal 可就地查看值;默认不会显示任何内容。
    • Explore — 端点(仅当 URL 是显示的那个时才可打开)、候选 路由树、带有已验证 pub.dev 链接的依赖、恢复的路径、通道,以及 具有有界、来源感知预览的 APK artifact 浏览器。
  4. 长部分(路由、路径、依赖)渲染一个有限窗口,See all 会打开一个 可搜索的全屏列表,而不是一个无尽的滚动。
  5. Export 为你勾选的部分写入 JSON 或 Markdown。敏感值保持掩码, 除非你明确选择加入该导出。
  6. 扫描同一应用的下一个版本并比较 — 变更卡片列出添加/移除的主机、 路由、依赖和发现。每次扫描都会追加到应用的版本日志中,有界且 原子。

扫描多个应用

Advanced → Scan all Flutter apps 会将每个检测到的 Flutter 应用排队,一次一个,在 说明成本的确认对话框之后。队列屏幕显示确定性进度条、每个应用的实时 阶段和百分比,以及每个应用的完成情况;完成的行会打开该应用的报告,Cancel 在停止运行前要求确认。每个应用超时可防止一个卡住的扫描 阻塞队列。

无头(批处理 / CI)

在使用脚本化入口点之前,打开应用并同意已安装应用扫描。 未经同意,它会拒绝扫描,而不是绕过披露。

adb shell am start -n com.flutterguard.app/.MainActivity -e scan com.example.app
adb logcat -d | grep FG_REPORT
# Reports live in internal storage; pull one from a debug build (release builds are not debuggable).
adb exec-out run-as com.flutterguard.app cat files/reports/com_example_app.json > com_example_app.json

每个报告旁边都会写入一个 <package>.hist 快照;正是它支撑了差异对比功能。

评级

A 表示干净,C 表示构建良好但存在少量加固缺口,F 表示在某个根本性问题上失败 (发布了调试构建、调试证书、处处明文传输,或随包发布了凭据)。这是一个分诊 标签,而非评分——请阅读发现项,而不是只看字母。

语料库

下载工具