RamNarra/KAVACH-AI

GitHub: RamNarra/KAVACH-AI

KAVACH AI 是一个生成式 AI 驱动的 Android 银行木马分析沙盒,通过自动化静态与动态分析生成可解释的威胁审计报告。

Stars: 0 | Forks: 0

# 🛡️ KAVACH AI
Security GenAI Next.js FastAPI Supabase

生成式 AI 驱动的移动银行木马沙盒与可解释威胁审计系统
为印度银行 × IIT-Hyderabad 黑客马拉松 2026 开发

## 📌 核心板块 * **项目名称**:**KAVACH AI** — 智能 Android 取证沙盒与可解释威胁审计器 * **使命宣言**:通过可解释、有证据支持的威胁报告,自动化取证级的静态和动态 APK 分析,保护银行消费者免受移动木马活动的侵害。 * **黑客马拉松背景**:印度银行 × IIT-Hyderabad 黑客马拉松 2026(问题陈述:利用生成式 AI 对欺诈移动应用/APK 进行自动化逆向工程、静态和动态分析以及风险评分)。 * **提交状态**:**排名榜首(AIR-1)的强化生产就绪版本** ## 📖 执行摘要 KAVACH AI 是一款高保真安全扫描器与分析沙盒,专为检测可疑 Android 应用(`.apk`)而构建。它能够自动化逆向工程,在隔离的动态模拟器中执行文件,将安全遥测数据映射至行业标准框架,并利用 Google Gemini 大语言模型 (LLM) 将威胁数据合成为清晰的自然语言咨询报告。 通过将确定性解析引擎(静态反编译、字节码扫描、密钥排查)与行为触发器(Frida 拦截、网络检查和 UI 自动化 playbook)相结合,KAVACH AI 能够将技术漏洞数据转化为通俗易懂的威胁摘要。这弥合了安全运营中心 (SOC)、银行客服人员与受影响消费者之间的沟通鸿沟。 ## ⚠️ 问题背景:银行木马威胁态势 由复杂的 Android 银行木马(例如 *SOVA*、*BRATA*、*Xenomorph*、*Cerberus*、*Drinik*)的驱动,移动银行欺诈正在经历一场变革。威胁行为者绕过传统的 Play Store 安全检查,通过钓鱼链接、虚假的 WhatsApp 转发或恶意短信来分发这些恶意载荷。 一旦安装,这些应用程序就会通过利用三个主要向量来劫持用户的设备: 1. **无障碍服务滥用**:覆盖 Android 的无障碍 API 以拦截屏幕内容、读取击键操作,并自动注入点击事件以执行未经授权的资金转账。 2. **短信拦截(窃取 OTP)**:静默读取并窃取包含双因素认证 (2FA) 验证码的短信,以绕过银行交易防护。 3. **Overlay 钓鱼注入**:检测用户何时打开目标银行应用程序(例如 SBI YONO、HDFC Bank、PayTM),并在其上层绘制恶意覆盖屏幕以窃取登录凭证和 PIN 码。 ### 🚨 SOC 与客户咨询瓶颈 当欺诈发生时,响应时间至关重要。然而,安全运营中心 (SOC) 和银行客服人员受到以下因素的制约: * **反编译延迟**:诸如 MobSF 或标准反编译器链等工具处理单个样本可能需要 5-10 分钟,这对于实时威胁响应来说太慢了。 * **数据过载**:原始的反编译器输出包含数百万行 Java 源代码、XML 清单和 DEX 汇编转储,需要数小时的专家人工审查。 * **缺乏沟通渠道**:目前没有自动化的机制能将原始的技术指标转化为简单的、面向公众的咨询报告,用于警告受影响的消费者。 ## ❌ 现有解决方案的缺陷:差距分析 | 向量 | 现有解决方案(例如 MobSF、VirusTotal) | KAVACH AI 的优势 | | :--- | :--- | :--- | | **分析延迟** | 顺序分析阻塞,处理时间超过 5 分钟。 | **无 GIL 的反编译器队列**可动态扩展(在标准笔记本电脑上顺序运行以防止热节流;根据主机规格大约需要 2-3 分钟)。 | | **TLS/HTTPS 拦截** | 标准套接字跟踪捕获加密的二进制流。 | **Frida 在应用层拦截** (`okhttp3.RealCall`),捕获解密后的网络 payload。 | | **沙盒执行** | 脆弱的 UI 脚本在遇到系统警报或覆盖层时会失败。 | **Playbook UI 探索引擎**使用元素层级结构来自动关闭警告提示。 | | **可解释的评分** | 隐晦的风险指标或推测性的 LLM 摘要。 | **OWASP 可能性 x 影响力矩阵**,结合经过证据验证的 LLM 报告。 | | **可靠性/正常运行时间** | 在高服务器负载下会失败或超时。 | **多层级故障转移链** (Gemini 3.5 Flash $\rightarrow$ 3.1 Flash-Lite $\rightarrow$ 离线规则)。 | ## 💡 KAVACH AI 解决方案 ``` 📥 APK Ingestion (Secure Upload or Validated Ingest URL) │ ├───────────────────────────────┐ ▼ ▼ ⚡ Parallel Static Phase 🔬 Dynamic Emulation Phase ┌───────────────────────────┐ ┌───────────────────────────┐ │ 📂 APKTool & JADX │ │ 📱 Android Emulator Boot │ │ 🏷️ APKiD Signature Match │ │ 🧬 Frida API Hooking │ │ 🔍 Androguard DEX Parser │ │ 🤖 UI Playbook Automation │ │ 🔑 TruffleHog Secret Check│ │ 🌐 okhttp3 HTTPS Intercept│ └─────────────┬─────────────┘ └─────────────┬─────────────┘ │ │ └───────────────┬───────────────┘ ▼ 🛡️ Attributor & Risk Engine - OWASP Likelihood x Impact Score - MITRE ATT&CK Mapping - Banking Trojan Fingerprints ▼ 🧠 Resilient AI Synthesis - Gemini 3.5 Flash gateway - Cross-Validation Badge engine - Plain-English Citizen Advisories ``` KAVACH AI 通过三阶段的自动化 pipeline 来解决移动威胁分析问题: 1. **安全的静态分析**:提取 Android Manifest 文件,运行 Semgrep 规则集,并执行字节码常量池扫描(在消费级硬件上按顺序处理,以防止 CPU 和内存耗尽;根据系统规格,典型的 10MB APK 大约需要 2-3 分钟)。 2. **隔离的动态沙盒**:将 APK 安装到 Android 模拟器中,运行自动化的 UI playbook 以绕过初始提示,并使用 Frida hooks 捕获解密的 HTTP 网络流量和文件系统操作。 3. **可解释的风险聚合器**:使用确定性的 OWASP 风险评级矩阵评估所有发现,并通过弹性 Gemini API 故障转移网关生成可解释的、面向公众的报告。 ## 🧩 系统架构与组件 KAVACH AI 建立在模块化、解耦的架构之上,其中后端分析例程与客户端网关是隔离的: ``` sequenceDiagram autonumber actor User as Banking Investigator participant UI as Next.js Dashboard participant API as FastAPI Gateway participant Sandbox as Docker-Sandbox (JADX/Apktool) participant Emu as Emulator (Frida/ADB) participant AI as Gemini 1.5/2.0 Gateway database DB as Supabase DB User->>UI: Uploads APK / Submits Ingest URL UI->>API: POST /api/analyze (Multipart/URL) Note over API: Validates URL (SSRF Shield)
Validates Size (Zipbomb check) API->>DB: Set initial status to PROCESSING API-->>UI: Return Job ID (Async Processing Starts) par Static Analysis Pipeline API->>Sandbox: Execute sandboxed_run() (Docker Container) Note over Sandbox: JADX Decompile & Apktool Extract
--network none --memory 3g --user nobody Sandbox-->>API: Manifest XML, JADX Source Code, Assets API->>API: Run TruffleHog (Secrets) & Semgrep (Vulnerabilities) API->>API: Run Androguard DEX Bytecode Scan and Dynamic Analysis Pipeline API->>Emu: ADB Install Target APK API->>Emu: Inject Frida Hooks (okhttp3 Intercept) API->>Emu: Run Playbook Engine (UI Interactions) Emu-->>API: Capture Decrypted API Payloads & Syscalls end API->>API: Compile Telemetry & Calculate OWASP Risk Rating API->>AI: Send Analysis Data (Delimited Prompt Envelope) AI-->>API: Synthesized Report & Advisory (JSON) API->>API: Cross-validate AI findings vs. Static/Dynamic facts API->>DB: Save Fernet-Encrypted Scan Document UI->>API: SSE (Server-Sent Events) Status Poll API-->>UI: Pushes Complete Document UI->>User: Displays interactive Threat Dashboard ``` ## 📂 代码库结构与代码符号 ``` KAVACH-AI/ ├── backend/ # FastAPI Backend Application Services │ ├── main.py # Pipeline orchestrator, worker pool, downloaders, and cleanup [1] │ ├── routes.py # API route handlers, stream uploads, rate limits, and hooks [2] │ ├── auth.py # JWT token parser, security sessions, and admin filters [3] │ ├── sandbox_runner.py # Isolation wrapper spawning Docker-Sandbox subprocesses [4] │ ├── Dockerfile-sandbox # Build recipe for the eclipse-temurin JRE sandbox container [5] │ ├── Dockerfile # Production Dockerfile for backend deployments │ ├── supabase_db.py # Encrypted Postgrest DB wrapper mimicking Firestore API [6] │ ├── analysis_engine.py # Semgrep rule processor and TruffleHog scanner [7] │ ├── androguard_analyzer.py # DEX Bytecode constant scanner and namespace filter [8] │ ├── banking_fraud.py # Signature heuristics for known trojans (SOVA, BRATA, etc.) [9] │ ├── risk_engine.py # OWASP Likelihood x Impact scoring calculator [10] │ ├── attack_mapping.py # Dynamic indicator mapper to MITRE ATT&CK techniques [11] │ ├── dynamic_engine.py # ADB interface, Frida session orchestrator, and app installer [12] │ ├── playbook_engine.py # UI Automator crawler and interactive monkey simulator [13] │ ├── frida_hooks.py # Javascript hooking files (okhttp3, file, and SMS intercepts) [14] │ ├── vt_scan.py # Async VirusTotal SHA-256 hash lookup client [15] │ └── test_intelligence.py # Pytest testing suite covering security limits and rates [16] ├── frontend/ # Next.js Frontend Web Application │ ├── src/ │ │ ├── app/ │ │ │ ├── page.tsx # Cyber-dashboard interface with live SSE poll streams [17] │ │ │ ├── globals.css # CSS stylesheets, matrix canvas configuration, themes │ │ │ └── layout.tsx # Next.js layout template │ │ └── lib/ │ │ ├── api.ts # API client with same-origin detection & IndexedDB cache [18] │ │ └── types.ts # Unified TypeScript definitions for scan documents [19] ├── supabase/ # Supabase Local Development Configuration & Migrations │ ├── config.toml # Supabase local environment settings │ └── migrations/ │ └── 20260611000000_... # Database migration schema & PL/pgSQL rate functions [20] ├── ops/ # Ops scripts and cleanup policies │ ├── cleanup_orphan_apks.py # Automatic process pruning unused host workspace files │ └── storage-lifecycle.json # Storage lifecycle settings ├── setup.sh # One-command dependency installation script └── start.sh # One-command runtime orchestrator script ``` ### 模块代码符号目录(内部可点击引用) * [1] [backend/main.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/main.py):Pipeline 编排器,使用 `ThreadPoolExecutor` 和 `Semaphore`(限制为 2)协调分析作业以控制主机资源。包括对临时工作区的清理。 * [2] [backend/routes.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/routes.py):处理 FastAPI 路由、多部分文件流、速率限制更新和 hooks 注入。 * [3] [backend/auth.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/auth.py):根据配置的 JWT 密钥验证传入的 Authorization Bearer token,并支持会话标头。 * [4] [backend/sandbox_runner.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/sandbox_runner.py):安全的子进程运行器,在隔离的 Docker 容器中使用丢弃的 capabilities 执行 JADX/Apktool。 * [5] [backend/Dockerfile-sandbox](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/Dockerfile-sandbox):多阶段 Dockerfile,用于构建沙盒容器,使用 eclipse-temurin JRE 和非 root 的 `sandbox` 用户。 * [6] [backend/supabase_db.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/supabase_db.py):可直接替换标准 Firestore 接口,在传输前使用 Fernet 加密敏感字段。 * [7] [backend/analysis_engine.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/analysis_engine.py):执行 Semgrep AST 检查并解析 TruffleHog 密钥输出。 * [8] [backend/androguard_analyzer.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/androguard_analyzer.py):直接解析 DEX 文件头并检查常量表。 * [9] [backend/banking_fraud.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/banking_fraud.py):针对已知移动银行木马进行规则匹配签名检查。 * [10] [backend/risk_engine.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/risk_engine.py):实现 OWASP 可能性 x 影响力评分框架。 * [11] [backend/attack_mapping.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/attack_mapping.py):将字节码遥测数据和指标映射到 MITRE ATT&CK 技术。 * [12] [backend/dynamic_engine.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/dynamic_engine.py):处理模拟器上的 APK 安装并启动 Frida hooks 会话。 * [13] [backend/playbook_engine.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/playbook_engine.py):使用 UIAutomator 屏幕层级结构与目标应用进行交互。 * [14] [backend/frida_hooks.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/frida_hooks.py):用于捕获未加密出站网络流量的 Frida JavaScript 拦截器代码。 * [15] [backend/vt_scan.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/vt_scan.py):使用文件哈希异步查询 VirusTotal API。 * [16] [backend/test_intelligence.py](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/backend/test_intelligence.py):验证安全边界、文件大小和 API 路由。 * [17] [frontend/src/app/page.tsx](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/frontend/src/app/page.tsx):主仪表板应用程序,显示威胁指标、动态追踪和 MITRE 映射。 * [18] [frontend/src/lib/api.ts](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/frontend/src/lib/api.ts):实现 IndexedDB 客户端缓存的客户端包装器。 * [19] [frontend/src/lib/types.ts](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/frontend/src/lib/types.ts):用于 API 和仪表板状态的统一 TypeScript 类型。 * [20] [supabase/migrations/20260611000000_create_documents_table.sql](file:///home/p4cketsn1ff3r/Downloads/Projects/KAVACH%20AI/supabase/migrations/20260611000000_create_documents_table.sql):数据库 schema 迁移和 PL/pgSQL 原子速率限制函数。 ## 🛠️ 技术深入解析 ### 1. AI 层(多层级认知网关) KAVACH AI 通过多层级故障转移架构处理 LLM 交互,以确保可靠性和成本效益: * **Prompt 隔离与防御**:为了防止 prompt 注入,输入被包裹在显式的结构标签 (``) 中。Prompt 包含系统指令,明确警告模型不要执行嵌入在分析文件字符串中的指令。 * **Token 优化**:分析 payload 使用 4KB 的 `MAX_PER_FILE` 限制和 40KB 的 `MAX_TOTAL_PAYLOAD` 限制进行动态截断。这避免了上下文窗口膨胀并控制了执行成本。 * **顺序模型故障转移**:如果主模型 `gemini-3.5-flash` 受到速率限制,编排器将自动故障转移到次级选项: 1. `gemini-3.5-flash`(主要分析) 2. `gemini-3.1-flash-lite`(低延迟故障转移) 3. `gemini-2.5-flash` / `gemini-2.0-flash` 4. 离线启发式引擎(当云 API 不可用时的后备摘要生成器) * **反幻觉解耦**:数值风险评分与 LLM 生成保持独立。评级使用标准公式确定性地计算,将 LLM 限制为仅负责总结发现。 ### 2. 静态分析引擎 静态分析阶段对 APK 进行反编译并解析代码结构: * **Manifest 检查器**:提取应用程序包名、组件导出状态、intent 过滤器和权限声明。 * **DEX 常量池分析器**:使用 Androguard 直接扫描 Dalvik Executable (DEX) 文件,以查找硬编码的 base64 模式、命令执行关键字 (`Runtime.getRuntime().exec`) 和动态类加载器调用。它会自动忽略常见的框架路径(如 `androidx.*` 或 `kotlin.*`),以最大程度地减少噪音。 * **密钥排查与代码审计器**:集成 TruffleHog 扫描器逻辑和映射到 OWASP 移动应用安全验证标准 (MASVS) 的 Semgrep 规则,以识别内嵌密钥和潜在漏洞。 ### 3. 动态分析引擎 当静态分析指示出可能存在的风险时,将触发动态分析环境: * **动态类拦截器 (Frida)**:拦截 `okhttp3.RealCall.enqueue` 和 `execute` 方法,以在应用 SSL 加密之前捕获未加密的出站 payload、endpoint 和 C2 服务器。 * **UI Playbook 自动化器**:通过 UIAutomator 自动与模拟器内部的目标应用程序进行交互。它使用视图层级选择器匹配来定位按钮、输入文本字段并关闭系统对话框警告。 * **模拟器隔离**:在沙盒环境后方运行的无头 Android 虚拟设备 (AVD) 中执行被分析的代码,以防止潜在的主机逃逸。 ## 🏛️ 技术栈 | 类别 | 技术 | 详情 | | :--- | :--- | :--- | | **前端 UI** | Next.js 14 / TypeScript | App Router 布局、动态 EventSource Server-Sent Events、Tailwind CSS | | **后端核心** | FastAPI (Python 3.11) | 高性能异步路由、ThreadPoolExecutor 并行工作进程 | | **数据库** | Supabase (PostgreSQL) | Postgrest REST API 后端、客户端 Fernet 对称加密 | | **沙盒执行** | Docker Engine | 丢弃 capabilities 的隔离沙盒容器 (`kavach-sandbox:latest`) | | **静态分析器** | JADX、APKTool、Androguard | Dalvik 字节码解析器、资源提取器、常量池扫描 | | **漏洞扫描** | Semgrep & TruffleHog | AST 安全审计、OWASP MASTG 规合规性、密钥扫描器 | | **动态拦截** | Frida & ADB Platform-Tools | OkHttp3 拦截器、运行时 API hooks、UIAutomator playbooks | | **AI 合成** | Google Gemini API | Gemini 3.5 Flash 主引擎、多模型故障转移例程 | ## 🔒 安全强化与沙盒化 ``` Untrusted APK Ingestion │ ▼ ┌─────────────────────────────────────────────────────────┐ │ Host API SSRF Shield (socket.getaddrinfo verification) │ └──────────────────────────┬──────────────────────────────┘ │ (Passed) ▼ ┌─────────────────────────────────────────────────────────┐ │ Zipbomb Scanner (Verifies uncompressed size < 2GB) │ └──────────────────────────┬──────────────────────────────┘ │ (Passed) ▼ ┌─────────────────────────────────────────────────────────┐ │ Isolated Docker Subprocess (sandbox_runner.py) │ │ - Host System Isolation (--network none) │ │ - RAM Limits & Swap Controls (--memory 3g) │ │ - Dropped Capabilities (--cap-drop=ALL) │ │ - Writable Temporary Files System in RAM (--tmpfs /tmp) │ │ - Immutable Root File System (--read-only) │ │ - Restricted Sandbox User (--user nobody) │ └─────────────────────────────────────────────────────────┘ ``` KAVACH AI 实施了分层安全控制,以在分析过程中保护主机系统: * **SSRF DNS-Rebinding 防护**:使用 `socket.getaddrinfo` 针对解析出的 IP 地址验证引入的 URL。阻止对环回、多播或私有 IP 网络(`127.0.0.0/8`、`10.0.0.0/8`、`192.168.0.0/16` 等)的请求。 * **Zipbomb 防护**:在解压前检查 ZIP 文件头。拒绝未压缩大小超过 2GB 或压缩比大于 100 倍的存档。 * **容器沙盒隔离**:在 Docker 容器内使用严格的安全配置文件执行逆向工程工具: docker run --rm --network none --memory 3g --memory-swap 3g --cpus 2 --pids-limit 100 --user nobody --cap-drop=ALL --security-opt no-new-privileges --read-only --tmpfs /tmp:size=512m -v /host/in:/sandbox/input:ro -v /host/out:/sandbox/output:rw kavach-sandbox:latest [CMD] 此配置可阻止网络访问,限制内存/CPU 消耗,丢弃所有 Linux capabilities,并以受限用户身份运行工具。 ## 🚀 本地部署指南 按照以下步骤在本地开发机器上设置 KAVACH AI: ### 前置条件 * **操作系统**:Linux(推荐 Ubuntu 22.04 LTS 或更高版本)或 macOS * **Python 3.11+** * **Node.js 18+ & npm** * **Java JRE/JDK**(JADX 和 APKTool 反编译器需要) * **Android SDK Platform-Tools (adb)**(在系统 `PATH` 中配置) * **Docker Engine**(用于容器化的沙盒执行) ### 第 1 步:克隆代码库 ``` git clone https://github.com/RamNarra/KAVACH-AI.git cd KAVACH-AI ``` ### 第 2 步:初始化系统设置 运行自动化安装脚本。此脚本会验证前置条件,配置 Python 虚拟环境,安装后端依赖项,设置 Next.js 前端 node 模块,并创建环境配置模板: ``` chmod +x setup.sh start.sh ./setup.sh ``` ### 第 3 步:配置环境变量 创建根目录下的 `.env` 文件,并设置所需的 API 密钥和连接参数: ``` # 编辑项目环境变量 nano .env ``` 确保已配置以下变量: ``` # Gemini Key GEMINI_API_KEY="AIzaSyYourGeminiAPIKeyHere" # Supabase 数据库配置 SUPABASE_URL="https://your-project-id.supabase.co" SUPABASE_KEY="eyJhbGciOiJIUzI1NiIsIn..." SUPABASE_JWT_SECRET="super_secret_kavach_jwt_security_token_1337" # Operational Modes KAVACH_DOCKER_SANDBOX=1 # Enable isolated Docker sandbox KAVACH_ALLOW_LEGACY_UID=1 # Enable fallback session headers ``` ### 第 4 步:构建沙盒容器 如果 `KAVACH_DOCKER_SANDBOX=1` 处于激活状态,请构建隔离的分析镜像: ``` docker build -t kavach-sandbox:latest -f backend/Dockerfile-sandbox backend/ ``` ### 第 5 步:启动服务 并发启动 FastAPI 后端和 Next.js 前端: ``` ./start.sh ``` * 前端将位于 [http://localhost:3000](http://localhost:3000)。 * 后端网关将位于 [http://localhost:8080](http://localhost:8080)。 ### 🐳 替代方案:通过 Docker Compose 运行 使用 Docker Compose 部署整个技术栈(Next.js 客户端、FastAPI 服务器、Redis 和 MobSF 实例): ``` # 启动所有 compose 服务 docker compose up --build ``` * 在 [http://localhost:3000](http://localhost:3000) 访问 Next.js 仪表板。 * 在 [http://localhost:8000](http://localhost:8000) 访问 MobSF。 ### 🔍 验证与故障排除 #### 1. 确认后端 API 健康状况 通过查询健康检查 endpoint 来验证后端状态: ``` curl -X GET http://localhost:8080/health ``` **预期响应**: ``` { "status": "healthy", "database": "connected", "sandbox": "docker" } ``` #### 2. 常见问题排查 * **端口冲突(8080 或 3000)**:验证没有其他本地服务正在使用这些端口: lsof -i :8080 lsof -i :3000 * **Docker 权限错误**:确保当前系统用户有权与 Docker 守护进程交互: sudo usermod -aG docker $USER *(注销并重新登录以应用组更改)* ## 📈 验证与演示指南 使用示例 APK 验证分析 pipeline: ### 1. 运行静态扫描 1. 打开 [http://localhost:3000](http://localhost:3000) 处的仪表板。 2. 将目标 `.apk` 文件拖放到上传区,或输入安全的下载 URL。 3. 点击 **Initiate Scan**。 4. 监视日志终端以跟踪 JADX 反编译步骤、密钥排查和清单检查。 ### 2. 运行动态沙盒会话 1. 确保正在运行 Android 模拟器并且可以通过 ADB 访问: adb devices 2. 在扫描仪表板上,切换 **Enable Dynamic Tracing**。 3. 点击 **Launch Sandbox**。 4. 系统将安装该应用,生成 Frida 会话以拦截 OkHttp3 套接字,并模拟屏幕交互以捕获运行时日志。 ### 3. 解读威胁报告 完成后,仪表板将显示汇总的发现结果: * **总体威胁评分**:使用 OWASP 风险评级方法得出的 0 到 100 的评分。 * **MITRE ATT&CK 映射手风琴组件**:显示与标准威胁矩阵相关联的已映射指标。 * **已验证徽章元素**:由静态签名验证的发现被标记为 `✓ Evidence-Backed`,而 AI 生成的指标标记为 `⚠ AI Inferred`。 ## 🗺️ 未来路线图 ``` Short-Term (Q3 2026) Medium-Term (Q4 2026) Long-Term (2027) ┌──────────────────────┐ ┌──────────────────────┐ ┌──────────────────────┐ │ 🧪 Emulator Pooling │ │ 🛡️ Anti-Evasion │ │ 🏦 Core Banking │ │ Pre-warmed Android │ │ Detect virtual-box │ │ Integrate via APIs │ │ sandbox sessions │ │ evasion code │ │ to block transfers │ └──────────┬───────────┘ └──────────┬───────────┘ └──────────┬───────────┘ │ │ │ ▼ ▼ ▼ ``` ### 1. 短期目标 * **预热的模拟器池**:实施模拟器池管理器以复用活动的虚拟设备实例,从而减少启动开销。 * **增强的污点流追踪**:改进寄存器级的 DEX 数据流分析器,以识别复杂的重打包 overlay。 ### 2. 中期目标 * **反规避检测**:通过识别虚拟化签名,添加检查以检测被分析的应用程序何时试图绕过沙盒环境。 * **扩展的木马指纹**:扩展签名匹配数据库,以涵盖针对区域 UPI 系统的新型 Android 恶意软件家族。 ### 3. 长期目标 * **核心银行 API 集成**:将扫描 pipeline 与银行交易网关集成,以自动标记与恶意 C2 endpoint 关联的账户。 * **本地 AI 部署**:从云 API 依赖过渡到部署在安全银行基础设施内的本地 LLM(如 Llama-3 或 Gemma-2)。 ## 👥 贡献者 * **Ram Narra** - 首席架构与实现 ## 📄 许可证 该项目基于 Apache 2.0 许可证授权。有关详细信息,请参阅 LICENSE 文件。 ## 🤝 致谢 * **印度银行** 和 **IIT-Hyderabad** 举办 2026 年黑客马拉松。 * **JADX**、**APKTool**、**Androguard** 和 **Frida** 背后的开源社区。
标签:Android, DLL 劫持, DSL, 云资产清单, 大语言模型, 威胁分析, 安全沙箱, 目录枚举, 移动安全, 自动化侦查工具, 请求拦截, 逆向工具, 逆向工程, 错误基检测, 静态代码分析