当前位置: 首页 > news >正文

Startup-SBOM:一款针对RPM和APT数据库的逆向安全工具

关于Startup-SBOM

Startup-SBOM是一款针对RPM和APT数据库的逆向分析与安全检测工具,该工具本质上是一个简单的 SBOM 实用程序,旨在提供正在执行的包的内部视图,可以帮助广大研究人员枚举所有软件包以及可执行文件、服务和版本。

该工具的流程和目标很简单,可以帮助我们清晰地了解 APT 安装的软件包(目前正在为 RPM 和其他软件包管理器实现此功能),主要用于检查哪些软件包正在实际执行。

支持的镜像

目前该工具适用于基于 Debian 和 Red Hat 的镜像,工具可以保证 Debian 的输出,但是 Red-Hat 仍然需要做一些工作,因为还并不完美。

工具要求

rich==13.4.2

pydantic==2.6.4

graphviz==0.20.1

rpm==0.1.0

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/morpheuslord/Startup-SBOM.git

然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:

cd Startup-SBOMpip3 install -r requirements.txt

工具使用

参数选项

描述

--analysis-mode

指定操作模式。默认为static。选项为static和chroot。

--static-type

指定静态模式的分析类型。仅在静态模式下是必需的。选项有info和service。

--volume-path

指定已安装卷的路径。默认值为/mnt。

--save-file

指定 JSON 输出的输出文件。

--info-graphic

指定是否为 CHROOT 分析生成可视化图表。默认值为True。

--pkg-mgr

手动指定包管理器或者不添加此选项以进行自动检查。

工具运行演示

静态信息分析

该命令以静态分析模式运行程序,具体使用信息目录分析方法。它分析安装在位于/mnt的已安装卷上的软件包,并将输出保存在名为output.json的 JSON 文件中。最后,它将为 CHROOT 分析生成可视化图表:

python3 main.py --pkg-mgr apt --analysis-mode static --static-type info --volume-path /mnt --save-file output.json

静态服务分析

该命令以静态分析模式运行程序,具体使用服务文件分析方法。它分析安装在位于 的已安装卷上的软件包/custom_mount,并将输出保存在名为output.json的 JSON 文件中。但它不会为 CHROOT 分析生成可视化图表:

python3 main.py --pkg-mgr apt --analysis-mode static --static-type service --volume-path /custom_mount --save-file output.json --info-graphic False

带有或不带有图形输出的 Chroot 分析

此命令以 chroot 分析模式运行程序,它分析安装在位于/mnt的已安装卷上的软件包,并将输出保存在名为 的 JSON 文件中output.json。最后,它会为 CHROOT 分析生成可视化图表(--info-graphic保持True/False即可):

python3 main.py --pkg-mgr apt --analysis-mode chroot --volume-path /mnt --save-file output.json --info-graphic True/False

RPM静态分析

python3 main.py --pkg-mgr rpm --analysis-mode static --volume-path /mnt --save-file output.json

带有或不带有图形输出的RPM Chroot 分析

python3 main.py --pkg-mgr rpm --analysis-mode chroot --volume-path /mnt --save-file output.json --info-graphic True/False

图形化数据输出(Chroot)

APT Chroot

RPM Chroot

许可证协议

本项目的开发与发布遵循MIT开源许可协议。

项目地址

Startup-SBOM:【GitHub传送门】

相关文章:

  • Jenkins使用Publish Over SSH插件远程部署程序到阿里云服务器
  • vue3+ts+vite+pinia+element-plus搭建一个项目
  • 使用Docker-compose一键部署Wordpress平台
  • Bean对象生命周期流程图
  • Compose(2)声明式UI
  • 简简单单用用perf
  • Shell运算符
  • CDD数据库文件制作(五)——服务配置(0x19_DTC Code)
  • 基于深度学习的图像特征优化识别复杂环境中的果蔬【多种模型切换】
  • leetcode 41-50(2024.08.19)
  • 深度学习-----------------------含并行连结的网络GoogLeNet
  • 【大数据算法】开篇:一文掌握大数据概述、特点及应用等。
  • 程序员如何学习开源项目
  • golang实现windows获取加密盘符的总大小
  • 科创中心“核”动力|趋动科技:AI算力界的领跑者
  • ES6指北【2】—— 箭头函数
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • Laravel 菜鸟晋级之路
  • Linux CTF 逆向入门
  • Logstash 参考指南(目录)
  • MD5加密原理解析及OC版原理实现
  • Promise初体验
  • Vue全家桶实现一个Web App
  • windows-nginx-https-本地配置
  • 从零开始在ubuntu上搭建node开发环境
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 配置 PM2 实现代码自动发布
  • 小程序开发之路(一)
  • 学习使用ExpressJS 4.0中的新Router
  • No resource identifier found for attribute,RxJava之zip操作符
  • 白色的风信子
  • ionic入门之数据绑定显示-1
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • # 服务治理中间件详解:Spring Cloud与Dubbo
  • ## 1.3.Git命令
  • (42)STM32——LCD显示屏实验笔记
  • (C++17) std算法之执行策略 execution
  • (多级缓存)缓存同步
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (译) 函数式 JS #1:简介
  • (转)JAVA中的堆栈
  • (转)mysql使用Navicat 导出和导入数据库
  • (转载)利用webkit抓取动态网页和链接
  • .NET 漏洞分析 | 某ERP系统存在SQL注入
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .net网站发布-允许更新此预编译站点
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • .NET中的Event与Delegates,从Publisher到Subscriber的衔接!
  • @media screen 针对不同移动设备