vikashseth-oops/Malware-Analysis

GitHub: vikashseth-oops/Malware-Analysis

一个用于恶意软件分析与逆向工程项目的 React 前端控制台,提供样本上传、静态与动态分析结果展示、IOC 提取和 VirusTotal 查询等功能的可视化界面。

Stars: 0 | Forks: 0

# SPECIMEN — 恶意软件分析控制台(前端) 用于高级恶意软件分析与逆向工程项目的 React + Tailwind CSS 前端。它涵盖了功能 1–6 的 UI:上传、哈希、字符串、PE header、动态行为、IOC 提取和 VirusTotal 结果,以及报告导出操作。 ## 设计 深色“取证实验室”主题 —— 石墨色背景,磷光琥珀色为主色调,青色用于网络/IOC 数据,红色/绿色用于判定结论。标题使用 JetBrains Mono,正文使用 Inter,哈希/技术值使用 IBM Plex Mono。标志性元素是位于 `src/components/VerdictGauge.jsx` 中手工构建的径向威胁评分仪表。 ## 运行 ``` npm install npm run dev # http://localhost:5173 ``` ``` npm run build # production build -> dist/ npm run preview # serve the production build locally ``` ## 项目结构 ``` src/ api/client.js # fetch wrapper — swap the mock for your real API data/mockAnalysis.js # sample backend response shape, used for the demo components/ UploadZone.jsx # Feature 1 — drag/drop or click to upload OverviewPanel.jsx # case summary + verdict gauge StaticPanel.jsx # Feature 2 — MD5/SHA1/SHA256, entropy, signature StringsPanel.jsx # Feature 3 — extracted/flagged strings PEHeaderPanel.jsx # Feature 4 — sections, imports, exports DynamicPanel.jsx # sandbox behavior, process tree, persistence IOCPanel.jsx # Feature 6 — IPs, domains, URLs, registry, mutexes VirusTotalPanel.jsx # Feature 5 — detection ratio, vendor results Sidebar.jsx / MobileTabs.jsx # navigation (desktop + responsive mobile) VerdictGauge.jsx # signature radial threat meter Primitives.jsx, Icons.jsx, TopBar.jsx App.jsx ``` ## 连接到你的 Python 后端 前端目前运行在 `mockAnalysis.js` 上,因此无需后端即可构建和演示。要将其连接到你的 Flask/FastAPI 服务: 1. 在你的后端中,暴露 `POST /api/analyze` 接口,接收包含 `file` 字段的 `multipart/form-data`,并返回结构与 `mockAnalysis.js` 类似的 JSON(包含 `case_id`、`file`、`verdict`、`hashes`、`entropy`、`digital_signature`、`pe_header`、`strings`、`dynamic`、`iocs`、`virustotal`)。 2. 在 `src/api/client.js` 中,设置 `USE_REAL_BACKEND = true`。 3. 在运行 `npm run dev` 期间,`vite.config.js` 已经将 `/api` 代理到了 `http://localhost:8000` —— 你可以将其指向你的 Flask/FastAPI 应用运行的任何位置,或者将其更改为你部署的 API URL。 4. 对于 PDF 报告(reportlab),请添加一个 `GET /api/report/:case_id` 端点用于流式传输 PDF,然后更新 `App.jsx` 中的 `exportReport` 函数,使其打开/下载该 URL,而不是使用当前作为回退的 JSON。 ## 注意事项 - 这只是一个**纯前端**。它从不在本地执行上传的文件 —— 它只是将其发布到你的后端,后端应该按照项目说明书的要求,在隔离的 VM/sandbox 内完成所有的静态/动态分析。 - 如果你想重新调整外观,Tailwind token(颜色、字体)位于 `tailwind.config.js` 中。
标签:Ask搜索, DAST, React, Syscalls, Tailwind CSS, VirusTotal, 云资产清单, 前端界面, 恶意软件分析, 数据可视化, 网络威胁情报, 自定义脚本, 逆向工程