文章目录

前言一、Trivy的安装二、常规代码项目扫描2.1 输出为txt格式的报告2.2 输出为json格式的报告2.3 常用参数详解

三、Jar包依赖扫描四、Docker images镜像依赖扫描五、本期送书《Frida Android SO逆向深入实践》如何领书

总结

前言

第一次使用Trivy还是在去年,当时在做代码审计的时候就觉得这个工具非常了,可以扫描出代码项目中有问题的依赖,然后推动开发们去升级这些有安全漏洞的依赖。

Trivy在代码审计中发挥非常大的作用,加上它是免费使用,这种无私奉献的精神简直就是人类之光!难得今天有空,所有补上一篇Trivy的使用教程,帮助小白或者其他安全从业者使用这款优秀的依赖扫描工具。(Github上这个项目已经拥有21.3k的stars⭐️)

提示:以下是本篇文章正文内容,下面案例可供参考

一、Trivy的安装

官网链接: https://github.com/aquasecurity/trivy

Trivy是一款全面的多功能安全扫描器。Trivy 可以查找安全问题,并能在发现问题的地方锁定目标。现在是北京时间2024年4月22日,Trivy已经更新到v0.50版本了,下面是官方的参考文档: https://aquasecurity.github.io/trivy/v0.50/

选择适合自己系统的版本下载即可。下载完后解压:

./trivy --version

能成功运行,说明安装成功,可以开始使用它了!

二、常规代码项目扫描

maven编译java项目:

apache-maven-3.9.2/bin/mvn -gs /Users/xxxx/apache-maven-3.9.2/settings.xml clean install -Dmaven.test.skip -Dmaven.repo.local=/Users/xxxx/.m2/repository

2.1 输出为txt格式的报告

txt格式

./trivy fs {repo_path} -o {output_file} --skip-db-update --skip-dirs "**/code-generator" --dependency-tree --offline-scan --timeout 999m

扫描结果打开后如下:

2.2 输出为json格式的报告

json格式

./trivy fs {repo_path} --format json -o {output_file} --skip-db-update --skip-dirs "**/code-generator" --offline-scan --timeout 999m

2.3 常用参数详解

fs 参数:常规扫描代码项目,fs参数后面指定代码项目的路径format 参数:输出结果的文本格式-o 参数:输出扫描结果的保存路径–skip-db-update 参数:拒绝自动更新trivy数据库。 (因为trivy的数据库只支持3天的缓存,3天后则需要自动更新,有时候电脑没开煮会可能导致下载速度非常缓慢,所以为了节省时间,可以添加这个参数,跳过数据库的更新,但是一般情况下建议都不要加这个参数,让它自动更新数据库)–skip-dirs 参数:需要忽略扫描的文件夹。 (如果需要忽略多个文件夹,则用英文的,逗号隔开,在后面依次添加文件夹的路径即可,支持使用**/的方式来模糊匹配)–offline-scan 参数:离线扫描。 (也就是说Trivy只检测本地依赖,如果不加这个参数,Trivy 会为每个依赖项向 Maven 资源库寻址,如果网络连接速度较低,这会大大增加运行时间。但需要注意的是,在使用 --offline-scan 参数时,可能会跳过某些依赖项)–timeout 参数:超时时间。假如超过这个时间,则Trivy自动停止运行并报错超时。–dependency-tree 参数:依赖树打印。Trivy最牛的参数!!!!!!! 可以把依赖树的传递性关系打印出来,方便我们查看哪个依赖是由哪个依赖嵌套,大大提高时间成本。roofs 参数:扫描jar包。images参数:扫描docker镜像。

下面我用红色框起来的,就是依赖树的传递关系。

三、Jar包依赖扫描

先用mvn命令将java项目打包成jar包。

代码示例如下:

/root/tools/apache-maven-3.9.2//bin/mvn -gs /root/tools/apache-maven-3.9.2/settings.xml clean package -Dmaven.test.skip -Dmaven.repo.local=/root/.m2/repository

trivy扫描命令:

./trivy rootfs --skip-db-update --offline-scan --dependency-tree --timeout 999m /root/code/xxxxxx-web.jar -o /root/code/trivy_扫描结果.txt

四、Docker images镜像依赖扫描

把文件导入到本地的docker环境:

docker load -i (tar文件或者镜像文件)

然后获得docker images的images id:

docker images

扫描命令:

./trivy image imageid -o docker扫描结果.txt --timeout 9999m

或者:

./trivy image REPOSITORY:TAG -o docker扫描结果.txt --timeout 9999m

五、本期送书《Frida Android SO逆向深入实践》

如果对安卓逆向感兴趣的朋友,这本书很不错!推荐大家阅读。

《Frida Android SO逆向深入实践》主要介绍使用Frida辅助分析SO进行逆向工程项目开发。按照由易到难、由浅入深的方式进行讲解,适合Native层的初、中级读者阅读。

本书作者

陈佳林,看雪论坛版主,看雪讲师,在移动安全领域经验丰富,多次主持银行、电信、政府及行业部门培训并参与安全研究项目。在看雪安全开发者峰会、GeekPwn发表主题演讲。在看雪、安全客、Freebuf发表大量技术文章,目前就职于看雪科技,负责移动应用安全研究,看雪《安卓高级研修班》负责人,著有《安卓Frida逆向与抓包实战》、《安卓Frida逆向与协议分析》

如何领书

———————————————— ⚠️:两种送书方式可以重复叠加获奖

方式一 博客送书 本篇文章送书 1本 评论区抽1位小伙伴送书  活动时间:截止到 2024-04-25 00:00:00  抽奖方式:利用网络公开的在线抽奖工具进行抽奖  参与方式:点赞+任意字数评论就行,只要评论+点赞就能参与。我很佛系的,要求不高,就是单纯想送书。

方式二 公众号送书(EureKa安全团队) 关注公众号,参与抽奖,中奖即可送书 1本  活动时间:时间一到,自动开奖!!2024-04-25 00:00:00 截止  抽奖方式:利用抽奖小程序进行抽奖  参与方式:公众号回复“抽奖” 或者 微信扫描下方图片

中奖后我会私信你要邮寄地址,到时候记得回我一下,不然寄不出去的!不是到付,大家放心,我会包邮寄给你。包邮!包邮!

没有中奖的衣服父母也可以通过以下京东链接进行购买: 京东购买链接

中奖粉丝时间白泽天(博客)2024年4月25日m6(小程序)2024年4月25日

总结

以上就是今天要讲的内容,本文介绍了Trivy的使用。

欢迎大家关注EureKaSec,无论是技术交流还是有兴趣加入我们团队,都欢迎随时联络沟通。

    文章原创,欢迎转载,请注明文章出处: 【送书活动第1期】2024最新!依赖扫描神器Trivy的详细使用教程(Jar/Maven/docker images镜像)(文末送书).。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

精彩内容

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: