SuperAPI AI 工具集

iac-scan-tfsec

安全与审计

查看项目

更新于 10-16 07:44

技能介绍

用途

该技能面向安全工程师,用于使用 tfsec(现已集成到 Trivy)扫描 Terraform 代码中的安全配置错误。它专注于对 Terraform(HCL)代码进行安全扫描;如果需要进行更广泛的 IaC 扫描,可考虑使用 Checkov。

主要能力

  • 对 Terraform 代码进行深度 HCL 分析,支持 Terraform 模块、变量等。
  • 支持按最低严重级别过滤结果,例如仅显示 HIGH 及以上。
  • 支持排除特定检查项,例如排除 aws-s3-enable-versioning。
  • 支持包含已通过的检查项。
  • 可通过 Trivy 以 config 模式运行,并按严重级别过滤。
  • 输出 JSON 格式结果,便于解析和展示。

使用方式

前置条件

需要安装 tfsec:

  • brew install tfsec
  • 或 go install github.com/aquasecurity/tfsec/cmd/tfsec@latest

也可使用 Trivy:

  • trivy config --format json .

验证安装:

  • tfsec --version

操作步骤

  1. 确定目标:确定要扫描的 Terraform 目录。
  2. 运行扫描:
    • tfsec <terraform-dir> --format json > tfsec-results.json
    • 设置最低严重级别:tfsec . --minimum-severity HIGH --format json
    • 排除特定检查:tfsec . --exclude aws-s3-enable-versioning --format json
    • 包含已通过的检查:tfsec . --include-passed --format json
    • 使用 Trivy:trivy config --format json --severity HIGH,CRITICAL <terraform-dir>
  3. 解析结果:读取 JSON 输出并按表格呈现发现项,字段包括序号、严重级别、规则 ID、资源、文件:行号、描述、解决方案。
  4. 汇总:提供按严重级别(CRITICAL/HIGH/MEDIUM/LOW)统计的发现总数、每个发现项所需的具体 HCL 代码修改,以及每个规则对应的 tfsec 文档链接。

适用场景

  • 专门针对 Terraform(HCL)代码的安全问题扫描。
  • 在 CI 或本地对 Terraform 目录进行安全审查。
  • 需要按严重级别筛选或排除特定规则的安全检查。

常见规则(按提供商)

  • AWS:S3 加密、安全组规则、RDS 加密、CloudTrail 日志记录。
  • Azure:存储加密、NSG 规则、Key Vault 设置。
  • GCP:IAM 绑定、GKE 设置、Cloud SQL 加密。
  • 通用:敏感变量、HCL 中的硬编码密钥。

限制

该技能聚焦于 Terraform 代码;若需更广泛的 IaC 扫描,资料建议考虑 Checkov。其他限制暂未提供。