aquasec/tfsectfsec Docker镜像是一个集成了tfsec安全扫描工具的容器化解决方案。tfsec是一款针对Terraform代码的静态安全分析工具,能够识别基础设施即代码(IaC)中的潜在安全漏洞和配置问题。
该镜像提供了一个便捷、一致的环境,用于对Terraform项目进行自动化安全扫描,无需在本地系统中手动安装tfsec及其依赖项。
适用范围包括但不限于云基础设施工程师、DevOps工程师、安全分析师以及任何使用Terraform管理基础设施的团队。
bashdocker run --rm -v $(pwd):/src aquasec/tfsec /src
bash# JSON格式输出 docker run --rm -v $(pwd):/src aquasec/tfsec /src --format json # SARIF格式输出(适合GitHub Code Scanning) docker run --rm -v $(pwd):/src aquasec/tfsec /src --format sarif
bashdocker run --rm -v $(pwd):/src aquasec/tfsec /src --exclude aws-ec2-enable-imdsv2
bash# 只显示CRITICAL和HIGH级别问题 docker run --rm -v $(pwd):/src aquasec/tfsec /src --severity-threshold HIGH
bashdocker run --rm -v $(pwd):/src aquasec/tfsec /src --config-file /src/.tfsec.config.json
创建docker-compose.yml文件:
yamlversion: '3' services: tfsec: image: aquasec/tfsec volumes: - ./terraform:/src command: ["/src", "--format", "sarif", "--output", "/src/tfsec-results.sarif"]
运行扫描:
bashdocker-compose run --rm tfsec
扫描结果将保存到./terraform/tfsec-results.sarif文件中。
| 参数 | 描述 | 示例 |
|---|---|---|
/src | 指定要扫描的目录 | /src |
--format | 指定输出格式(json/sarif/csv/table) | --format json |
--output | 指定输出文件路径 | --output results.json |
--severity-threshold | 设置最低严重性阈值(LOW/MEDIUM/HIGH/CRITICAL) | --severity-threshold HIGH |
--exclude | 排除指定规则 | --exclude aws-s3-enable-versioning |
--include | 只包含指定规则 | --include aws-ec2-no-public-ip |
--config-file | 指定配置文件路径 | --config-file /src/config.json |
--tfvars-file | 指定tfvars文件 | --tfvars-file /src/prod.tfvars |
--soft-fail | 发现问题时返回0退出码 | --soft-fail |
| 变量名 | 描述 | 默认值 |
|---|---|---|
TFSEC_REGISTRY_URL | 设置自定义规则注册表URL | 官方规则库 |
TFSEC_TIMEOUT | 设置扫描超时时间(秒) | 300 |
TFSEC_SKIP_DOWNLOAD | 禁用规则更新 | false |
yamlname: tfsec on: push: branches: [ main, master ] pull_request: jobs: tfsec: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Run tfsec uses: docker://aquasec/tfsec:latest with: args: --format sarif --output tfsec-results.sarif ./terraform - name: Upload SARIF file uses: github/codeql-action/upload-sarif@v2 with: sarif_file: tfsec-results.sarif
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务