找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4920

积分

0

好友

637

主题
发表于 2 小时前 | 查看: 5| 回复: 0

AppSentinel 是一套面向 Android 应用安全检测的开源系统,它把 DLP 数据防泄漏、静态分析、动态沙箱、SCA 组件分析与统计风险评分整合到同一条链路中,目标是让移动端安全检测不再依赖多个分散工具。下方的 DLP 监控面板展示了敏感数据检测的实时统计:身份证号、手机号、银行卡号、API 密钥等都会被自动识别并标记风险等级。

AppSentinel DLP数据防泄漏系统监控面板

快速开始

环境要求

  • Python 3.10+
  • Java JRE 11+ (FlowDroid 依赖)
  • Docker & Docker Compose (可选,用于部署)
  • Android SDK (可选,用于动态分析)

安装依赖

cd AppSentinel
pip install -r requirements.txt

初始化

python main.py init

启动 API 服务

python main.py serve
# API文档: http://localhost:8000/docs

CLI 分析 APK

# 分析单个APK
python main.py analyze /path/to/app.apk

# 批量分析
python main.py batch /path/to/apk_dir/

# 测试DLP分类器
python main.py dlp-test "13800138000"

Docker 一键部署

项目同样提供了 Docker Compose 配置,一条命令即可完成部署:

docker-compose -f docker/docker-compose.yml up -d

项目结构

AppSentinel/
├── main.py                    # 主入口 (CLI + API启动)
├── requirements.txt           # Python依赖
│
├── core/                      # 核心模块
│   └── models.py              # 数据模型定义
│
├── config/                    # 配置管理
│   └── settings.py            # 全局配置 (支持YAML+环境变量)
│
├── dlp_engine/                # DLP数据防泄漏引擎
│   ├── classifier.py          # 敏感数据分类器 (正则+AC自动机+校验算法)
│   └── grpc_server.py         # DLP gRPC/HTTP服务
│
├── static_analyzer/           # 静态分析模块
│   ├── apk_preprocessor.py    # APK预处理/解压
│   ├── manifest_auditor.py    # AndroidManifest安全审计
│   └── taint_analyzer.py      # 污点分析 (FlowDroid集成)
│
├── dynamic_sandbox/           # 动态分析沙箱
│   └── hook_agent.py          # Frida Hook代理
│
├── sca_checker/               # 软件成分分析
│   └── component_analyzer.py  # 第三方库漏洞检测
│
├── stats_engine/              # 统计评分引擎
│   └── risk_scorer.py         # 加权风险评分 + Apriori关联规则
│
├── report_generator/          # 报告生成
│   └── generator.py           # HTML/PDF/SARIF/JSON报告
│
├── api_gateway/               # API网关
│   └── main.py                # FastAPI应用 (RESTful API)
│
├── docker/                    # Docker部署
│   ├── Dockerfile
│   ├── docker-compose.yml
│   └── init-db.sql
│
├── plugins/                   # 插件目录
├── tests/                     # 测试
├── docs/                      # 文档
├── data/                      # 数据目录
└── reports/                   # 报告输出

核心特性

AppSentinel 的核心能力覆盖六个维度,从 静态分析 到动态沙箱,从 SCA 组件分析到统计评分,下面逐一拆解。

1. DLP 数据防泄漏引擎

  • 身份证号识别(含校验算法 GB11643-1999)
  • 手机号、邮箱、银行卡号(Luhn 算法)
  • IMEI/IMSI 设备标识检测
  • 密码明文、API 密钥检测
  • AC 自动机高性能多模式匹配
  • 上下文感知的策略违规判定

2. 静态分析

  • AndroidManifest 安全审计(组件导出、权限、调试模式)
  • 基于 FlowDroid 的污点分析
  • DLP 增强的 Source/Sink 标注
  • 已知 SDK 路径剪枝优化
  • 过度权限检测

3. 动态分析

  • Frida 运行时 Hook
  • 网络层监控(HttpURLConnection、OkHttp、HttpsURLConnection)
  • 文件 I/O 监控(FileOutputStream、SharedPreferences)
  • 数据库操作监控(SQLiteDatabase)
  • 敏感 API 调用追踪

4. SCA 组件分析

  • Android 第三方库已知漏洞数据库
  • OWASP Dependency-Check 集成
  • CVE 漏洞映射

5. 统计风险评分

  • 加权评分模型:$RiskScore = \Sigma(W_i \times X_i)$
  • CVSS 评分 + DLP 敏感度 + 路径复杂度 + 组件导出
  • Apriori 关联规则挖掘
  • 风险等级:LOW / MEDIUM / HIGH / CRITICAL

6. 报告生成

  • HTML 报告(可视化面板)
  • JSON 报告(程序化处理)
  • SARIF 格式(CI/CD 集成)
  • PDF 报告(WeasyPrint)

项目地址

https://github.com/cyx1029/AppSentinel

项目代码已在 GitHub 开源,感兴趣可以直接拉取研究。更多移动安全与开发实战内容,欢迎到 云栈社区 一起交流。




上一篇:Coruna iOS漏洞利用套件C2面板泄露:Safari打开即中招,多阶段攻击链拆解
下一篇:自动化漏洞挖掘 Skills 实战:从资产发现、PoC 验证到证据链报告
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-9-6 07:11 , Processed in 0.783750 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表