freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

如何使用TFsec来对你的Terraform代码进行安全扫描
2020-12-23 11:31:39

TFsec

TFsec是一个专门针对Terraform代码的安全扫描工具,该工具能够对Terraform模板执行静态扫描分析,并检查出潜在的安全问题,当前版本的TFsec支持Terraform v0.12+版本。

功能介绍

检查所有提供的程序中是否包含敏感数据;

检查目标代码是否违反了AWS、Azure和GCP安全最佳实践建议;

扫描功能模块(目前只支持本地模块);

计算表达式和值;

评估Terraform的功能函数,比如说concat()等等;

工具安装

广大研究人员可以使用下列实用工具来安装TFsec。

使用Brew或Linuxbrew安装:

brew install tfsec

使用Chocolatey安装:

choco install tfsec

除此之外,我们还可以直接访问该项目GitHub库的【Releases页面】来下载针对自己系统平台的工具源码。

当然了,我们也可以使用go get来安装该工具:

go get -u github.com/tfsec/tfsec/cmd/tfsec

工具使用

TFsec可以扫描指定的目录,如果没有指定需要扫描的目录,那么TFsec将扫描当前所在的工作目录。如果TFsec发现了安全问题,则退出状态将为非零,否则退出状态将为零:

tfsec .

Docker使用

如果你不想在你的系统中安装和运行TFsec的话,你还可以选择在一个Docker容器中运行TFsec:

docker run --rm -it -v "$(pwd):/src" liamg/tfsec /src

禁用检测

在某些情况下,我们可能需要在运行过程中排除某些检测,我们可以通过添加新的参数来运行我们的cmd命令,比如说-e CHECK1,CHECK2等等:

tfsec . -e GEN001,GCP001,GCP002

从.tfvars获取值

我们还可以在扫描中从一个tfvars文件中获取值,比如说:

--tfvars-file terraform.tfvars

在CI中运行

TFsec可以在一个CI观到中运行,如果检测到了潜在的安全问题,该工具将会以非零退出码退出运行。如果你不想要输出有颜色高亮显示的话,还可以使用下列参数:

--no-colour

输出选项

TFsec的输出格式支持 JSON、CSV、Checkstyle、Sarif、JUnit以及其他人类可读的数据格式,我们可以使用--format参数来进行指定。

GitHub安全警报

如果你想整合GitHub安全警报的话,我们还可以使用tfsec-sarif-actionGitHub Action来运行静态分析,并将分析结果上传至GitHub安全警报标签中:

工具运行截图

项目地址

TFsec:【GitHub传送门

# 代码审计 # 代码安全 # Terraform安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录