文章目录
前言一、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镜像)(文末送书).。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。
精彩内容
发表评论