Terrascan:一款功能强大的代码合规性跨基础设施检测工具

  • A+
所属分类:未分类

Terrascan

Terrascan是一款功能强大的代码合规性跨基础设施检测工具,在配置云端本地基础设施环境之前,广大开发人员可以使用Terrascan来检测目标项目或代码中是否存在法规或安全性违规行为,以降低云端基础设施环境的安全风险。

功能介绍

  • 提供了500+安全最佳实践策略;
  • 支持Terraform 12+ (HCL2)扫描;
  • 支持Kubernetes (JSON/YAML)、Helm v3和Kustomize v3扫描;
  • 支持AWS、Azure、GCP、Kubernetes和GitHub;

工具安装

我们可以在该项目的【Releases页面】找到Terrascan针对每一种系统架构对应的源码。下面给出的样例中,我们演示了如何安装Terrascan:

$ curl --location https://github.com/accurics/terrascan/releases/download/v1.2.0/terrascan_1.2.0_Darwin_x86_64.tar.gz --output terrascan.tar.gz

$ tar -xvf terrascan.tar.gz

  x CHANGELOG.md

  x LICENSE

  x README.md

  x terrascan

$ install terrascan /usr/local/bin

$ terrascan

如果你已经安装了Go环境,那么我们还可以使用go get命令来安装Terrascan:

$ export GO111MODULE=on

$ go get -u github.com/accurics/terrascan/cmd/terrascan

  go: downloading github.com/accurics/terrascan v1.2.0

  go: found github.com/accurics/terrascan/cmd/terrascan in github.com/accurics/terrascan v1.2.0

  ...

$ terrascan

通过brew安装

Homebrew的用户还可以使用下列命令安装Terrascan:

$ brew install terrascan

Docker安装

Terrascan还能够以Docker镜像的形式来安装:

$ docker run accurics/terrascan

Terrascan源码构建

Terrascan还可以在本地进行源码构建,如果我们想要随时使用最新版本的Terrascan,或对Terrascan进行自定义开发的话,推荐大家使用源码构建的方式安装Terrascan:

$ git clone git@github.com:accurics/terrascan.git

$ cd terrascan

$ make build

$ ./bin/terrascan

工具使用

如需扫描代码中可能存在的安全问题,我们可以运行下列命令(默认扫描Terraform):

$ terrascan scan

除此之外,Terrascan还提供了下列可选命令:

$ terrascan

Terrascan

 

An advanced IaC (Infrastructure-as-Code) file scanner written in Go.

Secure your cloud deployments at design time.

For more information, please visit https://www.accurics.com

 

Usage:

  terrascan [command]

 

Available Commands:

  help        Help about any command

  init        Initialize Terrascan

  scan        Scan IaC (Infrastructure-as-Code) files for vulnerabilities.

  server      Run Terrascan as an API server

 

Flags:

  -c, --config-path string   config file path

  -h, --help                 help for terrascan

  -l, --log-level string     log level (debug, info, warn, error, panic, fatal) (default "info")

  -x, --log-type string      log output type (console, json) (default "console")

  -o, --output-type string   output type (json, yaml, xml) (default "yaml")

  -v, --version              version for terrascan

 

Use "terrascan [command] --help" for more information about a command.

文档

要了解有关Terrascan的更多信息,请查看这份【文档】,其中包括入门指南、Terrascan的体系结构、它的命令分解以及对策略的深入研究。

许可证协议

本项目的开发与发布遵循Apache 2.0开源许可证协议。

项目地址

Terrascan:【GitHub传送门

参考资料

本文作者:Alpha_h4ck, 转载请注明来自FreeBuf.COM

# 代码审计 # 代码安全 # 合规审计

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: