免费开源的代码审计工具 Gosec 入门使用
声明:
本教程是在自己的电脑上本地测试Gosec的效果,所以不涉及其他运行模式,如果想要了解其他模式可以关注后期文档,如果想要自定义交流自定义代码扫描规则,可以跟我交流沟通。
背景:
Gosec是一个通过扫描Go AST来检查源代码是否存在安全问题的开源项目。公司到成长到一定程度,就需要对代码进行审计,针对Go的作为主要的开发语言,我就测试一下Gosec的效果。
使用教程
要求
- 已经配置好Go的开发环境
- 准备一个测试项目代码
步骤
1. 进入Go环境src目录下
执行命令:go get github.com/securego/gosec/v2/cmd/gosec
2. 直接Build
进入到gosec项目目录:cd ./gosec/,再执行:make
提示:make后就可以使用gosec来进行代码扫描了,并且是全局的命令
3. 扫描代码
进入你准备好的代码目录下,执行:gosec -fmt=json ./... 命令的意思是:检测当前目录下的所有的代码,并以Json的格式输出到终端。
然后查看结果,如果有漏洞的地方,会在Json的数据格式里写清楚,并写清楚危险等级。
Gosec常用命令
1. 直接输出内容到终端
gosec -fmt=json ./... 支持的格式有:text, json, yaml, csv, sonarqube, JUnit XML, html
2. 输出到指定文件
gosec -fmt=json -out=results.json ./... 输出的格式要个文件后缀名匹配
3. 指定使用规则
# 指定使用某几个规则
$ gosec -include=G101,G203,G401 ./...
# 使用默认所有规则,除了某几个规则
$ gosec -exclude=G303 ./...
更多的使用可以看官方文档:Gosec开源项目地址
本文首发于BigYoung小站
免费开源的代码审计工具 Gosec 入门使用的更多相关文章
- 严重推荐一个免费开源数据库建模工具软件 --OpenSystemArchitect 4.0
嘿嘿,对于我这样的新手,这个工具还是很令人兴奋的. 真的是术业有专攻啊.关键还是免费开源 EXCEL,VISO,PPT,PS,CD,FREEHAND不是不可以,只是.人家还是专业点,方便点.. Ope ...
- Pencil-一个开源免费的UI原型工具,自带ios和android模板
Pencil是一个开源免费的UI原型工具,自带ios和android模板,可以很方便的做mockup. 下图是一个官方展示的模板:
- GitHub 上 10 款免费开源 Windows 工具
GitHub 上 10 款免费开源 Windows 工具 GitHub 是如今所有开源事物的中央仓库, 这个网站最近发布了一个叫做<2016 Octoverse 状态报告>,详细列出了从 ...
- 免费开源Blazor在线Ico转换工具
行文目录 功能效果演示 实现说明 2.1 其他图片上传 2.2 核心代码:其他图片转Ico 2.3 转换后的Ico文件下载 总结 1. 功能效果演示 仓库地址:IcoTool 在线演示地址:https ...
- odoo:免费开源ERP入门与实践
Odoo下载安装 Odoo社区版下载链接:http://nightly.odoo.com/ ,下载11.0社区版Windows安装包:http://nightly.odoo.com/11.0/nigh ...
- 全球第一免费开源ERP Odoo PM OKR项目管理操作指南
概览 Odoo项目允许你和整个项目团队一起管理项目, 与项目和任务成员中的任何一个人沟通. 它与包含可定制阶段的任务的项目一起工作.项目可以是内部的或客户导向的.任务是项目执行的一部分.你可以给这 ...
- 版本控制工具Git工具快速入门-Windows篇
版本控制工具Git工具快速入门-Windows篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近在学习Golang语言,之前的开发环境在linux上开发的,后来由于办公用的是w ...
- 免费开源 KiCad EDA 中文资料收集整理(2019-04-30)
免费开源 KiCad EDA 中文资料收集整理 用 KiCad 也有一段时间了,为了方便自己查找,整理一下 KiCad 的中文资料,会不定期更新. 会收集KiCad 的新闻.元件封装库.应用技巧.开源 ...
- PyCharm 3.0 发布,提供免费开源版本
PyCharm 发布最新的 3.0 版本,该版本新特性详见: http://www.jetbrains.com/pycharm/whatsnew/index.html 该版本最主要的是提供了免费开源的 ...
随机推荐
- 用隧道协议实现不同dubbo集群间的透明通信
用隧道协议实现不同dubbo集群间的透明通信 前言 笔者最近完成了一个非常有意思的隧道机制(已在产线运行),可以让注册到不同zookeeper之间的dubbo集群之间能够正常进行通信.如下图所示: 例 ...
- LeetCode167 两数之和 II - 输入有序数组
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数. 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2. 说明: 返回的下标值 ...
- Centos 7 下的KVM虚拟机
一 什么是KVM虚拟机: KVM虚拟机 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中. ...
- Logrotate工具使用
Logrotate logrotate是一个被设计来简化系统管理日志文件的工具,在系统运行时,如果产生大量的日志文件,可以使用该工具进行管理,如/var/log/*文件夹是存储系统和应用日志的目录 ...
- 微信小程序request请求的封装
目录 1,前言 2,实现思路 3,实现过程 3.1,request的封装 3.2,api的封装 4,实际使用 1,前言 在开发微信小程序的过程中,避免不了和服务端请求数据,微信小程序给我们提供了wx. ...
- VBA实现相同行合并
帮人捣鼓了个VBA代码用来实现多行合并,具体需求为:列2/列3/列4 相同的情况下,则对应的行合并为一行,且列1用空格隔开,列5则相加: (对大多数办公室职员,VBA还算是提高效率的一个利器吧) 最终 ...
- webpack知识点整理
作用域 es6里模块化的写法 会存在的问题,变量.方法名字雷同,外部文件调用的时候出现问题 如 a.js里 var a='susan' b.js里 var a='jack' 问题解决方案,添加包裹 a ...
- Linux—curl命令讲解
命令:curl 在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具 ...
- BAPI_SALESORDER_CREATEFROMDAT2 条件 定价元素
用函数 BAPI_SALESORDER_CREATEFROMDAT2创建SO的时候,遇见个问题,就是如图: 会多出来一个类型,搞了半天,发现是一个函数里的一个参数,我没有设置: LOGIC_SWITC ...
- pandas DataFrame的新增行列,修改、删除、筛选、判断元素以及转置操作
1)指定行索引和列索引标签 index 属性可以指定 DataFrame 结构中的索引数组, columns 属性可以指定包含列名称的行, 而使用 name 属性,通过对一个 DataFrame 实 ...