使用 Grype 检查 .jar 包中的漏洞

在开发和部署 Java 应用时,确保依赖库和项目文件中的安全性至关重要。Grype 是一款强大的开源工具,用于扫描项目文件(如 .jar 包)中的已知漏洞。本篇博客将介绍如何手动安装 Grype 并使用它检测 .jar 包中的安全漏洞。

一、手动安装 Grype

Grype 提供了一个简单的命令行工具来检测软件依赖项中的漏洞,支持包括 .jar 在内的多种文件格式。以下是如何在 Linux 系统上手动安装 Grype 的步骤。

1. 前往 下载 Grype

首先,前往使用 Grype 检查 .jar 包中的漏洞,下载适合你的操作系统的 Grype 版本。

2. 下载适合你的 Linux 版本

在页面中找到最新的发布版本,并下载与系统匹配的二进制文件。对于 Linux 用户,可以选择 grype_0.80.0_linux_amd64.tar.gz 这样的文件。

3. 上传到linux上

如: /www/wwwroot/grype

4. 解压文件

下载完成后,使用 tar 命令解压缩文件:

tar -xzf grype_0.80.0_linux_amd64.tar.gz

5. 将 Grype 移动到系统路径

将解压出来的 grype 二进制文件移动到 /usr/local/bin/,这样系统会自动识别该命令。

sudo mv grype /usr/local/bin/

6. 检查 Grype 是否安装成功

执行以下命令,检查 Grype 是否已成功安装并可用:

grype version

如果安装成功,终端将显示 Grype 的版本信息,如:

Application: grype
Version: 0.80.0
BuildDate: 2024-01-01
...

二、检测 .jar 包中的漏洞

Grype 安装成功后,就可以开始扫描 .jar 文件中的安全漏洞了。Grype 支持扫描多种文件格式(如 .jar.tar.tgz 等),并会根据已知漏洞数据库提供详细的安全报告。

1. 使用 Grype 检查 .jar 包中的漏洞

假设我们已经生成了一个 .jar 包并希望检测其中的漏洞,可以使用以下命令:

grype path/to/your/file.jar

 例如,如果你的 .jar 文件名为 app.jar,并且位于当前目录下,可以运行:

grype ./app.jar

Grype 将自动分析 .jar 文件的依赖项,并匹配公开的漏洞数据库(如 NVD、GitHub Advisories)中的信息,生成详细的安全扫描结果。

2. 输出信息

扫描完成后,Grype 会输出漏洞检测报告,包括以下内容:

  • 漏洞 ID: 表示漏洞的唯一标识符(例如,CVE-编号)。
  • 漏洞严重性: 表示该漏洞的严重性等级(低、中、高、关键)。
  • 修复建议: 包含可能的修复方案或版本建议。
  • 受影响的组件: 展示受影响的库或依赖项的版本信息。

输出示例如下:

NAME                       INSTALLED     FIXED-IN      TYPE          VULNERABILITY        SEVERITY 
Java-WebSocket             1.3.7         1.5.0         java-archive  GHSA-gw55-jm4h-x339  High      
bcprov-jdk15on             1.65          1.67          java-archive  GHSA-73xv-w5gp-frxh  High      
bcprov-jdk15on             1.65                        java-archive  GHSA-wjxj-5m7g-mg7q  Medium    
bcprov-jdk15on             1.65          1.78          java-archive  GHSA-v435-xc8x-wvr9  Medium    
bcprov-jdk15on             1.65          1.78          java-archive  GHSA-m44j-cfrm-g8qc  Medium    
bcprov-jdk15on             1.65                        java-archive  GHSA-hr8g-6v94-x4m9  Medium    
bcprov-jdk15on             1.65          1.78          java-archive  GHSA-8xfc-gm6g-vgpv  Medium    
bcprov-jdk15on             1.65          1.66          java-archive  GHSA-6xx3-rg99-gc3p  Medium    
classgraph                 4.8.83        4.8.112       java-archive  GHSA-v2xm-76pq-phcf  Medium    
commons-compress           1.19          1.21          java-archive  GHSA-xqfj-vm6h-2x34  High      
commons-compress           1.19          1.21          java-archive  GHSA-mc84-pj99-q6hh  High      
commons-compress           1.19          1.21          java-archive  GHSA-crv7-7245-f45f  High      
commons-compress           1.19          1.21          java-archive  GHSA-7hfm-57qf-j43q  High      
commons-compress           1.19          1.26.0        java-archive  GHSA-4g9r-vxhx-9pgx  High      
commons-fileupload         1.4           1.5           java-archive  GHSA-hfrx-6qgj-fp6c  High      
jackson-databind           2.12.6.1      2.12.7.1      java-archive  GHSA-rgv9-q543-rqg4  High      
jackson-databind           2.12.6.1      2.12.7.1      java-archive  GHSA-jjjh-jjxp-wpff  High      
jdom                       1.1                         java-archive  GHSA-2363-cqg2-863c  High      
jettison                   1.1           1.5.2         java-archive  GHSA-x27m-9w8j-5vcw  High      
jettison                   1.1           1.5.4         java-archive  GHSA-q6g2-g7f3-rr83  High      
jettison                   1.1           1.5.2         java-archive  GHSA-grr4-wv38-f68w  High      
jettison                   1.1           1.5.2         java-archive  GHSA-7rf3-mqpx-h7xg  High      
jettison                   1.1           1.5.1         java-archive  GHSA-56h3-78gp-v83r  Medium    
logback-classic            1.2.11        1.2.13        java-archive  GHSA-vmq6-5m68-f53m  High      
logback-core               1.2.11        1.2.13        java-archive  GHSA-vmq6-5m68-f53m  High      
mysql-connector-java       8.0.28        8.2.0         java-archive  GHSA-m6vm-37g8-gqvh  High      
netty-handler              4.1.75.Final  4.1.94.Final  java-archive  GHSA-6mjq-h674-j845  Medium    
okio                       3.2.0         3.4.0         java-archive  GHSA-w33c-445m-f8w7  Medium    
okio-jvm                   3.2.0         3.4.0         java-archive  GHSA-w33c-445m-f8w7  Medium    
pagehelper                 5.3.0         5.3.1         java-archive  GHSA-w559-623p-vfg8  Critical  
ruoyi-common               3.8.2                       java-archive  GHSA-vp22-232w-h9x8  Medium    
snakeyaml                  1.28          2.0           java-archive  GHSA-mjmj-j48q-9wg2  High      
snakeyaml                  1.28          1.31          java-archive  GHSA-3mc7-4q67-w48m  High      
snakeyaml                  1.28          1.32          java-archive  GHSA-w37g-rhq8-7m4j  Medium 

在报告中,Grype 会显示受影响的依赖项、受影响的版本、修复后的版本(如果存在)、漏洞 ID 和严重性等信息。通过这些信息,可以判断 .jar 文件中的潜在安全风险,并采取相应的修复措施。

总结

使用 Grype 可以轻松扫描 Java .jar 包中的安全漏洞,帮助开发者及安全工程师及时发现项目中的已知漏洞并尽快修复。通过本教程的手动安装和使用指南,你可以快速在 Linux 系统上部署 Grype,并进行漏洞扫描,确保你的项目依赖库的安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/875863.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

splice用法

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Google推出Data Commons解决AI“幻觉”

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

使用LDAP登录GitLab

使用LDAP登录GitLab gitlab.rb 配置如下 gitlab_rails[ldap_enabled] true #gitlab_rails[prevent_ldap_sign_in] false###! **remember to close this block with EOS below** gitlab_rails[ldap_servers] YAML.load <<-EOSmain:label: LDAPhost: 172.16.10.180port:…

C++ | Leetcode C++题解之第398题随机数索引

题目&#xff1a; 题解&#xff1a; class Solution {vector<int> &nums; public:Solution(vector<int> &nums) : nums(nums) {}int pick(int target) {int ans;for (int i 0, cnt 0; i < nums.size(); i) {if (nums[i] target) {cnt; // 第 cnt 次…

c++中的继承和多态

目录 Linux中的管道通信 ​编辑派生类的默认成员函数 继承 派生类的构造 隐藏 如何设计一个不能被继承的类 菱形继承 virtual virtual是如何解决的 内存对象模型 继承和组合 继承 组合 多态 概念 多态的构成条件 虚函数的重写 Linux中的管道通信 派生类的默认成…

ESKF学习笔记

参考资料 https://zhuanlan.zhihu.com/p/441182819 惯性导航(三)-基于流型的ESKF及代码实现_eskf和ekf-CSDN博客 用ESKF实现IMU/GNSS组合导航&#xff08;学习记录&#xff09;_eskf imu-CSDN博客 0.ESKF与KF的区别以及总体流程 0.1卡尔曼滤波过程 卡尔曼滤波的流程按照1…

unity安装配置和vs2022联动教程

目录 1.选择vs2022配置 2.安装unity 2.1安装unity hub 2.2注册个人账号 2.3安装编辑器 2.4修改为简体中文 2.5添加许可证 2.6安装位置修改 3.项目的创建 3.1如何创建 3.2如何选择 3.3配置语言 3.4去哪里找语言包 4.unity编辑器窗口的介绍 4.1游戏的运行和停止 4…

Leetcode面试经典150题-162.寻找峰值

解法都在代码里&#xff0c;不懂就留言或者私信 想清楚的话会特别简单&#xff0c;你可能想不到这是个二分。。。 class Solution {/**本题题目规定我们只能用O(logN)的时间复杂度来解题&#xff0c;这显然就是让二分嘛而题目给的数组本身是无需&#xff0c;怎么二分呢其实我…

4G模块、WIFI模块、NBIOT模块通过AT指令连接华为云物联网服务器(MQTT协议)

MQTT协议概述 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的消息传输协议&#xff0c;它被设计用来提供一对多的消息分发和应用之间的通讯&#xff0c;尤其适用于远程位置的设备和高延迟或低带宽的网络。MQTT协议基于客户端-服务器架构&…

5.安卓逆向-java面向对象

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;图灵Python学院 上一个内容&#xff1a;4.安卓逆向-常用数据结构java语言中的集合 之前的内容写了java语言常用的数据结构&#xff08…

海外云服务器安装 Redis 6.2.x (Ubuntu 18.04 记录篇三)

本文已首发于 秋码记录 通过前两篇的实践&#xff0c;我们已然在海外云服务器/VPS安装了JDK和MariaDB数据库&#xff0c;一个能够运行Java项目的海外云服务器/VPS算是告一段落了。 然而&#xff0c;在这请求量与日俱增的情况下&#xff0c;MariaDB数据库显然是在超负债的工作…

Linux shell编程学习笔记80:gzip命令——让文件瘦身

0 引言 在 Linux shell编程学习笔记76&#xff1a;tar命令——快照 & 备份&#xff08;上&#xff09;-CSDN博客 Linux shell编程学习笔记77&#xff1a;tar命令——快照 & 备份&#xff08;下&#xff09;_linux 系统快照-CSDN博客 Linux shell编程学习笔记78&am…

10万人服务器配置如何选择?10w并发量配置架构

10万并发量的应用如何选择阿里云服务器配置&#xff1f;首先要选择云服务器ECS实例规格&#xff0c;因为是10万并发量需要配置负载均衡&#xff0c;而且还要使用缓存技术&#xff0c;阿里云服务器网aliyunfuwuqi.com从阿里云官网整理的关于阿里云10万并发量服务器配置和案例分享…

哈工大“计算机设计与实践”(cpu)处理器实验设计报告

哈工大“计算机设计与实践”&#xff08;cpu&#xff09;处理器实验设计报告 【哈工大“计算机设计与实践”&#xff08;cpu&#xff09;处理器实验设计报告】 在计算机科学领域&#xff0c;CPU&#xff08;中央处理器&#xff09;是计算机系统的核心部件&#xff0c;负责执行指…

【我的 PWN 学习手札】Fastbin Double Free

前言 Fastbin的Double Free实际上还是利用其特性产生UAF的效果&#xff0c;使得可以进行Fastbin Attack 一、Double Free double free&#xff0c;顾名思义&#xff0c;free两次。对于fastbin这种单链表的组织结构&#xff0c;会形成这样一个效果&#xff1a; 如果我们mallo…

如何下载各个版本的tomcat-比如tomcat9

1&#xff0c;找到tomcat官网https://tomcat.apache.org/ Apache Tomcat - Welcome! 找到tomcat9&#xff0c;或者archives 1.1&#xff0c;找到对应版本 1.2&#xff0c;找到小版本 1.3&#xff0c;找到bin 2&#xff0c;Index of /dist/tomcat/tomcat-9/v9.0.39/bin 2.1&a…

【知识图谱】3.Protege下载安装

一、Protege 1.相关介绍 Protg软件是斯坦福大学医学院生物信息研究中心基于Java语言开发的本体编辑和知识获取软件&#xff0c;或者说是本体开发工具&#xff0c;也是基于知识的编辑器&#xff0c;属于开放源代码软件。 这个软件主要用于语义网中本体的构建&#xff0c;是语义…

烂番茄96%高分恐怖片来袭,吓到连呼吸都小心

今年的恐怖片市场中&#xff0c;出人意料地杀出了一匹黑马&#xff0c;一部名叫《咒物寻凶》的爱尔兰小成本电影在大牌影片扑街的背景下异军突起&#xff0c;成为不少恐怖片爱好者口中的惊喜之作。这部由达米安麦卡锡执导的电影虽然制作成本有限&#xff0c;却凭借独特的民俗恐…

9天也能养成ins账号!超详细操作指南

Instagram&#xff0c;作为全球最受欢迎的社交媒体平台之一&#xff0c;为跨境电商卖家们提供了一个展示产品、吸引潜在客户的绝佳舞台。然而&#xff0c;受限于ins的规则&#xff0c;要想在这个平台上进行产品的宣传并非易事。 这就是为什么我们需要精心培养一个ins账号&#…

F1C100S/F1C200S的资料来源说明

文章目录 常用板子开源创客荔枝派榴莲派 我想说是的官网啥资料都没有。但是它的资料又很多&#xff0c;从淘宝或者其他地方能都搜到很多。 http://wiki.lcmaker.com/index.php?titleLC-PI-200S https://github.com/peng-zhihui/Planck-Pi?tabreadme-ov-file#head4 http://do…