StratumOSS/Stratum

GitHub: invicton/Invicton

Stratum 是一款将 YAML 蓝图自动转化为符合 CIS/STIG 合规基准的多云黄金镜像的声明式操作系统加固平台。

Stars: 2 | Forks: 0

# Stratum **使用 YAML 蓝图描述您的强化 OS;Stratum 能在任何云平台上——或本地通过 KVM——构建符合 CIS/STIG 基准的黄金镜像,并为您提供合规性证据。** [![PyPI](https://img.shields.io/pypi/v/stratumoss?color=brightgreen)](https://pypi.org/project/stratumoss/) [![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) [![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue)](https://www.python.org/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/StratumOSS/Stratum/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/StratumOSS/Stratum)](https://github.com/StratumOSS/Stratum/releases)

Stratum dashboard preview

## 为什么选择 Stratum 强化镜像的构建通常是手动的、不可复现的,并且审计时总是仓促应对:有人针对 VM 运行检查清单,另一个人截图保存扫描器输出,六个月后没人能说清为什么某条规则被禁用了。 Stratum 将这些整合到一个受版本控制的 YAML 文件——即蓝图——中,并为每次构建提供相同的 pipeline:预置环境,使用 [Ansible-Lockdown](https://github.com/ansible-lockdown) 进行强化,使用 OpenSCAP 扫描, 打快照,最后销毁。您的安全团队会获得 A–F 的评分和 SARIF 报告; 您的平台团队则获得一个黄金镜像和一条可以通过 `curl` 重建它的单行命令。 ## 工作原理 ``` HardeningBlueprint (YAML) ──or── 5-Step Guided Wizard │ ▼ ┌─────────────────────────────────────────────────────┐ │ Stratum Engine │ │ │ │ 1. Provision → Spin up a temporary VM │ │ 2. Harden → Apply Ansible-Lockdown CIS/STIG │ │ 3. Scan → Run OpenSCAP, assert compliance │ │ 4. Snapshot → Capture as reusable golden image │ │ 5. Teardown → Remove the ephemeral build VM │ └─────────────────────────────────────────────────────┘ │ ▼ Golden Image (AMI · GCP Custom Image · Azure Managed Image · Snapshot · qcow2) │ ▼ ┌─────────────────────────────────────────────────────┐ │ Compliance Scanner │ │ │ │ Scan any image or running VM at any time │ │ A–F grade · SARIF export · Drift analysis │ │ CI/CD pipeline gate · Webhook notifications │ └─────────────────────────────────────────────────────┘ ``` ## 快速开始 ### Docker Compose(推荐——一切均已预装) ``` git clone https://github.com/StratumOSS/Stratum.git cd Stratum docker compose up ``` 打开 **http://localhost:8001**。使用任意用户名和您的 admin token 作为密码登录——它会在首次启动时自动生成并保存至 `data/.admin_token`(在 `docker-compose.yml` 中设置 `STRATUM_ADMIN_TOKEN` 和 `STRATUM_SECRET_KEY` 即可获得稳定的登录凭据,且在重建后依然有效)。 Compose 会挂载 `~/.aws`、`~/.config/gcloud` 和 `~/.ssh` 的读取路径,以及 持久化的 `./data`、`./profiles` 和 `./plugins/providers`,所有操作均自动完成。 ### 已发布镜像 ``` docker run -p 8000:8000 rrskris/stratum:latest ``` ### PyPI ``` pip install "stratumoss[all-providers]" # or pick extras: aws, gcp, azure, linode, digitalocean, proxmox uvicorn stratum.main:app --port 8000 ``` 内置的蓝图模板和 provider 目录已打包在软件包中, 因此这可以在任何目录下运行;runtime 状态(`data/`、`profiles/user/`) 会在您启动的位置创建。对于实际的构建,主机上必须安装 Ansible 和 OpenSCAP —— 请参阅[配置](docs/configuration.md)。 ### 从源码构建(贡献者) ``` git clone https://github.com/StratumOSS/Stratum.git && cd Stratum uv sync --extra all-providers --group dev cp .env.example .env uv run uvicorn stratum.main:app --reload --port 8000 ``` **没有云账号?** `kvm` provider 可以完全在您的本地机器上构建强化的 qcow2/raw 镜像 (需要 QEMU/KVM + `cloud-image-utils`)。完整的首次运行演练请参见:[入门指南](docs/getting-started.md)。 ## 功能特性 - **声明式蓝图** — 一个 YAML 文件即可涵盖 OS、provider、合规层级、每条规则的覆盖设置(*包含理由*)、filesystem 以及用户; 支持版本控制、可进行 diff 对比、易于审查 - **三种构建路径** — 5步向导 (UI)、蓝图文件 (GitOps),或者 **AI Builder**(通过自然语言 → agent 自动编写蓝图、执行构建,并不断迭代直到评分通过;支持 Anthropic/OpenAI/Ollama/Bedrock 后端) - **CIS L1、CIS L2 和 STIG** — 通过 Ansible-Lockdown 角色(锁定已知良好的版本)实现,并由 `oscap xccdf eval` 原生扫描 - **A–F 合规评分** — 加权计算发现项、可配置的通过阈值、每次扫描均可生成可嵌入的 SVG 徽章 - **证据导出** — 可打印的 HTML、SARIF 2.1.0 (GitHub Advanced Security、Azure DevOps)、JSON;支持对任意两次扫描之间进行 drift 分析 - **Pipeline 优先的 API** — API keys(静态存储为 SHA-256)、HMAC 签名的 webhooks, [Pipeline 指南](docs/pipeline.md) 中提供了针对 GitHub Actions/GitLab/Jenkins 的 CI 门禁示例 - **跨 6 种 OS 和 6 种 provider 的 18 个即用型模板**,以及不断扩展的[社区蓝图库](blueprints/) ## 支持的平台 ### 操作系统 | OS | CIS L1 | CIS L2 | STIG | Benchmark ID | |---|---|---|---|---| | Amazon Linux 2023 | ✓ | ✓ | — | `AMAZON_LINUX_2023` | | Ubuntu 22.04 LTS | ✓ | ✓ | — | `UBUNTU2204` | | Ubuntu 24.04 LTS | ✓ | ✓ | — | `UBUNTU2404` | | Rocky Linux 9 | ✓ | ✓ | ✓ | `RHEL-9` | | RHEL 9 | ✓ | ✓ | ✓ | `RHEL-9` | | AlmaLinux 9 | ✓ | ✓ | — | `RHEL-9` | | Debian 12 | ✓ | ✓ | — | `DEBIAN12` | ### Provider | Provider | Artifact | Auth | |---|---|---| | AWS | AMI | IAM role, `~/.aws/credentials`, 或环境变量 | | GCP | Custom Image | Application Default Credentials | | Azure | Managed Image | Service Principal 或 Managed Identity | | DigitalOcean | Snapshot | API token | | Linode | Private Image | API token | | Proxmox | VM Template | API token 或用户名/密码 | | KVM (本地) | qcow2 / raw | 无 — 直接在 Stratum 主机上运行 | 云平台接入使用了可审查的最小权限模板 (CloudFormation / ARM / `gcloud` 脚本) — 请参阅 [云平台接入](docs/cloud-onboarding.md)。 ## 截图 | 云平台接入 | 合规性证据 | |---|---| | ![Cloud onboarding preview](https://static.pigsec.cn/wp-content/uploads/repos/cas/92/9213c857196edf12f4035f02d2deb1fbd69bf825026b85ef8b3272e90c35c458.svg) | ![Compliance report preview](https://static.pigsec.cn/wp-content/uploads/repos/cas/99/99931ca112c5be1939ac840f0e422d180ca8dea89d030c9f959844814fd39d33.svg) | ## 文档 | 指南 | 用途 | |---|---| | [入门指南](docs/getting-started.md) | 从零开始 → 生成带有合规性证据的强化黄金镜像 | | [蓝图指南](docs/blueprint-guide.md) | `HardeningBlueprint` schema、示例与模板 | | [配置](docs/configuration.md) | 环境变量、LLM 后端、系统依赖 | | [云平台接入](docs/cloud-onboarding.md) | AWS、Azure、GCP 的管理员权限模型 | | [Pipeline 指南](docs/pipeline.md) | CI/CD 集成、SARIF 导出、Blueprint-as-Code | | [API 参考](docs/api.md) | 核心 REST endpoint 和 payload | | [插件指南](docs/plugin-guide.md) | 编写与分发 provider 插件 | | [架构](docs/architecture.md) | Pipeline 状态机、源码树、设计决策 | | [蓝图库指南](blueprints/CONTRIBUTING.md) | 贡献社区蓝图 | | [路线图](ROADMAP.md) | Stratum 的未来发展方向及如何产生影响 | ## 贡献 欢迎提交 Bug 报告、功能请求和 PR — 请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解开发工作流,并查看 [`good first issue`](https://github.com/StratumOSS/Stratum/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) 获取精心挑选的入门任务(大多数是纯 YAML 蓝图工作,并包含验收 标准和本地验证命令)。请遵循 [行为准则](CODE_OF_CONDUCT.md)。发现安全问题?请参阅 [SECURITY.md](SECURITY.md),而不是公开发布 issue。 ## 许可证 Apache 2.0 — 请参阅 [LICENSE](LICENSE)。 由 [Vamshi Krishna Santhapuri](https://linuxcent.com) 构建。
标签:Python, 多云镜像, 无后门, 系统强化, 系统提示词, 自动化运维, 请求拦截, 逆向工具