GurukiranShiv/MalScanIQ-AI-Malware-Triage-Detection-Platform

GitHub: GurukiranShiv/MalScanIQ-AI-Malware-Triage-Detection-Platform

一个面向 SOC 的 AI 驱动恶意软件分诊平台,通过机器学习、YARA 匹配和 ATT&CK 映射对 PE/ELF 文件进行静态分析,并生成分析师就绪的 JSON 调查报告与 AI 指导建议。

Stars: 0 | Forks: 0

# MalScanIQ : AI 驱动的恶意软件分诊与检测平台 一个面向 SOC 的恶意软件分诊平台,它使用机器学习、YARA 规则匹配、MITRE ATT&CK 映射、风险评分、结构化 JSON 报告以及人机协同的 AI 分析师助手,对 PE 和 ELF 文件执行**安全的静态分析**。 ## 项目概述 该项目旨在支持 SOC 风格的可疑文件分诊工作流。平台不仅返回简单的 `malicious` 或 `benign` 标签,还会生成一份供分析师直接使用的报告,其中包含文件元数据、哈希值、YARA 匹配结果、ATT&CK 映射、ML 预测、严重程度、风险评分、AI 生成的摘要、误报考量以及下一步的调查步骤。 包含的演示文件是刻意安全的,用于在不使用真实恶意软件样本的情况下演示完整的工作流程。 ## 主要功能 - PE 和 ELF 文件的静态分析 - 机器学习恶意软件分类 - 支持 PE 和 ELF 数据集的 Random Forest 模型 - 基于 YARA 的可疑模式匹配 - 针对可疑静态指标的 MITRE ATT&CK 映射 - SOC 风格的风险评分和严重性分类 - 提供分析师指导的 AI 恶意软件分诊助手 - AI 生成的执行摘要和推荐的后续步骤 - AI 生成的面向 Splunk、Elastic/KQL 和 Wazuh 的 SIEM 搜寻思路 - 结构化 JSON 报告生成 - 带有 Swagger 文档的 FastAPI 后端 - Streamlit 分析师仪表板 - 支持 Docker 和 Docker Compose - 单元测试且项目结构适配 CI/CD ## 截图 ### 单元测试通过 ![单元测试通过](https://static.pigsec.cn/wp-content/uploads/repos/cas/54/5427e9dcaaa3d8d85cfbd4c94efd17e070d87f28d7c3cde26d5d38882dcb3a48.png) 测试套件验证了项目的主要组件,包括扫描逻辑、AI 分诊输出、报告生成以及 API 导入行为。 ### CLI 恶意软件扫描结果 ![CLI 恶意软件扫描结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/83/83da54363d923df5b40cb6b4f2bee646b060352fbd32b06221eeb62ad5110a4d.png) 命令行扫描器分析文件并返回预测结果、风险评分、严重程度、YARA 匹配结果、MITRE ATT&CK 映射、AI 摘要以及推荐调查步骤。 ### FastAPI Swagger 文档 ![FastAPI Swagger 文档](https://static.pigsec.cn/wp-content/uploads/repos/cas/63/63dc44620d3780a23d0e70e9a8f5283037ec240baaae5a0eda2f1e1e8e289deb.png) 后端暴露了用于健康检查、文件扫描、已保存报告检索、AI 解释以及模型指标的 REST API endpoint。 ### Streamlit 仪表板上传页面 ![Streamlit 仪表板上传页面](https://static.pigsec.cn/wp-content/uploads/repos/cas/6a/6a347bd0908d00586ecc104a5d1b5ee1e45b787b9176738002b15c2b5cad1798.png) Streamlit 仪表板提供了一个对分析师友好的界面,用于上传可疑文件进行静态分析。 ### 仪表板扫描结果概览 ![仪表板扫描结果概览](https://static.pigsec.cn/wp-content/uploads/repos/cas/4f/4f2b6a260c7465c7ffeb431d97e33bfbdc0cfdf68546b6f245c121c800158b04.png) 结果概览显示了文件类型、预测结果、风险评分、严重程度、YARA 匹配结果、ATT&CK 映射以及初步的 AI 建议。 ### AI 分析师指导 ![AI 分析师指导](https://static.pigsec.cn/wp-content/uploads/repos/cas/c6/c63c5bcd6af1e7994ec1c86578ba46fe65d09f549fee404b14761fc9350f3e58.png) AI 助手使用 SOC 分析师的语言解释结果,并提供下一步的调查指导。 ### 指标、ATT&CK 映射和 YARA 匹配 ![指标和 YARA 匹配](https://static.pigsec.cn/wp-content/uploads/repos/cas/2b/2b2d0e59722fb1c9c3ca02db086e84b10030d104f43ce29bd8c0db2a359d361f.png) 仪表板显示了影响评分的可疑指标、映射的 ATT&CK 技术以及匹配的 YARA 规则。 ### 建议的 SIEM 搜寻 ![建议的 SIEM 搜寻](https://static.pigsec.cn/wp-content/uploads/repos/cas/58/58ba07ea87bc018ee50ae15b68da4cf4374795482d08f440d24a5432bfc0be54.png) AI 助手生成示例搜寻逻辑,可支持 Splunk、Elastic/KQL 和 Wazuh 风格的调查。 ### JSON 分析师报告 ![JSON 分析师报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/2f/2fa023efbf4911b988c0d7acb055d7a1b57d63d4cd1d5ba18bcf9fdd38036e5c.png) 平台生成结构化的 JSON 报告,可用于 SOC 文档记录、富化工作流或未来的 SIEM 集成。 ### 模型指标 Endpoint ![模型指标](https://static.pigsec.cn/wp-content/uploads/repos/cas/2c/2c6d9e285808a94ef03dfc62f030f98e3e66b602425dc66ea6e56f438e292b8b.png) 模型指标 endpoint 暴露了 PE 和 ELF 恶意软件分类模型的性能摘要信息。 ### 项目结构 ![项目结构](https://static.pigsec.cn/wp-content/uploads/repos/cas/fc/fc633056d90beb46d3973a531f9ef5f24b1a38ebeb42de0eecb15205e1189133.png) 该项目划分为不同模块,分别用于扫描、AI 分诊、静态分析、ML 模型、API 路由、仪表板、报告、规则、测试和部署文件。 ## 项目架构 ``` AI-Powered-Malware-Triage-Detection-Platform/ | ├── ai/ │ ├── triage_assistant.py # Human-in-the-loop AI analyst guidance │ └── prompt_templates.py # Optional defensive LLM prompt template | ├── app/ │ ├── main.py # FastAPI backend │ └── scanner.py # Main scan workflow | ├── core/ │ ├── attack_mapper.py # MITRE ATT&CK mapping │ ├── elf_features.py # ELF feature extraction │ ├── entropy.py # Entropy calculation │ ├── file_utils.py # Hashing and file helpers │ ├── pe_features.py # PE feature extraction │ ├── report_generator.py # JSON report generation │ ├── risk_engine.py # SOC-style risk scoring │ ├── strings_analyzer.py # Suspicious string extraction │ └── yara_scanner.py # YARA rule scanning | ├── dashboard/ │ └── streamlit_app.py # Analyst dashboard | ├── data/ # PE/ELF dataset files ├── ml/ # Training, prediction, and saved models ├── rules/ # YARA rules ├── sample_reports/ # Example JSON reports ├── samples/ # Safe demo sample only ├── screenshots/ # README screenshots ├── tests/ # Unit tests ├── Dockerfile ├── docker-compose.yml ├── requirements.txt └── README.md ``` ## 工作原理 ``` Suspicious file uploaded ↓ Static feature extraction ↓ Hashing, entropy, strings, PE/ELF metadata ↓ ML malware classification ↓ YARA rule matching ↓ MITRE ATT&CK mapping ↓ Risk scoring and severity classification ↓ AI analyst summary and next steps ↓ JSON report generation ``` ## 模型摘要 | 模型类型 | 数据集重点 | 用途 | |---|---|---| | PE 模型 | Windows PE 二进制文件 | 使用提取的静态特征对 PE 文件进行分类 | | ELF 模型 | Linux ELF 二进制文件 | 使用提取的静态特征对 ELF 文件进行分类 | 该平台将机器学习作为更广泛分诊工作流中的一个信号。最终决策基于模型输出、YARA 匹配、可疑指标、ATT&CK 映射和风险评分的综合结果。 ## API Endpoint | 方法 | Endpoint | 描述 | |---|---|---| | GET | `/health` | 检查 API 健康状况 | | POST | `/scan/file` | 上传并扫描文件 | | GET | `/reports/{scan_id}` | 获取已保存的扫描报告 | | POST | `/ai/explain` | 为报告生成 AI 解释 | | GET | `/ai/report/{scan_id}` | 为已保存的报告生成 AI 解释 | | GET | `/metrics/model` | 查看模型指标摘要 | FastAPI 文档可通过以下地址访问: ``` http://127.0.0.1:8000/docs ``` ## 安装说明 ### 1. 克隆代码库 ``` git clone https://github.com/GurukiranShiv/AI-Powered-Malware-Triage-Detection-Platform.git cd AI-Powered-Malware-Triage-Detection-Platform ``` ### 2. 创建并激活虚拟环境 对于 Windows PowerShell: ``` python -m venv venv venv\Scripts\activate ``` 对于 Linux/macOS: ``` python3 -m venv venv source venv/bin/activate ``` ### 3. 安装依赖 ``` pip install -r requirements.txt ``` ### 4. 运行测试 ``` pytest -q ``` 预期结果: ``` 7 passed ``` ## 使用方法 ### 运行 CLI 扫描器 ``` python -m app.scanner --file samples/safe_dummy.txt --output sample_reports/safe_dummy_report.json ``` ### 运行 CLI 扫描器并输出可选的 AI prompt ``` python -m app.scanner --file samples/safe_dummy.txt --output sample_reports/safe_dummy_report.json --include-ai-prompt ``` ### 运行 FastAPI 后端 ``` uvicorn app.main:app --reload ``` 打开: ``` http://127.0.0.1:8000/docs ``` ### 运行 Streamlit 仪表板 ``` streamlit run dashboard/streamlit_app.py ``` 打开: ``` http://localhost:8501 ``` ## Docker 使用方法 使用 Docker 构建并运行: ``` docker build -t ai-malware-triage-platform . docker run -p 8000:8000 ai-malware-triage-platform ``` 或使用 Docker Compose 运行: ``` docker compose up --build ``` ## CLI 输出示例 ``` { "file": "safe_dummy.txt", "type": "UNKNOWN", "prediction": "unknown", "malicious_probability": null, "risk_score": 41, "severity": "medium", "yara_matches": [ "Suspicious_Command_Execution_Strings", "Suspicious_Download_Or_Network_Strings" ], "mitre_attack": [ "T1055 - Process Injection", "T1059 - Command and Scripting Interpreter" ], "recommendation": "Submit for deeper sandbox analysis and monitor endpoint activity for follow-on indicators." } ``` ## AI 助手设计 AI 助手被设计为**人机协同的 SOC 分析师辅助工具**。它不执行文件、删除文件、隔离主机或做出最终的事件响应决策。 它提供: - 执行摘要 - 分析师解读 - 风险解释 - 误报考量 - 推荐的调查步骤 - SIEM 搜寻查询建议 - 人类可读的分诊指导 ## 安全提示 - 此工具仅执行静态分析。 - 它不执行上传的文件。 - 请勿将真实恶意软件上传至 GitHub。 - 请勿在个人计算机上分析活跃的恶意软件。 - 对于可疑的真实世界样本,请使用隔离的恶意软件分析虚拟机。 - 包含的演示样本是安全的,仅包含用于演示的可疑字符串。 ## 实际应用场景 本项目可用作以下方向的防御性安全概念验证 (PoC): - SOC 恶意软件初步分诊 - 可疑文件富化 - 恶意软件特征提取研究 - YARA 规则测试 - AI 辅助的分析师报告生成 - SIEM 调查支持 - 事件响应文档记录 它无意取代企业级的 EDR、沙箱或威胁情报平台。在生产环境中,该项目可以通过添加身份验证、基于数据库的扫描历史记录、SIEM 导出、VirusTotal/哈希声誉富化以及隔离的沙箱集成来进行扩展。 ## 未来改进 - 添加 API key 身份验证 - 添加基于数据库的扫描历史记录 - 添加 VirusTotal 哈希声誉富化 - 添加 Splunk、Elastic 和 Wazuh 导出格式 - 添加 STIX 2.1 报告导出 - 在隔离的实验室环境中添加可选的 CAPE/Cuckoo 沙箱集成 - 添加基于角色的访问控制 - 添加审计日志 - 添加更多 YARA 规则和 ATT&CK 映射 ## 简历要点 ``` Built an AI-powered SOC malware triage platform using Python, FastAPI, Streamlit, YARA, and machine learning to analyze PE/ELF files, extract static indicators, classify malware risk, map findings to MITRE ATT&CK, and generate analyst-ready JSON reports with AI-assisted investigation guidance. ``` ## 免责声明 本项目仅用于防御性网络安全教育、研究和作品集演示。应负责任地使用,且仅在受控环境中使用。
标签:Apex, AV绕过, DAST, DNS 反向解析, FastAPI, Kubernetes, Streamlit, YARA, 云安全监控, 云资产可视化, 安全运营(SOC), 恶意软件分析, 机器学习, 访问控制, 请求拦截, 逆向工具, 静态分析