benjaminrhodes/pci-dss-iac-linter

GitHub: benjaminrhodes/pci-dss-iac-linter

一个将 Terraform AWS 资源映射到 PCI DSS 控制措施并标记常见合规缺失的 IaC 合规检查工具。

Stars: 0 | Forks: 0

# PCI DSS IaC Linter 将 Terraform AWS 资源映射到 PCI DSS 控制措施,并标记常见的合规性缺失。 本项目演示了具备合规感知的云安全自动化:解析基础设施即代码,识别影响持卡人数据环境的资源,将其映射到 PCI DSS 控制领域,并突出显示高风险的配置模式。 ## 为什么这很重要 上市公司和受监管环境需要证据表明,在基础设施进入生产环境之前,安全控制措施已经过设计、实施和审查。IaC 审查是将合规性和云安全检查左移的一个实用切入点。 ## 安全信号 - **领域:** 云安全、合规自动化、安全 SDLC - **风险:** 未加密存储、薄弱的访问边界、审计能力不足、暴露的管理端口 - **框架映射:** PCI DSS 控制 3.x、7.x、8.x 和 10.x;NIST CSF 识别/保护/检测 - **作品集信号:** 我能够将云配置发现结果与面向业务的合规要求联系起来 ## 功能 - 解析 Terraform `.tf` 文件和目录。 - 将 AWS 资源映射到 PCI DSS 控制 ID。 - 标记选定的合规缺失,包括: - 没有服务器端加密的 S3 存储桶 - 没有版本控制的 S3 存储桶 - 没有存储加密的 RDS 实例 - RDS 备份保留期少于 7 天 - 向 `0.0.0.0/0` 暴露 SSH 或 RDP 的安全组 - 不要求使用 IMDSv2 的 EC2 实例 - 提供适合在 CI 或本地开发中审查的 CLI 输出。 - 包含用于解析、映射、合规性检查和 CLI 行为的单元测试。 ## 快速开始 ``` git clone https://github.com/benjaminrhodes/pci-dss-iac-linter.git cd pci-dss-iac-linter python -m venv .venv source .venv/bin/activate pip install -e ".[dev]" ``` ## 用法 扫描 Terraform 文件或目录: ``` python -m src.cli path/to/main.tf --show-controls python -m src.cli path/to/terraform-directory ``` 故意包含风险的 Terraform 示例: ``` resource "aws_security_group" "admin" { ingress { from_port = 22 to_port = 22 cidr_blocks = ["0.0.0.0/0"] } } resource "aws_db_instance" "cardholder_db" { storage_encrypted = false backup_retention_period = 1 } ``` 示例输出: ``` Found 2 resource(s) ============================================================ COMPLIANCE GAPS FOUND: 3 ============================================================ [CRITICAL] aws_security_group.admin Control: 8.3 Issue: Security group has SSH (port 22) open to 0.0.0.0/0 [HIGH] aws_db_instance.cardholder_db Control: 3.4 Issue: RDS instance must have storage encryption enabled ``` ## 用例与说明 - [示例用例](docs/use-cases.md):部署前云审查、合规证据,以及安全 SDLC 培训。 - [60秒说明脚本](docs/explainer-script.md):随时可用的录制脚本、分镜头列表和 LinkedIn 配文。 ## 测试 ``` pytest tests/ -v ruff check . ``` ## 合规声明 此工具是一个作品集级别的控制映射演示,不是正式的 PCI DSS 评估。PCI DSS 合规需要经过验证的范围、补偿控制审查、证据收集、策略、程序和合格评估员的判断。此工具适用于早期风险发现和开发者反馈。 ## 局限性 - Terraform 解析特意保持轻量化,不评估完整的 HCL 表达式、模块、变量或 provider state。 - 规则集涵盖了精选的高信号示例,而不是完整的 PCI DSS 标准。 - 在做出业务决策之前,发现结果应由合格的安全/合规专业人员进行审查。 ## 路线图 - 添加用于 CI 注释的结构化 JSON/SARIF 输出。 - 添加感知模块的 Terraform 解析。 - 扩展 PCI DSS v4.0.1 映射和控制元数据。 - 为每个发现结果添加修复指导。 ## 安全 请参阅 [SECURITY.md](SECURITY.md)。仅使用合成的 Terraform 示例。 ## 许可证 MIT
标签:AWS, DPI, ECS, Terraform, 安全规则引擎, 漏洞利用检测, 逆向工具, 静态应用安全测试