
源码系统概览
文章正文
Malware-Research-Hub 是一套面向安全研究人员的本地化恶意软件研究平台源码,集成了 2699 个真实恶意软件样本(全部加密存储)、80 个家族、11 个收藏集,时间跨度从 1971 年的 Creeper 到 2024 年的现代勒索软件。
项目采用 Python Flask 框架,提供 Web 界面,支持西班牙语和英语双语文本搜索和浏览。
源码简介
项目结构清晰,app 目录包含核心逻辑(server.py、indexer.py、mb_download.py、integrate_collections.py),collections 目录存储各收藏集,app/data 目录存放 JSON 数据文件。平台提供四大核心能力:
① 法证目录(80 个家族去重,同一恶意软件变体/remix 合并展示)
② 样本浏览器(2699 个样本可按家族/平台/类型/收藏集筛选)
③ 资源中心(theZoo、VX-Underground、MalwareBazaar 等权威数据源)
④ 自动采集器(通过 MalwareBazaar API 扩展样本库,验证哈希值确保来源可信)所有样本以 ZIP 加密形式存储(密码为 infected),服务器默认不直接提供可执行文件下载,仅展示元数据和本地路径。
适用场景
适合安全研究人员、渗透测试工程师、CERT 团队进行恶意软件分析、威胁情报收集和家族分类研究。
也适用于高校信息安全课程教学、防御性网络安全研究。
不适用于生产环境直接使用,建议仅在隔离的虚拟机环境中运行。
功能亮点
① 家族去重:同一恶意软件的不同变体/重制版自动归入同一家族档案,避免重复。
② 双语文本搜索:支持西班牙语/英语关键词搜索,界面语言自动切换。
③ 样本分类器:按家族/平台/类型/收藏集多维度筛选。
④ API 扩展:mb_download.py 通过 MalwareBazaar API 按签名/哈希下载新样本。
⑤ 安全隔离:默认 serve_raw_files=false,不直接提供可执行文件下载,仅显示本地路径供研究人员在隔离环境中手动提取。
⑥ 历史回溯:从 1971 年 Creeper 到现代勒索软件,覆盖 53 年恶意软件演化史。
技术架构与部署指南
| 维度 | 本套源码 | 同类通用方案 |
|---|---|---|
| 技术栈 | 前端:HTML + Tailwind CSS + vanilla JavaScript(无构建步骤) 后端:Pytho |
依具体方案选型,需自行搭建与维护 |
| 部署方式 | 克隆仓库后进入 app 目录,创建 Python 虚拟环境并安装依赖:python3 -m venv .venv &am | 多托管于第三方平台或订阅云服务 |
| 功能侧重 | ① 家族去重:同一恶意软件的不同变体/重制版自动归入同一家族档案,避免重复。 | 功能通用,定制深度有限 |
| 数据归属 | 数据自持,部署在自有服务器,不出站 | 数据通常留存于服务商侧 |
| 成本模式 | 获取后自主部署,无持续授权费用 | 通常按订阅或调用量计费 |
技术栈与运行环境
前端:HTML + Tailwind CSS + vanilla JavaScript(无构建步骤)
后端:Python 3.10+、Flask ≥3.0
数据库:JSON 文件(app/data/ 目录)
运行环境:本地服务器(推荐 Linux/WSL)、Python 虚拟环境
其他依赖:requests(API 调用)、pathlib(路径解析)
安装与部署提示
克隆仓库后进入 app 目录,创建 Python 虚拟环境并安装依赖:python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt。
运行 indexer.py 生成样本索引:python3 indexer.py。启动服务器:python3 server.py,访问 http://127.0.0.1:5057。
如需扩展样本库,获取 MalwareBazaar API Key 后执行:export MB_API_KEY=”your-key” && python3 mb_download.py by-signature LockBit –limit 25,然后 python3 integrate_collections.py 加密并重新索引新样本。
截图与演示说明
Web 界面采用深色绿色主题(#9fe500 酸性绿),背景带 CRT 扫描线效果和绿色网格。
主页面顶部显示项目 Logo(logo-1.png)和警告横幅。功能包括:
① 家族目录标签页(展示 80 个家族历史档案)
② 样本浏览器标签页(表格展示 2699 个样本,可按家族/平台/类型筛选)
③ 资源中心标签页(链接到 theZoo、VX-Underground、MalwareBazaar 等数据源)
④ 统计标签页(显示样本数量、家族数、收藏集数等元数据)。
界面响应式设计,支持移动端查看。
常见问题
问:为什么样本都是加密 ZIP 文件?
出于安全考虑,所有恶意软件样本以 ZIP 加密形式存储,密码为 infected。这是防止意外执行的标准做法,确保样本在隔离环境中才能被提取和分析。
问:能否直接下载可执行文件?
默认配置下(config.json 中 serve_raw_files=false),服务器不直接提供可执行文件下载,仅显示本地文件路径供研究者在隔离环境中手动提取。如需启用文件下载服务,需将 serve_raw_files 设为 true(不推荐在生产环境使用)。
问:如何添加新的收藏集?
将新收藏集放入 collections/ 目录,编辑 app/config.json 添加新条目,然后运行 indexer.py 重新生成索引,最后运行 integrate_collections.py 加密并纳入管理。
安全风险提示
⚠️ 本仓库包含真实恶意软件样本(全部加密),仅限教育、研究和安全防御用途。
在隔离的虚拟机环境中操作,使用 REMnux + FakeNet-NG 等沙箱工具。
切勿在未隔离的生产环境中运行或解压样本。所有样本以加密 ZIP 形式存储(密码 infected),提取后视为潜在威胁,必须按 plutonium-level 危险品处理。
使用本源码需遵守当地法律法规,恶意使用可能构成犯罪。
下载说明
源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。
使用前务必在隔离环境中审查代码,确认无恶意行为后再在实验环境中部署。
本平台包含恶意软件样本,请严格遵守安全使用规范,仅在隔离的虚拟机中运行。