Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何使用Combobulator检测依赖混淆攻击

如何使用Combobulator检测依赖混淆攻击

作者头像
FB客服
发布于 2022-03-12 03:05:45
发布于 2022-03-12 03:05:45
92200
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

关于Combobulator

Combobulator全称为Dependency Combobulator,是一款功能强大的模块化可扩展框架,该工具现已开源,能够帮助广大研究人员检测并防止潜在的依赖混淆攻击风险。

在该工具的帮助下,广大研究人员可以更好地采用一种整体的方法来确保应用程序的安全发布,并可以根据不同的源(例如GitHub包、JForg Artifactory等)和许多其他包管理方案(例如NDM、Maven等)来对项目安全性进行评估。

目标受众

该框架主要为安全审计人员和渗透测试人员设计,甚至还可以以自动化的方式整合进企业的应用程序安全策略以及发布环节中。

主要功能

1、插件化:支持整合进软件开发生命周期中的提交、构建和发布环节中;

2、可扩展:允许我们轻松添加自己的包管理方案或选择的代码源;

3、通用启发式引擎:抽象包数据模型,提供了不可知启发式方法;

4、支持多种技术;

5、灵活性:决策树可以根据工具包提供的内容或判断来确定方案;

该项目所提供的扩展能力允许广大研究人员根据自己的需求来进行定制开发。因此,我们可以轻松将其整合进其他来源、公共注册中心和包管理方案,并实现抽象模型扩展。

工具安装

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

git clone https://github.com/apiiro/combobulator.git

接下来,我们还需要通过下列命令安装好该工具所需的依赖组件:

pip install -r requirements.txt

工具参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-h, --help             显示帮助信息和退出

  -t {npm,NuGet,maven}, --type {npm,NuGet,maven}

                        包管理器类型,例如npm、Nuget、maven

  -l LIST_FROM_FILE, --load_list LIST_FROM_FILE

                        从文件加载依赖列表

  -d FROM_SRC, --directory FROM_SRC

                        从本地源代码库提取依赖

  -p--package SINGLE    命名单个包

  -c CSV, --csv CSV     将包属性导出至CSV文件

  -gh GITHUB_TOKEN, --github GITHUB_TOKEN

                        GitHub 访问令牌 (覆盖.env文件设置)

  -a {compare,comp,heuristics,heur}, --analysis {compare,comp,heuristics,heur}

                        设置分析级别,对比compare和启发式heuristics,默认为compare



Apiiro <Heart> Community

支持的包类型(-t, --t)

1、npm

2、maven

支持的源依赖性评估

1、从包含依赖项标识符的文件逐行读取(-l, --load_list);

2、分析相应代码库的软件材料清单,例如package.json和pom.xml等(-d, --directory);

3、命名单个标识符(-p,--package);

广大研究人员可以通过构建自己的首选分析配置文件来自行设置分析级别,Combobulator提供了几个现成的分析级别,可通过-a或--analysis进行选择。

支持的数据输出格式

1、STDOU(默认)

2、CSV导出(-CSV)

工具使用样例

https://user-images.githubusercontent.com/90651458/140915800-c267034b-90c9-42d1-b12a-83e12f70d44e.mp4

项目地址

https://github.com/apiiro/combobulator

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【年度实用技巧】如何高效管理项目依赖关系
在软件开发中,依赖管理是一项关键任务。无论是前端、后端还是全栈开发,项目的依赖管理都需要精细和有序。随着项目的规模逐渐增大,依赖关系变得更加复杂,如何有效地管理这些依赖关系显得尤为重要。如果依赖关系没有得到很好的管理,可能会导致项目难以维护、更新困难、甚至出现潜在的安全隐患。因此,掌握高效的依赖管理方法,不仅可以提高开发效率,还能确保项目的稳定性和可扩展性。
Echo_Wish
2024/12/30
2640
【年度实用技巧】如何高效管理项目依赖关系
AI+组合优化 |机器学习顶会ICLR/ICML/NeurIPS'23最新进展-MIP求解篇(附原文源码)
----ICLR、NIPS和ICML是人工智能领域的三个顶级学术会议,以下是它们的介绍:
决小策
2023/12/17
1.7K0
GitHub喜提npm:最大的包管理工具,JS版的「pip」
npm 的全称是 Node Package Manager,是一个基于 Node.js 的包管理器,创建初衷是让 JavaScript 开发人员能够更容易地分享和重用代码。
机器之心
2020/03/25
7320
使用 Github Dependabot 自动更新依赖版本
在软件开发工作中,代码依赖管理是个绕不过的话题。针对依赖管理,不同的语言、工具、平台和团队都有自己的解决方案。本文将会介绍 GitHub 推出依赖版本更新工具 Dependabot。正如其名字,Dependabot 就是一个机器人,用来自动更新项目依赖,确保仓库代码依赖的包和应用程序一直处于最新版本。经过一段时间的试用,笔者认为这是一款不错的工具,尤其对于开源项目。
郭旭东
2021/12/04
4.3K0
使用 Github Dependabot 自动更新依赖版本
软件供应链检测工具现状分析
Verocode研究结果表明[1],在开源组件仓库中70.5%的代码库存在安全漏洞,而这些安全漏洞风险46.6%是由其他开源项目直接、间接引进所导致的。Black Duck 报告发现,2020年经过审计的1,546个商业代码库中,98%包含开源软件包,每个代码库平均有528个软件包,84%的代码库在其开源依赖项中至少包含一个公开已知的漏洞[2]。
绿盟科技研究通讯
2023/08/31
9490
软件供应链检测工具现状分析
GitHub 重磅推出软件包托管服务 Package Registry!
今日北京凌晨时间 4 点 37 分,GitHub 在官方 Twitter 上正式宣布,推出自家的软件包托管服务 - GitHub Package Registry。
GitHubDaily
2019/05/16
8870
GitHub 重磅推出软件包托管服务 Package Registry!
Fuzzable:一款基于静态分析实现的可模糊测试的自动化目标识别工具
对于需要对软件进行安全评估的漏洞研究人员来说,通常会使用AFL++和libFuzzer这样的强大工具来增强基于覆盖率的模糊测试。这一点非常重要,因为它可以自动执行错误查找过程,并快速发现和利用目标中存在的安全问题。然而,遇到大型复杂的代码库或闭源二进制文件时,研究人员必须花时间手动审查并对它们进行逆向工程分析,以确定目标可以进行模糊测试。
FB客服
2023/02/10
1.1K0
Fuzzable:一款基于静态分析实现的可模糊测试的自动化目标识别工具
完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖
今天,GitHub发布了全新的软件包管理服务,叫GitHub Package Registry,完全免费。
量子位
2019/05/16
1K0
完全免费!GitHub发布软件包管理服务:NPM瑟瑟发抖
npm 和 yarn 你选哪个?[每日前端夜话0x100]
每个团队都必须在开发过程中做出各种决定。其中通常会涉及到 yarn,npm 或其它用于构建和打包 javascript 代码的工具。一些开发人员渴望朝着某个方向前进,有时他们会花费大量时间来尝试,去做出实际上对他们的工作几乎没有什么影响的决策。
疯狂的技术宅
2019/12/23
1.4K0
npm 和 yarn 你选哪个?[每日前端夜话0x100]
.net 知新:【4】NuGet简介和使用
在包管理以前我们在项目中引用第三方包通常是去下载dll放到项目中再引用,后来逐渐发展成各种包管理工具,nuget就是一种工具,适用于任何现代开发平台的基本工具可充当一种机制,通过这种机制,开发人员可以创建、共享和使用有用的代码。 通常,此类代码捆绑到“包”中,其中包含编译的代码(如 DLL)以及在使用这些包的项目中所需的其他内容。 Linux 我们可以使用apt、yum来安装软件,js 可以使用npm来搭建下载,Java 有maven管理包,而对于.net nuget就是同样效果和机制的工具。
SpringSun
2021/08/13
2.4K0
.net 知新:【4】NuGet简介和使用
.NET周报【10月第1期 2022-10-11】
https://github.com/dotnet/runtimelab/pull/2002
InCerry
2022/11/14
5.4K0
如何管理云原生应用程序的依赖关系
作者 | Guy Bar-Gil 译者 | Sambodhi 策划 | 褚杏娟 许多企业正在将他们的业务转移到云端,这使得他们能够更灵活、更迅速地响应市场的变化,并且更易于拓展自己的业务。但由于要进行大量的规划和实施,所以向云端迁移可能也是一项非常艰巨的任务。术语“云原生”是一种利用云计算交付范式的优势进行开发和运行应用程序的方式。 “云原生”意味着什么? 应用程序在哪里被托管并不重要,重要的是如何开发和部署它们。云原生开发既可以使用公共云,也可以使用私有云。任何云存储都具有存储功能并支持来自
深度学习与Python
2023/03/29
2.1K0
如何管理云原生应用程序的依赖关系
【产品那些事】什么是软件成分分析(SCA)?
在现代软件开发环境中,开发团队经常会依赖于开源的第三方组件来节省时间和提高效率。这些组件本身是由开源社区(Github、Gitee)贡献者来开发,然而,这也带来了一些潜在的安全风险,特别是涉及到供应链安全(这些组件的开发者队安全队安全方面的了解几乎为0、恶意的供应链投毒风险)和第三方组件的质量问题(存在抄袭、开源许可证合规风险)。
没事就要多学习
2024/09/09
1.4K0
【产品那些事】什么是软件成分分析(SCA)?
Vite2.0 依赖关系预捆绑
CommonJS和UMD兼容性:在开发过程中,Vite的dev将所有代码作为本地ESM服务。因此,Vite必须首先将作为CommonJS或UMD发布的依赖项转换为ESM。
公众号---人生代码
2021/03/16
2.7K0
大数据测试学习笔记之监控工具Dr.Elephant
大数据测试学习笔记之监控工具Dr.Elephant 随着大数据测试方面的学习扩展得越来越多,开始找了些关于大数据技术方面的监控工具,本文主要介绍linkedin开源的Dr.Elephant监控工具。 介绍 一句话介绍: Dr.Elephant是Apache Hadoop和Apache Spark的job级和工作流级性能监视和调优工具。 由Linkedin开源贡献,github地址为: https://github.com/linkedin/dr-elephant 定位: 成一个对Hadoop和Spark任务
苦叶子
2018/04/09
2K1
大数据测试学习笔记之监控工具Dr.Elephant
JAW:一款针对客户端JavaScript的图形化安全分析框架
JAW是一款针对客户端JavaScript的图形化安全分析框架,该工具基于esprima解析器和EsTree SpiderMonkey Spec实现其功能,广大研究人员可以使用该工具分析Web应用程序和基于JavaScript的客户端程序的安全性。
FB客服
2024/07/31
2450
JAW:一款针对客户端JavaScript的图形化安全分析框架
客观对比 Python 所有的依赖环境管理工具
当我开始使用 Python 并创建我的第一个包时,我很困惑。创建和管理包似乎比我预想的要困难得多。此外,存在多种工具,但我不确定该使用哪一种。我相信你们大多数人过去都遇到过同样的问题。Python 有无数的工具来管理虚拟环境和创建包,但很难(或几乎不可能)了解哪一个适合您的需求。存在一些关于该主题的演讲和博客文章,但它们都没有给出完整的概述或以结构化的方式评估这些工具。这就是这篇文章的主题。
公众号: 云原生生态圈
2024/05/22
1.8K1
客观对比 Python 所有的依赖环境管理工具
MalScan:一款功能强大的PE文件启发式扫描工具
MalScan是一款功能强大的PE文件启发式扫描工具,该工具基于Python开发,广大研究人员可以使用该工具快速分析PE文件并找出文件代码中是否存在任何可疑内容。值得一提的是,该工具是完全开源的,这也就意味着广大研究人员可以根据自己的需求随意扩展MalScan的功能。
FB客服
2023/08/08
3700
MalScan:一款功能强大的PE文件启发式扫描工具
工欲善其事,必先利其器——DevOps中如何管理工具包
作为DevOps交付流水线的开发者,为支持CI/CD中各项任务的自动化,都需要依赖多种包管理工具来下载各种相关的工具,比如针对产生最终交付件的构建过程,就需要在构建流程的第一步,自动地把相关工具,如Curl、wget、Maven、Gradle、npm等等,下载到CI服务器。这些工具的下载,通常都需要依靠对应的公网服务器和包管理工具来支持。而这样通过公网来下载工具,有时会遇到稳定性的问题,也就是所谓的环境问题,导致工具下载失败,进而导致构建任务的失败。因此,我们需要引入新的技术来克服这些问题,保证工具包下载的稳定和可靠。
JFrog杰蛙科技
2020/04/01
1.3K0
npm 够用吗?初创企业为何追捧这个 JavaScript 软件包注册表?
最近,JavaScript 软件包管理领域发生了重大变化。虽然 npm 仍是 Node.js 运行时环境中使用的 JavaScript 软件包注册中心和管理器,但值得讨论的是,对于 JavaScript 代码交付这个更大的问题,这些变化有什么影响。具体来说,我想到了最近出现的 Deno 的 JavaScript 注册中心 JSR 和 vlt 的无服务器注册中心 vsr 。Deno 将 JSR 称为 “现代 JavaScript 的开源软件包注册中心”。它是由 Node.js JavaScript 运行时的创建者、Deno 联合创始人兼首席执行官 Ryan Dahl 开发的,在 JavaScript 社区中有着良好的发展势头。同时,自 2024 年 11 月在爱尔兰 NodeConf EU 大会上首次亮相以来,vsr 也引起了一些讨论。vlt 公司将 vsr 定位为 “一个简化的、隐私优先的私人开发和无缝分发环境”。由 Ruy Adorno、Darcy Clarke 和 Isaac Schlueter(npm 的创建者)共同创建的 vsr 也希望在这一领域有所作为。在 Node 和 npm 领域,Deno 和 vlt 都有着深厚的基因,它们都在通过软件包管理的方式进入软件包注册领域。我们来讨论下原因。
深度学习与Python
2025/03/10
1860
npm 够用吗?初创企业为何追捧这个 JavaScript 软件包注册表?
推荐阅读
相关推荐
【年度实用技巧】如何高效管理项目依赖关系
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验