inayathulla/cloudrift
GitHub: inayathulla/cloudrift
Cloudrift 是一款面向 Terraform 的基础设施治理工具,通过同时比对其 plan 与 AWS 实时状态,在部署前发现配置漂移和合规违规。
Stars: 36 | Forks: 2
Cloudrift
Pre-apply infrastructure governance for Terraform
Validate infrastructure changes against 49 compliance policies and live AWS state — before you apply
**Cloudrift** 是一个开源的基础设施治理工具,它根据实时 AWS 状态和安全策略验证您的 Terraform plan —— 在 `terraform apply` **之前**捕获配置错误,而不是之后。 ``` ┌─────────────────────────────────────────────────────────────┐ │ CLOUDRIFT UNIQUE POSITION │ │ │ │ Terraform Plan ──┐ │ │ ├──▶ Policy Engine ──▶ ALLOW/BLOCK │ │ Live AWS State ──┘ (OPA) │ │ │ │ Competitors check EITHER plan OR live state │ │ Cloudrift checks BOTH — catches drift AND policy violations│ └─────────────────────────────────────────────────────────────┘ ``` ## 目录 - [为什么选择 Cloudrift?](#why-cloudrift) - [功能特性](#features) - [合规框架](#compliance-frameworks) - [安装](#installation) - [快速开始](#quick-start) - [使用说明](#usage) - [输出格式](#output-formats) - [策略引擎](#policy-engine) - [CI/CD 集成](#cicd-integration) - [桌面仪表板](#desktop-dashboard) - [配置](#configuration) - [项目结构](#project-structure) - [路线图](#roadmap) - [贡献](#contributing) - [相关项目](#related-projects) - [许可证](#license) ## 为什么选择 Cloudrift? | 功能 | Cloudrift | Terraform Cloud | Checkov | driftctl | |---------|-----------|-----------------|---------|----------| | **预 Apply 验证** | ✅ | ❌ | ✅ | ❌ | | **实时状态比对** | ✅ | ❌ | ❌ | ✅ | | **策略引擎 (OPA)** | ✅ | Sentinel ($$$) | ✅ | ❌ | | **合规评分** | ✅ | ❌ | ✅ | ❌ | | **SARIF 输出** | ✅ | ❌ | ✅ | ❌ | | **开源** | ✅ | ❌ | ✅ | ✅ | | **自托管** | ✅ | ❌ | ✅ | ✅ | **核心差异化优势:** Cloudrift 将您的 Terraform plan 与 **实时 AWS 状态** 进行比对 —— 捕获那些原本会被 `terraform apply` 静默覆盖的漂移。 ## 功能特性 - **漂移检测** —— 将 Terraform plan 与实时 AWS 基础设施进行比对 - **49 项内置策略** —— 涵盖 13 种 AWS 资源类型的 OPA 安全、标签和成本策略 - **5 大合规框架** —— SOC 2 Type II, ISO 27001, PCI DSS, HIPAA, GDPR - **合规评分** —— 针对每个类别和框架的通过/失败百分比 - **多种输出格式** —— Console, JSON, SARIF,便于 CI/CD 集成 - **多服务支持** —— S3 bucket, EC2 instance 和 IAM 资源 (漂移), 13 种资源类型 (策略) - **自定义策略** —— 使用您自己的 OPA `.rego` 策略进行扩展 - **CI/CD 就绪** —— 支持 GitHub Actions, GitLab CI, Jenkins,配合 `--fail-on-violation` - **GitHub 安全集成** —— 输出 SARIF 格式用于 Security tab ## 合规框架 Cloudrift 将每项内置策略映射到行业合规框架。策略计数根据 `.rego` 文件动态计算 —— 绝不硬编码。 | 框架 | 策略数 | 描述 | |-----------|----------|-------------| | **SOC 2 Type II** | 40 | 信任服务标准 —— 安全性、可用性、保密性 | | **ISO 27001** | 39 | 信息安全管理体系控制措施 | | **PCI DSS** | 34 | 支付卡行业数据安全标准 | | **HIPAA** | 26 | 健康数据隐私和安全规则 | | **GDPR** | 18 | 欧盟数据保护和隐私法规 | ### 框架过滤 使用 `--frameworks` 将策略评估和合规评分范围限定在特定框架内。仅评估和评分至少映射到一个所选框架的策略。未知的框架名称将被拒绝并列出有效选项。 ``` # 仅 HIPAA 合规检查 cloudrift scan --service=s3 --frameworks=hipaa # 多框架 cloudrift scan --service=s3 --frameworks=hipaa,gdpr # 带框架过滤的 JSON 输出(响应中包含 active_frameworks) cloudrift scan --service=s3 --format=json --frameworks=soc2,pci_dss ``` 当设置了 `--frameworks` 时,合规摘要标题将显示活动过滤器,JSON 输出将包含 `active_frameworks` 数组供下游工具使用。 ### 策略类别 | 类别 | 策略数 | 描述 | |----------|----------|-------------| | **Security** | 42 | 加密、访问控制、网络、IAM、审计日志 | | **Tagging** | 4 | 用于成本分配和治理的资源标签 | | **Cost** | 3 | 实例规格和代际优化 | ## 安装 ### 通过 Go ``` go install github.com/inayathulla/cloudrift@latest ``` ### 通过 Docker [Docker Hub](https://hub.docker.com/r/inayathulla/cloudrift) 上提供预构建镜像: ``` docker pull inayathulla/cloudrift:latest ``` | Tag | 描述 | |-----|-------------| | `latest` | 最新稳定版本 | | `v1.0.0` | Release 1 —— S3/EC2 漂移检测, OPA 策略, SARIF 输出 | | `main` | 最新 main 分支构建 | ### 从源码构建 ``` git clone https://github.com/inayathulla/cloudrift.git cd cloudrift go build -o cloudrift . ``` ## 快速开始 ### 1. 生成 Terraform plan ``` cd your-terraform-project terraform init terraform plan -out=tfplan.binary terraform show -json tfplan.binary > plan.json ``` ### 2. 创建配置文件 创建 `cloudrift-s3.yml`: ``` aws_profile: default region: us-east-1 plan_path: ./plan.json ``` ### 3. 运行 Cloudrift ``` # 扫描 S3 buckets cloudrift scan --service=s3 # 扫描 EC2 instances cloudrift scan --service=ec2 # 扫描 IAM 资源(roles, users, policies, groups) cloudrift scan --service=iam # 输出为带合规评分的 JSON cloudrift scan --service=s3 --format=json # 违反策略时中断 CI/CD cloudrift scan --service=s3 --fail-on-violation # 按合规框架过滤(仅 HIPAA + SOC 2) cloudrift scan --service=s3 --frameworks=hipaa,soc2 ``` ## 使用说明 ``` cloudrift scan [flags] ``` ### 标志 | Flag | 简写 | 默认值 | 描述 | |------|-------|---------|-------------| | `--config` | `-c` | `cloudrift-s3.yml` | 配置文件路径 | | `--service` | `-s` | `s3` | 要扫描的 AWS 服务 (s3, ec2, iam) | | `--format` | `-f` | `console` | 输出格式 (console, json, sarif) | | `--output` | `-o` | stdout | 将输出写入文件 | | `--policy-dir` | `-p` | - | 包含自定义 OPA 策略的目录 | | `--fail-on-violation` | - | `false` | 发现违规时以非零状态退出 | | `--skip-policies` | - | `false` | 跳过策略评估 | | `--no-emoji` | - | `false` | 使用 ASCII 代替 emoji | | `--frameworks` | - | all | 逗号分隔的待评估合规框架 (例如 `hipaa,soc2`) | ### 支持的资源 **漂移检测** (plan 与 实时状态比对): | 资源 | Service Flag | 检查属性 | |----------|-------------|-------------------| | S3 Buckets | `--service=s3` | ACL, tags, versioning, encryption, logging, public access block, lifecycle rules | | EC2 Instances | `--service=ec2` | Instance type, AMI, subnet, security groups, tags, EBS optimization, monitoring | | IAM Resources | `--service=iam` | Roles (trust policy, max session, attached policies), users (path, policies), policies (document, description), groups (members, policies), tags | **策略评估** 涵盖 13 种 AWS 资源类型(在漂移扫描期间自动应用): `aws_s3_bucket`, `aws_instance`, `aws_security_group`, `aws_db_instance`, `aws_iam_policy`, `aws_iam_role`, `aws_iam_user_policy`, `aws_cloudtrail`, `aws_kms_key`, `aws_lb`, `aws_lb_listener`, `aws_ebs_volume`, `aws_ebs_snapshot_copy`, `aws_lambda_function`, `aws_cloudwatch_log_group`, `aws_default_security_group`, `aws_subnet`, `aws_secretsmanager_secret` ## 输出格式 ### Console (默认) ``` cloudrift scan --service=s3 ``` ``` 🚀 Starting Cloudrift scan... 🔐 Connected as: arn:aws:iam::123456789012:root [us-east-1] ✔️ Evaluated 49 policies in 23ms ⚠️ Found 2 policy violations ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ COMPLIANCE SUMMARY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Overall: 95.9% (47/49 policies passing) Categories: cost 100.0% (3/3) security 95.2% (40/42) tagging 100.0% (4/4) Frameworks: gdpr 94.4% (17/18) hipaa 96.2% (25/26) iso_27001 97.4% (38/39) pci_dss 97.1% (33/34) soc2 97.5% (39/40) ``` ### JSON ``` cloudrift scan --service=s3 --format=json ``` ``` { "service": "S3", "account_id": "123456789012", "drift_count": 1, "policy_result": { "violations": [ { "policy_id": "S3-001", "severity": "high", "category": "security", "frameworks": ["hipaa", "pci_dss", "iso_27001", "gdpr", "soc2"], "remediation": "Add server_side_encryption_configuration block" } ], "compliance": { "overall_percentage": 97.96, "total_policies": 49, "categories": { "security": { "percentage": 97.62, "passed": 41, "total": 42 } }, "frameworks": { "soc2": { "percentage": 97.5, "passed": 39, "total": 40 } } } } } ``` ### SARIF (GitHub Security) ``` cloudrift scan --service=s3 --format=sarif --output=results.sarif ``` 上传到 GitHub Code Scanning 以集成到 Security tab。 ## 策略引擎 Cloudrift 包含 **49 项内置 OPA 策略**,分布在 17 个 `.rego` 文件中,涵盖安全、标签和成本优化。所有策略都嵌入在二进制文件中并自动加载。 ### 安全策略 (42 项策略) #### S3 Storage | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | S3-001 | high/critical | S3 加密必需 (plan + live) | HIPAA, PCI DSS, ISO 27001, GDPR, SOC 2 | | S3-002 | low | 推荐使用 KMS 加密而非 AES256 | HIPAA, PCI DSS, SOC 2 | | S3-003 | high | 阻止公共 ACL | HIPAA, GDPR, PCI DSS, ISO 27001, SOC 2 | | S3-004 | high | 阻止公共策略 | HIPAA, GDPR, PCI DSS, ISO 27001, SOC 2 | | S3-005 | high | 忽略公共 ACL | HIPAA, GDPR, PCI DSS, ISO 27001, SOC 2 | | S3-006 | high | 限制公共 bucket | HIPAA, GDPR, PCI DSS, ISO 27001, SOC 2 | | S3-007 | critical | 禁止 public-read ACL | HIPAA, GDPR, PCI DSS, ISO 27001, SOC 2 | | S3-008 | critical | 禁止 public-read-write ACL | HIPAA, GDPR, PCI DSS, ISO 27001, SOC 2 | | S3-009 | low | 推荐启用版本控制 | ISO 27001, SOC 2 | #### EC2 Compute | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | EC2-001 | medium | IMDSv2 必需 | PCI DSS, ISO 27001, SOC 2 | | EC2-002 | high | Root volume 加密 | HIPAA, PCI DSS, ISO 27001, GDPR, SOC 2 | | EC2-003 | medium | 公网 IP 警告 | PCI DSS, ISO 27001, SOC 2 | #### Security Groups | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | SG-001 | critical | 禁止无限制 SSH (0.0.0.0/0 + ::/0) | PCI DSS, ISO 27001, SOC 2 | | SG-002 | critical | 禁止无限制 RDP | PCI DSS, ISO 27001, SOC 2 | | SG-003 | critical | 禁止无限制全端口 | PCI DSS, ISO 27001, SOC 2 | | SG-004 | high | 数据库端口不得公开 | HIPAA, PCI DSS, ISO 27001, SOC 2 | #### RDS Databases | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | RDS-001 | high | 存储加密必需 | HIPAA, PCI DSS, ISO 27001, GDPR, SOC 2 | | RDS-002 | critical | 禁止公开访问 | HIPAA, PCI DSS, ISO 27001, GDPR, SOC 2 | | RDS-003 | medium | 备份保留 >= 7 天 | HIPAA, ISO 27001, SOC 2 | | RDS-004 | medium | 启用删除保护 | ISO 27001, SOC 2 | | RDS-005 | low | 推荐 Multi-AZ | HIPAA, ISO 27001, SOC 2 | #### IAM | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | IAM-001 | critical | 禁止通配符 (*) IAM 操作 | HIPAA, PCI DSS, ISO 27001, GDPR, SOC 2 | | IAM-002 | medium | 用户不应有内联策略 | PCI DSS, ISO 27001, SOC 2 | | IAM-003 | high | Role trust 不应过于宽泛 | PCI DSS, ISO 27001, SOC 2 | #### CloudTrail | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | CT-001 | high | KMS 加密必需 | HIPAA, PCI DSS, ISO 27001, GDPR, SOC 2 | | CT-002 | medium | 启用日志文件验证 | PCI DSS, ISO 27001, SOC 2 | | CT-003 | medium | 多区域 Trail | HIPAA, PCI DSS, ISO 27001, SOC 2 | #### KMS | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | KMS-001 | high | 启用密钥轮换 | HIPAA, PCI DSS, ISO 27001, SOC 2 | | KMS-002 | medium | 删除窗口 >= 14 天 | ISO 27001, SOC 2 | #### ELB / ALB | Policy | 严重性 | 规则 框架 | |--------|----------|------|------------| | ELB-001 | medium | 启用访问日志 | HIPAA, PCI DSS, ISO 27001, SOC 2 | | ELB-002 | high | HTTPS listener 必需 | HIPAA, PCI DSS, ISO 27001, GDPR, SOC 2 | | ELB-003 | medium | 启用删除保护 | ISO 27001, SOC 2 | #### EBS | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | EBS-001 | high | Volume 加密必需 | HIPAA, PCI DSS, ISO 27001, GDPR, SOC 2 | | EBS-002 | high | Snapshot 加密必需 | HIPAA, PCI DSS, ISO 27001, GDPR | #### Lambda | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | LAMBDA-001 | medium | 启用 X-Ray 追踪 | SOC 2, ISO 27001 | | LAMBDA-002 | medium | 推荐配置 VPC | HIPAA, PCI DSS, ISO 27001 | #### CloudWatch | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | LOG-001 | medium | Log group KMS 加密 | HIPAA, PCI DSS, GDPR, SOC 2 | | LOG-002 | medium | 设置日志保留策略 | HIPAA, GDPR, SOC 2, ISO 27001 | #### VPC / Networking | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | VPC-001 | high | 默认安全组阻止所有流量 | PCI DSS, ISO 27001, SOC 2 | | VPC-002 | medium | 子网不自动分配公网 IP | PCI DSS, ISO 27001 | #### Secrets Manager | Policy | 严重性 | 规则 | 框架 | |--------|----------|------|------------| | SECRET-001 | medium | 客户托管的 KMS 加密 | HIPAA, PCI DSS, GDPR, SOC 2 | | SECRET-002 | medium | 配置自动轮换 | PCI DSS, ISO 27001, SOC 2 | ### 标签策略 (4 项策略) | Policy | 严重性 | 规则 | |--------|----------|------| | TAG-001 | medium | Environment 标签必需 (SOC 2) | | TAG-002 | low | 推荐 Owner 标签 | | TAG-003 | low | 推荐 Project 标签 | | TAG-004 | low | 推荐 Name 标签 | TAG 策略适用于所有可标记的资源类型:S3, EC2, Security Groups, RDS, Lambda, ECS, EKS, ALB, VPC, EBS, KMS, CloudTrail, CloudWatch, Secrets Manager。 ### 成本策略 (3 项策略) | Policy | 严重性 | 规则 | |--------|----------|------| | EC2-005 | medium | 需审查超大实例类型 | | COST-002 | medium/low | 超大实例规格 (24xlarge/16xlarge) | | COST-003 | low | 上一代实例系列 | ### 自定义策略 使用您自己的 OPA 策略扩展 Cloudrift: ``` # my-policies/custom.rego package cloudrift.custom deny[result] { input.resource.type == "aws_s3_bucket" not input.resource.planned.tags.CostCenter result := { "policy_id": "CUSTOM-001", "policy_name": "CostCenter Tag Required", "msg": sprintf("S3 bucket '%s' must have CostCenter tag", [input.resource.address]), "severity": "medium", "remediation": "Add tags = { CostCenter = \"...\" }", "category": "tagging", "frameworks": ["soc2"], } } ``` ``` cloudrift scan --service=s3 --policy-dir=./my-policies ``` 自定义策略与内置策略一起加载。使用 `deny` 规则表示违规(配合 `--fail-on-violation` 阻断 CI/CD),使用 `warn` 规则表示建议性发现。 ## CI/CD 集成 ### GitHub Actions ``` name: Drift Detection on: [pull_request] jobs: drift-scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup Terraform uses: hashicorp/setup-terraform@v3 - name: Terraform Plan run: | terraform init terraform plan -out=tfplan.binary terraform show -json tfplan.binary > plan.json - name: Install Cloudrift run: go install github.com/inayathulla/cloudrift@latest - name: Run Drift Scan run: cloudrift scan --service=s3 --format=sarif --output=results.sarif --fail-on-violation env: AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - name: Upload SARIF uses: github/codeql-action/upload-sarif@v2 if: always() with: sarif_file: results.sarif ``` ### GitLab CI ``` drift-scan: image: golang:1.24 script: - go install github.com/inayathulla/cloudrift@latest - terraform init && terraform plan -out=tfplan.binary - terraform show -json tfplan.binary > plan.json - cloudrift scan --service=s3 --format=json --fail-on-violation ``` ## 桌面仪表板 **[Cloudrift UI](https://github.com/inayathulla/cloudrift-ui)** 是一个可视化 Cloudrift 扫描结果的跨平台仪表板。它支持 **两种运行方式**: - **通过 Docker 的 Web 版** —— 一条命令即可部署包含 Flutter web 应用、Go API 服务器、nginx 和 Terraform 的容器。零依赖。 - **原生桌面版** —— 在 macOS、Linux 或 Windows 上运行,直接调用 CLI 二进制文件。无需服务器。 ### 快速开始 ``` docker build -t cloudrift-ui . docker run -d -p 8080:80 -v ~/.aws:/root/.aws:ro --name cloudrift-ui cloudrift-ui:latest open http://localhost:8080 ``` ### 快速开始 (桌面版) ``` git clone https://github.com/inayathulla/cloudrift-ui.git cd cloudrift-ui flutter pub get && flutter run -d macos # or -d linux / -d windows ``` ### 主要功能 | 功能 | 描述 | |---------|-------------| | **交互式仪表板** | 可点击的 KPI 卡片、漂移趋势图、严重性环形图、框架合规环 | | **漂移可视化** | 三列差异查看器:属性 / 预期 / 实际 (AWS) | | **资源构建器** | 三种模式:Terraform (自动生成 plan.json)、手动 (S3/EC2 表单)、上传 (拖放) | | **策略仪表板** | 49 项 OPA 策略,含合规映射 (SOC 2, HIPAA, GDPR, ISO 27001, PCI DSS)、严重性过滤、修复指南 | | **合规评分** | 带有类别细分和趋势追踪的动画合规环 | | **扫描历史** | 持久化本地历史,含趋势图和人类可读的持续时间 | | **Go API Server** | 为 Web 模式封装 Cloudrift CLI 的后端 —— 扫描、配置、健康检查、Terraform plan 生成 | | **深色主题** | 网络安全级深色主题,采用严重性编码的颜色系统 | 完整文档和截图请参阅 [Cloudrift UI README](https://github.com/inayathulla/cloudrift-ui)。 ## 配置 | 字段 | 描述 | 必需 | |-------|-------------|----------| | `aws_profile` | AWS 凭证配置文件名称 | 是 | | `region` | 要扫描的 AWS 区域 | 是 | | `plan_path` | Terraform plan JSON 路径 | 是 | ### 示例配置 **S3 扫描:** ``` # config/cloudrift-s3.yml aws_profile: default region: us-east-1 plan_path: ./examples/plan.json ``` **EC2 扫描:** ``` # config/cloudrift-ec2.yml aws_profile: default region: us-east-1 plan_path: ./examples/ec2-plan.json ``` **IAM 扫描:** ``` # config/cloudrift-iam.yml aws_profile: default region: us-east-1 plan_path: ./examples/iam-plan.json ``` ## 项目结构 ``` cloudrift/ ├── cmd/ # CLI commands │ ├── root.go │ └── scan.go # Scan command with compliance scoring ├── internal/ │ ├── aws/ # AWS API integrations │ │ ├── config.go # AWS SDK configuration │ │ ├── s3.go # S3 API client │ │ ├── ec2.go # EC2 API client │ │ └── iam.go # IAM API client │ ├── detector/ # Drift detection logic │ │ ├── interface.go # Detector interface │ │ ├── s3.go # S3 drift detector │ │ ├── ec2.go # EC2 drift detector │ │ ├── iam.go # IAM drift detector │ │ ├── s3_printer.go # S3 console output │ │ ├── ec2_printer.go # EC2 console output │ │ └── iam_printer.go # IAM console output │ ├── output/ # Output formatters │ │ ├── formatter.go # Format types, compliance structs │ │ ├── json.go # JSON formatter │ │ ├── sarif.go # SARIF formatter │ │ └── console.go # Console formatter │ ├── policy/ # OPA policy engine │ │ ├── engine.go # Policy evaluation (deny/warn rules) │ │ ├── loader.go # Embedded policy loading │ │ ├── registry.go # Dynamic policy metadata extraction │ │ ├── result.go # Violation, EvaluationResult structs │ │ ├── input.go # PolicyInput structs │ │ └── policies/ # 49 built-in OPA policies │ │ ├── security/ # 42 security policies (17 .rego files) │ │ ├── tagging/ # 4 tagging policies │ │ └── cost/ # 3 cost policies │ ├── models/ # Data structures (S3Bucket, EC2Instance, IAMRole, etc.) │ └── parser/ # Terraform plan JSON parser ├── tests/ # Unit tests │ └── internal/ │ ├── detector/ # Drift detection tests │ ├── output/ # Formatter tests │ ├── parser/ # Parser tests │ └── policy/ # Policy engine + registry tests ├── config/ # Example configurations ├── examples/ # Example Terraform plans └── docs/ # Documentation ``` ## 路线图 ### 已完成 ✅ - [x] S3 漂移检测 - [x] EC2 漂移检测 - [x] IAM 漂移检测 (roles, users, policies, groups) - [x] JSON 输出格式 - [x] SARIF 输出格式 - [x] 包含 49 项内置策略的 OPA 策略引擎 - [x] 5 大合规框架 (SOC 2, ISO 27001, PCI DSS, HIPAA, GDPR) - [x] 合规评分 (总体、按类别、按框架) - [x] 动态策略注册表 (无硬编码计数) - [x] 自定义策略支持 - [x] 用于 CI/CD 的 `--fail-on-violation` 标志 - [x] 桌面仪表板 ([Cloudrift UI](https://github.com/inayathulla/cloudrift-ui)) ### 进行中 🚧 - [ ] Security Groups 漂移检测 - [ ] RDS 漂移检测 ### 计划中 📋 - [ ] CIS AWS Foundations Benchmark 策略 - [ ] 多账户扫描 - [ ] Slack/PagerDuty 告警集成 - [ ] 策略例外管理 ## 贡献 欢迎贡献! ``` # 克隆 git clone https://github.com/inayathulla/cloudrift.git cd cloudrift # 构建 go build -o cloudrift . # 测试 go test ./... # 运行 ./cloudrift scan --service=s3 --config=config/cloudrift-s3.yml ``` ### 添加新策略 1. 在 `internal/policy/policies/为信奉 Shift-left 基础设施治理的 DevOps 团队而构建
标签:AI红队测试, AWS, DevSecOps, Docker, DPI, ECS, EVTX分析, Go语言, IaC安全, LNA, RDFlib, Terraform, 上游代理, 二进制发布, 云治理, 基线管理, 安全防御评估, 开源工具, 日志审计, 渗透测试框架, 程序破解, 策略即代码, 聊天机器人安全, 请求拦截, 配置漂移, 防御, 预提交检查