WabiSabi10/RevMind

GitHub: WabiSabi10/RevMind

RevMind 是一款 AI 辅助的静态二进制分析工具,帮助逆向工程师和恶意软件分析师在不执行样本的情况下快速理解 PE、ELF 和 Mach-O 文件并生成可审计的风险评估报告。

Stars: 0 | Forks: 0

# RevMind **专为逆向工程师、恶意软件分析师和 DFIR 提供的 AI 辅助静态二进制分析。** RevMind 能帮助你快速理解 Windows PE、Linux ELF 和 macOS Mach-O 二进制文件——无需执行它们。 [![Python 3.13+](https://img.shields.io/badge/python-3.13%2B-blue.svg)](backend/pyproject.toml) [![FastAPI](https://img.shields.io/badge/API-FastAPI-009688.svg)](backend/src/revmind/presentation/api) [![React](https://img.shields.io/badge/UI-React%20%2B%20TypeScript-61dafb.svg)](frontend) [![覆盖率](https://img.shields.io/badge/coverage-90%25%2B-brightgreen.svg)](backend/pyproject.toml) [![许可证](https://img.shields.io/badge/license-MIT-lightgrey.svg)](LICENSE) ## 为什么选择 RevMind? | 需求 | 你能得到什么 | |------|----------------| | 快速分类 | 哈希、格式、架构、编译器特征 | | 行为提示 | 导入表、IOC、CAPA 能力、YARA 匹配 | | 加壳 / 熵 | 节区熵值、加壳特征、RWX 标志 | | 优先级评估 | 具有**0–100 风险评分**及因子分解的可审计报告 | | 交付方式 | CLI、REST API、React 仪表盘、HTML/MD/JSON 报告 | ## 功能 ### 二进制情报 - PE / ELF / Mach-O(包括通用 Mach-O) - 架构、字节序、位宽、时间戳 - MD5 · SHA-1 · SHA-256 - 编译器标记和数字签名**存在性**(非信任验证) ### 分析器(插件系统) 每个分析器都是可被自动发现的插件(`name`、`description`、`version`、`run()`): | 插件 | 用途 | |--------|---------| | `binary-information` | 格式与元数据 | | `strings` | 带分类的 ASCII / UTF-16 字符串 | | `imports` | 库 → 函数 → 类别 | | `sections` | 布局、权限、异常 | | `entropy` | 全局及各节区的香农熵 | | `security` | ASLR、DEP/NX、PIE、RELRO、Canary 等 | | `ioc` | URL、IP、邮箱、注册表、路径等 | | `packer` | 基于签名 + 启发式的加壳特征 | | `yara` | 可选的规则扫描(`yara-python`) | | `capa` | 可选的能力提取(CAPA CLI) | ### 风险引擎 确定性策略 `1.0.0`(0–100),对高熵值、加壳特征、可疑/网络/远程进程导入、RWX 节区和 IOC 数量设有明确上限。每一分都有据可查。 ### 接口 - **CLI** — `revmind analyze|strings|ioc|yara|capa|report|hash …` - **REST API** — `POST /analyze`、`/report`、`/strings`、`/imports`、`/entropy`、`/ioc`、`/yara`、`/capa`,`GET /history` - **仪表盘** — 暗色 UI:仪表盘、分析、历史记录、报告、设置 ## 如何使用 ![RevMind 使用方法](https://static.pigsec.cn/wp-content/uploads/repos/cas/20/2022cefd1e919e1bfc3c6832ca9f8af90a5c13c50f0b3762c5ad00db29f26974.gif) 1. 打开仪表盘控制台 2. 在 **分析** 页面上传 PE、ELF 或 Mach-O 样本 3. 在 **历史记录** 中浏览已保存的运行结果 4. 检查可审计的风险评分、IOC、YARA、CAPA 以及节区熵 ## 快速开始 ### 前置条件 - Python **3.13+** - Node.js **20+**(仪表盘) - 可选:[Poetry](https://python-poetry.org/)、Docker、CAPA CLI、libyara ### 后端(API + CLI) ``` cd backend python3.13 -m venv .venv source .venv/bin/activate pip install -e . pip install pytest pytest-cov httpx ruff black mypy # 或者:poetry install cp .env.example .env # set AUTO_CREATE_SCHEMA=true for local SQLite # API PYTHONPATH=src uvicorn revmind.presentation.api.app:app --reload --port 8000 # CLI revmind analyze ./sample.elf revmind report ./sample.elf --format html ``` 健康检查: ``` curl http://127.0.0.1:8000/health curl -F "file=@./sample.elf" http://127.0.0.1:8000/analyze ``` ### 前端(仪表盘) ``` cd frontend npm install npm run dev ``` 打开 **http://localhost:5180**(Vite 会将 `/api` 代理到 `:8000`)。 ### Docker Compose ``` docker compose up --build ``` | 服务 | URL | |---------|-----| | API | http://localhost:8000 | | UI | http://localhost:8080 | | Postgres | `localhost:5432` | ## 架构 采用带有 `src` 布局的整洁架构(Clean Architecture): ``` RevMind/ ├── backend/ │ └── src/revmind/ │ ├── domain/ # immutable models & contracts │ ├── application/ # orchestration & API schemas │ ├── infrastructure/ # parsers, plugins, DB, CAPA/YARA backends │ └── presentation/ # FastAPI + Typer CLI ├── frontend/ # React + TypeScript + Tailwind ├── docker-compose.yml └── docs/ # (expanding) ``` 插件从 `infrastructure/analyzers` 及可选的 `revmind.analyzers` 入口点自动发现。 ## 安全模型 - 上传文件将以流式传输的方式保存到私有临时文件中,设有严格的体积限制并保证会被清理 - 分析过程**绝不**执行、映射或动态链接提交的二进制文件 - 阻塞式任务在 API 事件循环之外运行 - 对字符串、IOC、节区、导入表、报告以及 CAPA/YARA 的输出设有数量限制 - IOC / 加壳 / 风险 / CAPA / YARA 的结果均为**观察结果**,而非最终定论 - PE 证书表 / Mach-O 代码签名命令仅报告**存在性** 生产环境部署应添加身份验证、速率限制、请求超时以及容器资源限制。 ## 配置 复制 `backend/.env.example`。主要变量: | 变量 | 作用 | |----------|------| | `DATABASE_URL` | SQLite(开发环境)或 PostgreSQL(生产环境) | | `MAX_UPLOAD_BYTES` | 共享的上传 / 分析体积上限 | | `AUTO_CREATE_SCHEMA` | 在开发环境中自动创建并引导数据表 | | `YARA_RULES_PATH` | 存放 `.yar` / `.yara` 规则的文件或目录 | | `CAPA_ENABLED` / `CAPA_TIMEOUT` | 可选的 CAPA 集成 | | `CORS_ORIGINS` | 仪表盘源(JSON 列表) | 可选的 YARA: ``` cd backend && poetry install --with yara # 设置 YARA_RULES_PATH=./rules ``` 可选的 CAPA:安装 `capa` CLI(或设置 `CAPA_EXECUTABLE`)。 ## 开发 ``` cd backend pytest # ≥90% coverage enforced ruff check . black --check . mypy cd ../frontend npm run build ``` ## 路线图 - [ ] 通过 Graphviz 实现图形生成器(CFG / 调用 / 导入) - [ ] 针对生产环境数据库 schema 的 Alembic 迁移 - [ ] 需身份验证的 API + 多用户历史记录 - [ ] 可选的 LLM 助手(观察结果与解释) - [ ] 更丰富的文档(架构图、插件指南) ## 免责声明 RevMind 旨在用于**经过授权的**二进制情报、恶意软件分析、威胁狩猎和 DFIR 工作流。你有责任遵守适用的法律和组织的规定。请勿使用此软件损害你不拥有或无权分析的系统。 ## 许可证 MIT — 详见 [许可证](LICENSE)。
标签:AV绕过, DAST, FastAPI, YARA, 云资产可视化, 云资产清单, 基础设施安全, 恶意软件分析, 数字取证, 测试用例, 自动化脚本, 请求拦截, 逆向工具, 逆向工程, 静态二进制分析