SriRamkunamsetty/cyber-defense-platform

GitHub: SriRamkunamsetty/cyber-defense-platform

TRINETRA AI是一个基于AI的自动化网络安全平台,专注于Android APK的逆向工程和恶意软件调查,以解决传统手动分析耗时且依赖人工的问题。

Stars: 0 | Forks: 0

# TRINETRA AI — 全栈网络防御平台 TRINETRA AI 是一款自主的、生产级的网络安全 Web 应用程序,旨在使用一个由7个代理组成的顺序 AI 推理流水线,对 Android 应用程序包 (APK) 进行逆向工程、反编译、扫描和调查,以查找恶意软件、可疑活动和欺诈指标。 ## 📋 目录 1. [问题陈述](#-problem-statement) 2. [解决方案](#-the-solution) 3. [架构与系统流程](#-architecture--system-flow) 4. [技术栈深入剖析](#-tech-stack-deep-dive) 5. [已完成与待处理功能](#-completed-vs-pending-features) 6. [优势与平台加固](#-advantages--platform-hardening) 7. [未来增强](#-future-enhancements) 8. [本地开发快速入门](#-local-development-quick-start) ## 📌 问题陈述 在现代移动设备领域,**Android 恶意软件**(特别是银行木马、间谍软件、凭据收集器和勒索软件)已变得日益复杂。攻击者频繁利用: * **无障碍服务滥用**:利用 Android 无障碍 API 捕获按键、截取屏幕内容并绕过多因素认证 (MFA)。 * **数据泄露**:秘密收集短信(用于 OTP 拦截)、通话记录、联系人和个人文件。 * **命令与控制 (C2) 通道**:硬编码或混淆域名、IP 地址或 Telegram 机器人凭证,以便与控制服务器通信。 * **动态代码加载 (DCL)**:在运行时下载加密的恶意代码,以规避静态防病毒检测。 ### 瓶颈 对 APK 的传统安全分析**高度依赖人工且耗时**,需要熟练的安全研究人员手动运行逆向工程工具(如 APKTool 和 JADX),检查数千行反编译的代码,将行为映射到 MITRE ATT&CK 等框架,并撰写执行报告。这种人工瓶颈使得安全运营中心 (SOC) 易受攻击且反应迟缓。 ## 💡 解决方案 TRINETRA AI 自动化了整个移动取证生命周期: 1. **解包与静态分析**:解压并解码 APK 二进制文件,以提取原始权限、服务、活动以及反编译的 Java 代码。 2. **入侵指标 (IOC) 收集**:自动扫描包中的嵌入 URL、IP 地址、API 密钥、令牌和可疑的 API 调用。 3. **顺序多代理 AI 推理**:将原始遥测数据输入由 7 个专业 AI 代理组成的链,它们充当由逆向工程师、威胁分析师和安全经理组成的虚拟团队。 4. **交互式安全控制台**:显示实时 WebSocket 更新、权限分析、反编译代码查看器、交互式威胁图以及 AI 驱动的 SOC 副驾驶。 5. **实时同步**:使用 WebSocket 事件将代理状态更新、日志和发现直接流式传输到用户的仪表板,无需刷新页面。 ## 🏗️ 架构与系统流程 ``` flowchart TD subgraph Frontend [Client Web Interface] UI[React Single Page App] XHR[XHR Direct-to-Storage Uploader] WS_Client[WebSocket Listener] end subgraph Storage [Object Storage] GCS[(Google Cloud Storage Bucket)] end subgraph Backend [Node.js Express & tRPC Server] TRPC[tRPC Router] WS_Server[WebSocket Server] Forensics[APK Forensics Engine] AI_Engine[7-Agent AI Pipeline] end subgraph Database [Relational Data] DB[(MySQL Database)] end UI -->|1. Request Presigned URL| TRPC TRPC -->|2. Generate Upload URL| UI UI -->|3. PUT APK Binary| GCS UI -->|4. Trigger Investigation| TRPC TRPC -->|5. Read File & Scan| Forensics GCS -->|6. Download Buffer| Forensics Forensics -->|7. Stream Progress Logs| WS_Server WS_Server -->|8. Push Live Logs| WS_Client Forensics -->|9. Extract Evidence| AI_Engine AI_Engine -->|10. Sequence 7 Agents| AI_Engine AI_Engine -->|11. Persist Logs, IOCs, Reports| DB AI_Engine -->|12. Broadcast Status| WS_Server ``` ## 🛠️ 技术栈深入剖析 TRINETRA AI 使用现代、类型安全、生产就绪的全栈架构。以下是每个组件的工作原理、选择原因及其背后的生物学/软件概念: ### 1. 前端与客户端布局 * **React (配合 Vite)**: * *概念*:一个基于组件的 JavaScript 库,用于构建用户界面,搭配一个现代、极快的构建工具 (Vite),该工具利用原生 ES 模块。 * *工作原理*:将用户界面划分为可重用的、状态管理的组件。它维护一个虚拟 DOM 来计算差异(diffing)并有选择地重新渲染 HTML 节点。 * *作用*:提供交互式的单页应用 (SPA) 体验,具有客户端路由(`wouter`)、状态管理和实时标签页导航功能。 * **Tailwind CSS 与 shadcn/ui**: * *概念*:实用优先的 CSS 样式框架,结合可复制粘贴的、高度无障碍的、基于 Radix UI 构建的原始 UI 组件。 * *工作原理*:以内联实用类替代传统样式表,在编译时生成优化的 CSS。组件逻辑与样式解耦。 * *作用*:产生高品质的赛博朋克美学(暗色模式、玻璃拟态、发光霓虹灯效果和平滑的网格对齐),同时保持包体积极小。 * **Framer Motion**: * *概念*:一个用于 React 的声明式、生产就绪的动画库。 * *工作原理*:允许通过简单地更改状态变量来为 React 元素制作动画。它开箱即用地处理布局过渡和退出动画。 * *作用*:创建响应式的悬停状态、平滑的页面进入滑入效果以及动态的仪表板遥测数据变化,使平台感觉流畅且高端。 ### 2. 后端与通信层 * **Node.js 与 Express**: * *概念*:一个异步、事件驱动的 JavaScript 运行时,设计用于构建可扩展的网络应用程序,运行在 Google 的 V8 引擎之上。 * *工作原理*:采用单线程事件循环和非阻塞 I/O 操作来处理数千个并发请求而不阻塞。 * *作用*:承载 REST API、本地存储路由器、开发认证端点,并将 tRPC 和 WebSockets 绑定到同一个网络端口。 * **tRPC (TypeScript 远程过程调用)**: * *概念*:端到端、零样板、类型安全的前后端 API 通信。 * *工作原理*:在后端路由器和前端客户端之间直接共享 TypeScript 类型(接口)。当你更新服务器代码时,你的前端在编译时就能立即检查类型问题。 * *作用*:防止运行时 API 契约不匹配,消除手动维护 Swagger/JSON 定义的需要,并使用 `Zod` 强制执行严格的输入验证。 * **WebSockets (`ws` 包)**: * *概念*:在单个 TCP 连接上建立全双工通信通道。 * *工作原理*:将标准 HTTP 连接升级为持久的 TCP 流。客户端和服务器都可以随时即时推送消息。 * *作用*:为实时活动日志终端、进度条以及在进行取证扫描时的顺序代理状态卡提供动力。 ### 3. 取证与逆向工程核心 * **APKTool 与 JADX**: * *概念*:行业标准的 Android APK 逆向工程工具。 * *工作原理*:`APKTool` 解码二进制资源 (`resources.arsc`) 并将编译后的字节码 (`classes.dex`) 反编译为可读的 Smali 汇编。`JADX` 更进一步,将 Smali 汇编反编译为高度可读的 Java 类。 * *作用*:允许应用程序探索应用程序的内部文件系统结构,检索配置 `AndroidManifest.xml`,识别嵌入式资源,并读取代码。 * **备用 ADM-ZIP 扫描器**: * *概念*:一个纯 JavaScript 的 ZIP 解压工具。 * *工作原理*:直接将 APK 文件头解析为标准 ZIP 存档,并提取配置字符串和原始文件。 * *作用*:确保即使服务器运行在未安装 APKTool/JADX 的环境中,该平台也能安全地回退到从二进制文件中直接提取权限和搜索 IOC。 ### 4. 数据库与关系持久化 * **MySQL 与 Drizzle ORM**: * *概念*:一个健壮的、企业级的关系数据库管理系统,搭配一个轻量级的、类似 SQL 的对象关系映射器。 * *工作原理*:将结构化数据存储在具有外键和严格模式的关系表中。Drizzle ORM 充当薄型 TypeScript 包装器,生成优化的 SQL 查询并管理迁移(`drizzle-kit`)。 * *作用*:安全地持久化审计日志、用户记录、调查、入侵指标 (IOC) 和聊天记录,且无抽象开销。 ### 5. 云基础设施 (GCP) * **Google Cloud Run**: * *概念*:基于 Knative 的无服务器容器部署平台。 * *工作原理*:根据传入流量自动将 Docker 容器从零扩展到多个实例。 * *作用*:承载整个 Node.js 后端服务器。空闲时缩容到零个实例以最小化成本,并可动态扩容以处理多个并发的 APK 分析任务。 * **Google Cloud Storage (GCS)**: * *概念*:高度耐用、可扩展的对象存储。 * *工作原理*:将文件作为二进制 blob 存储在存储桶下,通过签名的 URL 访问。 * *作用*:安全地存储上传的 APK 文件。前端使用预签名 URL 直接上传到 GCS,绕过了 Cloud Run 的 32 MiB 服务器请求体大小限制。 ## 📈 已完成与待处理功能 ### ✅ 已完成的全栈功能 1. **直传云存储上传**:集成了预签名上传 URL(生产环境使用 GCS,开发环境使用本地存储),利用 XHR 进度条反馈来绕过 Cloud Run 的 32 MiB 请求体限制。 2. **统一核心服务器**:配置 Express 在单个端口下服务 tRPC 请求、REST 文件和 WebSocket 服务器 (`/api/ws`)。 3. **双认证层**:为生产环境集成了 Firebase 认证(支持 Google 登录和邮箱/密码凭证),为本地开发提供快速的一键开发认证路径。 4. **7代理顺序推理引擎**:完全实现了由 Gemini 驱动的 7 个代理链: * APK 结构与清单代理 * 静态恶意软件分析器 * 动态威胁行为预测器 * 威胁情报关联器 * AI 恶意软件推理引擎 * 欺诈风险评分引擎 * 执行报告生成器 5. **交互式分解视图**:在 Web 界面内浏览文件、反编译的 Smali/Java 类和配置资产。 6. **实时 IOC 分析**:自动识别和提取 URL、IP 地址、邮箱和敏感 API 密钥,并在高保真交互式地图和节点网络中可视化。 7. **SOC 聊天副驾驶**:一个基于当前调查证据的交互式聊天机器人,支持持久化对话历史。 8. **可导出报告**:支持将编译好的调查导出为整洁、可下载的 HTML 格式,并支持打印为 PDF。 ### ⏳ 待增强功能(计划中) 1. **动态沙箱集成**:连接物理或模拟设备(如 MobSF 或 Frida)以执行 APK 并记录实时文件系统、网络和内存活动。 2. **VirusTotal API 增强**:自动对 SHA256 哈希值查询 VirusTotal 数据库,获取即时的全球信誉评分。 3. **多文件批量扫描**:允许安全团队同时拖放多个 APK 进行批量分析排队。 ## 🛡️ 优势与平台加固 * **绕过服务器限制(预签名 URL)**:直传 GCS 的架构完全解决了常见的 Cloud Run 错误(`TypeError: Invalid URL` 或 `413 Payload Too Large`),确保平台能轻松处理最大 150MB 的文件。 * **安全头与 CORS**:集成了严格的 CORS 控制(允许对 GCS 的跨域预检请求)和基于 helmet 的安全头。 * **资源弹性**:集成了自动回退机制。如果主机环境中缺少逆向工程二进制文件,则使用基于原生 JS 的 zip 扫描器。如果在本地开发期间缺少 LLM 密钥,则加载一个智能模拟生成器以保持前端运行。 ## 🚀 未来增强 * **CrewAI 多工作者微服务**:将基于 JS 的顺序代理流水线迁移到专用的 Python CrewAI 服务器容器,实现高级的并行代理交互。 * **机器学习分类模型**:在权限和 Smali 代码令牌频率上训练本地的 XGBoost 或随机森林模型,以零 API 成本计算静态恶意软件特征。 * **自动化修复 / IOC 源**:提供 REST API,将收集到的 IOC 直接导出到防火墙、SIEM 或入侵检测系统(如 Snort 或 Suricata)。 ## 💻 本地开发快速入门 ### 前置条件 * Node.js 20+ * Docker Desktop(用于 MySQL) ### 步骤 1. **克隆仓库**: git clone https://github.com/SriRamkunamsetty/cyber-defense-platform.git cd cyber-defense-platform 2. **安装模块**: npm install 3. **配置环境**: copy .env.example .env 4. **启动数据库**: npm run docker:up 5. **应用数据库架构迁移**: npm run db:push 6. **启动开发服务器**: npm run dev 7. **访问应用**: * 打开 `http://localhost:3000/api/dev/login` 进行即时认证。 * 导航到仪表板并开始扫描!
标签:AI驱动安全, Android安全, APK分析, DAST, DInvoke, MITM代理, PyRIT, 云资产清单, 人工智能, 多智能体系统, 安全情报平台, 恶意APK扫描, 恶意软件分析, 智能体AI, 欺诈风险评分, 用户模式Hook绕过, 网络安全, 自动化分析, 自动化攻击, 跨站脚本, 逆向工程, 金融安全, 金融欺诈预防, 银行恶意软件, 隐私保护