secbeast/SecBeastAPK

GitHub: secbeast/SecBeastAPK

SecBeastAPK 是一款集成多工具链的 Android 应用安全分析框架,通过自动化静态分析与网络侦查为渗透测试人员生成量化风险报告。

Stars: 0 | Forks: 0

# SecBeastAPK 高级自动化 Android 安全分析框架 —— 专为漏洞赏金猎人、移动端渗透测试人员、恶意软件分析师、红队操作员以及进行**授权**评估的安全研究人员打造。 SecBeastAPK 在**单一由 Rich 驱动的 CLI** 背后,协调了行业标准工具(APKTool、JADX、ProjectDiscovery 工具栈、Nuclei、可选的 MobSF),生成带有量化风险评分的 **HTML / JSON / Markdown** 报告。 ## 功能 | 领域 | 功能 | |------|------------| | 静态分析 | APK 解码 (APKTool)、Java/Kotlin 反编译 (JADX)、Manifest 检查 | | 敏感信息 | 对密钥/Token/JWT 类字符串进行 Regex + 熵扫描 | | Endpoints | URL、域名、IP、Buckets、WebSockets、GraphQL 提示 | | Cloud | 针对提取到的 URL 执行 Opportunistic bucket/listing 检查 | | Firebase | 针对常见 REST 暴露路径进行异步探测 | | 网络侦查 | httpx, subfinder, katana, nuclei (完整 pipeline) | | APIs | GraphQL 内省探测;基于 ffuf 的模糊测试(内置字典) | | 风险引擎 | 严重性加权评分 + 攻击面启发式分析 | | 插件 | 在 `plugins/` 目录下放置实现了 `analyze(ctx)` 的 Python 模块 | | 扩展性 | 支持通过 `--massive` 进行有限并发的目录扫描 | ## 截图 image 终端输出采用 Rich 表格、进度指示器以及基于严重性着色的摘要。首次运行后,请在 `docs/screenshots/` 下添加您自己的截图(为了刻意避免二进制图片文件,`README` 中未自带图片)。 建议截取的内容: 1. image image 2. image ## 环境要求 - **Python 3.12+** - **Java** (用于 JADX / 部分工具) - `PATH` 中的外部二进制文件(在可能的情况下,`install.sh` 会自动安装它们): | Binary | 用途 | |--------|---------| | `apktool` | 资源/Manifest 解码 | | `jadx` | Java/Kotlin 源码 | | `httpx` | 存活主机 / 指纹识别 | | `nuclei` | 模板扫描 | | `subfinder` | 被动子域名收集 | | `katana` | 爬虫 | | `ffuf` | 内容发现 | 可选:MobSF (REST API), Frida, objection, mitmproxy —— 存在时会自动调用。 ## 快速开始 (Linux / macOS) ``` git clone https://github.com/secbeast/SecBeastAPK.git cd SecBeastAPK unzip SecBeastAPK.zip -d SecBeastAPK_src cd SecBeastAPK_src chmod +x install.sh ./install.sh source .venv/bin/activate python secbeastapk.py /path/to/app.apk --full ``` 输出结果将存放在 `./output//` 目录下,包含 `report.html`、`report.json`、`report.md`。 ## CLI 用法 ``` # Baseline static scan + 轻量级 network probes python secbeastapk.py app.apk # Full offensive pipeline (httpx → katana → nuclei → ffuf) python secbeastapk.py app.apk --full # Dynamic toolchain checks + mitm guidance stub python secbeastapk.py app.apk --dynamic # Concurrency 调优 python secbeastapk.py app.apk --threads 50 # 仅 Report formats python secbeastapk.py app.apk --report html,json # Severity 报告过滤器 (post-scan filter) python secbeastapk.py app.apk --severity critical,high # Mass scanning python secbeastapk.py --massive ./apk-folder/ --full --threads 32 # Air-gapped static-only 风格分析 (无 outbound HTTP) python secbeastapk.py app.apk --offline ``` ## 配置 编辑 `config/settings.yaml` 或导出以下环境变量: | Env var | 用途 | |---------|---------| | `SEC_BEAST_CONFIG` | 备用 YAML 路径 | | `MOBSF_URL` | MobSF base URL | | `MOBSF_API_KEY` | MobSF REST token | ## Docker ``` docker compose build docker compose run --rm secbeastapk /apk/sample.apk --full ``` 根据 `docker-compose.yml` 的配置,将您的 APK 以只读方式挂载到 `./apks` → `/apk`。 ## 架构概述 ``` secbeastapk.py (Typer CLI) └── core/runner.py — orchestrates asynchronous stages ├── modules/apktool.py / jadx.py ├── modules/extractor.py / secrets.py ├── modules/firebase.py / cloud.py ├── modules/httpxscan.py / subfinder.py / katana_scan.py ├── modules/nuclei.py / graphql.py / api_fuzzer.py ├── modules/reporter.py — Jinja2 templates └── core/risk_engine.py — scoring ``` 插件从 `plugins/*.py` 中发现(包含异步 `analyze` 方法的类)。 ## 路线图 - [ ] 在 `rules/` 目录下的 YAML 规则包(内联匹配器) - [ ] 不同 APK 版本间的差异扫描 - [ ] 用于 CI 集成的 SARIF 导出 - [ ] 用于大规模活动的可选 SQLite 语料库 ## 贡献 1. 从 `main` 分支 Fork / 创建分支。 2. 提交前运行 `python -m compileall .`。 3. 保持发现结果基于事实 —— 避免产生嘈杂的重复签名。 4. 在此 README 中记录新模块(功能 + 架构)。 ## 许可证 MIT —— 详见 `LICENSE`。
标签:Android安全, 云安全监控, 无服务器架构, 目录枚举, 移动安全, 请求拦截, 调试插件, 运行时操纵, 逆向工具, 静态分析