嵌入式二进制SBOM提取器

MicroTrace是一款自动化SBOM提取工具,用于逆向工程嵌入式固件,识别软件组件并进行漏洞分析。

  • by LOODA09
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 LOODA09/mcpfrontend-with-mcp-client-

使用说明

⚡ MicroTrace–嵌入式二进制文件的自动SBOM提取器

用于固件逆向工程、组件分类和漏洞分析的智能系统。



目录


项目概述

MicroTrace 是一个研发项目,旨在自动生成 软件物料清单(SBOM) 从 裸机嵌入式固件.
通过逆向工程二进制文件和分析功能模式,MicroTrace可以识别不同的软件层,例如 微控制器抽象层, 哈尔, 中间件,以及 应用逻辑--并通过 交互式网络可视化.

该项目将逆向工程、人工智能和网络安全联系起来,以改善 固件透明度, 漏洞检测,以及 供应链安全.


项目阶段

第1阶段——SBOM提取和可视化

🎯 目标

构建一个自动管道,从固件二进制文件中提取功能,将它们分类到层中,并将架构可视化为交互式图形。

工作流程

  1. 输入:

    • 上传a .elf 或 .bin 或 .axf 固件文件。
  2. 拆卸和功能提取:

    • 使用以下命令处理二进制文件 Ghidra无头 提取函数、符号和调用关系。
    • 将结果导出为结构化JSON以供分析。
  3. 部件分类(YARA):

    • 应用 YARA规则 检测:
      • MCAL功能 --低级寄存器访问和外围控制。
      • HAL功能 --围绕MCAL或硬件抽象的包装。
      • 主/应用逻辑 --与已知库不匹配的功能。
  4. 前端可视化:

    • 在a上显示结果 基于web的节点图:
      • 节点=功能或模块
      • Edges=函数调用或依赖关系
      • 颜色=软件层(MCAL、HAL、中间件、应用程序)
  5. RAG助理集成:

    • 使用 检索增强生成(RAG) 连接到 ARM数据表.
    • 用户可以就硬件寄存器或功能目的提出自然语言问题。

📦 交付物

  • 自动反汇编后端(Ghidra+脚本)
  • 基于YARA的分类系统
  • AI数据表助手原型
  • 用于功能可视化的Web UI

第二阶段——人工智能驱动的分析和漏洞检测

🎯 目标

使用机器学习和漏洞数据来识别未知函数,检测重用库,并标记潜在的安全风险。

工作流程

  1. 基于AI的函数映射:

    • 应用 功能指纹识别 未知(HAL/应用程序)代码。
    • 与已知中间件/库(例如FreeRTOS、lwIP、CMSIS DSP)的数据库进行匹配。
  2. 漏洞检测:

    • 用以下内容交叉检查已识别的库 CVE数据库 (例如NVD)。
    • 提醒用户已知的漏洞并建议缓解措施。
    • 生成结构化 软件物料清单 (SPDX或CycloneDX)。
  3. 抄袭与相似性分析:

    • 比较固件样本中的功能指纹以进行检测 代码重用 或 侵犯知识产权.

📦 交付物

  • 基于AI的库和函数分类器
  • CVE查找和漏洞报告模块
  • SPDX/CycloneDX SBOM导出器
  • 带有警报和建议的增强型仪表板

关键技术

组件 工具/框架 目的
拆卸与分析 Ghidra无头、Capstone、Radare2 提取功能和说明
模式匹配 YARA 检测已知的MCAL/HAL代码
人工智能助理(RAG) LangChain/LlamaIndex 查询硬件数据表
前端可视化 React+D3.js/Cytoscape.js 交互函数图
漏洞检测 NVD API/CVE进料 检查已知的CVE
SBOM格式 SPDX/CycloneDX 标准化合规报告

📅 时间计划

阶段 持续时间 里程碑
第1-2周 设置 团队仓库、架构设计、示例固件收集
第3-5周 反汇编 自动化Ghidra无头提取和JSON输出
第6-8周 分类 制定和测试MCAL/HAL的YARA规则
第9-10周 可视化 使用实时数据实现前端图形
第11-12周 RAG助手 嵌入ARM数据表和测试AI查询
第13-14周 指纹识别 训练/测试未知功能的AI模型
第15-17周 漏洞分析 CVE查找集成+SBOM报告导出
第18周+ 最终集成 系统测试、前端优化、文档定稿

最终成果

  • 自动化 SBOM提取器 用于嵌入式二进制文件
  • 交互式 代码架构图
  • AI助手 用于硬件和逻辑理解
  • 集成 漏洞和合规性扫描程序
  • 可选的 代码相似性/抄袭检测

用例

  • 固件安全审计 --识别物联网或工业固件中的漏洞
  • 供应链验证 --确保第三方组件是可信的
  • 逆向工程 --探索固件结构和依赖关系
  • 教育用途 --为学生可视化嵌入式软件层
  • 知识产权保护 --检测复制或重用的嵌入式代码

🔹 MicroTrace — Bridging Embedded Systems, Security, and AI 🔹