patrickdaj/oss-500

GitHub: patrickdaj/oss-500

OSS-500 是一套对标微软 SC-500 认证的开源云与 AI 安全工程课程,通过本地动手实验构建并验证每一项安全控制措施。

Stars: 0 | Forks: 0

# OSS-500 — 开源云与 AI 安全工程 一套完整的、自主构建的**云与 AI 安全**课程,基于 **100% 开源技术栈** —— 成本为 **$0**,完全在本地机器上运行,无需云账户,也没有会过期的试用。它涵盖了**防御与进攻,且以标准为基础**:构建每一项控制措施,然后通过攻击它来进行验证。 **防御核心是微软的 SC-500(云与 AI 安全工程师助理)** —— 每一项 SC-500 控制措施都被映射到一个开源的等效方案,并作为一个你可以部署、验证和销毁的动手实验来进行练习。在这个核心之上,课程*超越了*考试范围,扩展到了现代云/AI 安全工程师所需的两个维度:完整的**零信任访问模型**全局图景,以及验证每一项防御的**紫队**习惯。这些技能可以跨 Azure、AWS、GCP 和本地环境迁移 —— 你通过可移植的工具来学习*概念*,而不是依赖某个供应商的控制台。超出考试大纲的内容已做专门标记,因此 SC-500 的学习路径依然清晰。 ## 课程展示内容 - **身份与访问** — Keycloak SSO/MFA/联合身份验证,Kubernetes RBAC,即时特权访问,工作负载身份。 - **机密、数据与网络** — HashiCorp Vault(动态机密、轮换、传输)、cert-manager、默认拒绝 NetworkPolicy、服务网格 mTLS、ModSecurity WAF、静态数据加密。 - **计算与 AI** — Pod Security Admission、Kyverno/OPA Gatekeeper 准入控制、Falco/Tetragon 运行时检测、Trivy/Grype/Harbor 供应链,以及 **AI 安全**(模型访问控制、提示注入防护措施、安全 RAG、LLM 可观测性)。 - **安全态势与监控** — Prometheus/Grafana/Loki/Tempo 可观测性、Wazuh + OpenSearch SIEM、Suricata/Zeek 网络检测、Kubescape 态势与合规性。 - **零信任访问 — 五种模型** *(超出大纲)* — 以代码形式呈现完整的 ZTNA 全景:代理,应用嵌入式 overlay (OpenZti),身份感知代理,WireGuard 网格,基于 SPIFFE/SPIRE 工作负载身份底座 — 通过 Terraform 自动化。 - **进攻验证 — 紫队** *(超出大纲)* — 通过攻击来证明每一项控制措施:使用 garak/PyRIT 对抗 AI 防护措施,使用 Atomic Red Team/Caldera/Stratus 对抗运行时 + SIEM 检测,针对 ZTNA 代理进行授权测试。 - **策略即代码与 IaC** — 实验技术栈以带有注释的 Helm values / Kubernetes manifests 部署,零信任实验由 **Terraform 自动化**执行;所有这些都兼作学习材料。 - **以标准为基础** — 每一项控制措施都标明了其防御标准,每一次攻击都标明了其进攻标准:**ATT&CK ↔ D3FEND**、**OWASP LLM Top 10 + ATLAS + NIST AI RMF**、**NIST 800-207 + CISA ZTMM**、**CIS + NIST CSF 2.0**(参见 [`domains/standards-map.md`](domains/standards-map.md))。 ## SC-500 概念映射 SC-500 的四个领域及其考试权重是本课程的主干: | 领域 | 权重 | 开源覆盖范围 | |---|---|---| | 1 — 身份、访问、治理 | 20–25% | Keycloak · K8s RBAC · Teleport/Boundary · OPA/Kyverno · Kubescape | | 2 — 机密、数据、网络 | 25–30% | Vault · cert-manager · NetworkPolicy · 服务网格 · ModSecurity WAF | | 3 — 计算与 AI 安全 | 20–25% | Pod 安全 · Falco/Tetragon · Trivy/Grype · Ollama + 防护措施 | | 4 — 态势与监控 | 20–25% | Prometheus/Grafana/Loki · Wazuh · Suricata/Zeek · Kubescape | 完整的目标逐项覆盖范围位于 [`assessment/tracker.md`](assessment/tracker.md)(基于 [`assessment/data/tracker.yaml`](assessment/data/tracker.yaml) 生成)。 ## 仓库布局 ``` plan/ Phased learning path — fundamentals ramp, four domain phases, review + capstone domains/ Study notes: one file per objective subsection, mapping SC-500 concept → OSS tool labs/ Lab catalog + hands-on lab guides (objectives, steps, verification, teardown) lab-infra/ Reproducible local lab stack as code (kind + Helm/manifests + Docker Compose) assessment/ Objective tracker + per-domain checkpoint quizzes + readiness gate (YAML source in data/) scripts/ gen-md.mjs — regenerate the markdown views from the YAML ``` ## 使用本仓库 1. **前置条件**:Docker、[kind](https://kind.sigs.k8s.io/)、`kubectl` 和 [Helm](https://helm.sh/)。一台拥有约 16 GB 内存的普通笔记本电脑即可运行所有的动手实验(根据实验启动组件,实验后销毁)。 2. **从计划开始**:[`plan/overview.md`](plan/overview.md) 解释了分阶段的学习路径;[`plan/phase0-fundamentals.md`](plan/phase0-fundamentals.md) 是第一天内容。 3. **运行实验**:每个 `lab-infra//` 都是独立的 —— cd lab-infra/identity # 在 kind 集群上启动 Keycloak ./up.sh # 部署 # ...在 labs/ 中进行实验,验证控制措施是否生效... ./down.sh # 销毁 —— 不会留下任何残留资源 4. **跟踪进度**:在 `study-hub` 中打开本课程(课程切换器 → OSS-500)。进度数据保存在浏览器中。 ## 渲染与跟踪 (study-hub) ``` cd ../study-hub git submodule update --init content/oss-500 npm install && npm run dev # pick "OSS-500" from the course switcher ``` `study-hub` 渲染 `plan/`、`domains/`、`labs/` 和 `assessment/data/`,并提供仪表盘、交互式跟踪器和测验运行器。要在编辑 YAML 后重新生成本仓库中可读的 Markdown 视图: ``` npm install # first time (js-yaml) npm run gen:md # regenerates assessment/tracker.md + checkpoint-*.md ``` ## 机密管理规范 本仓库不会提交任何 token、kubeconfig、Vault 解封密钥或 TLS 私钥。本地值仅通过 gitignored 文件输入(参见 `*.example` 模板)。本仓库是一个公开的作品集样本:所有内容都可以通过一个干净的克隆进行复现。
标签:AI风险缓解, Metaprompt, 人工智能安全, 合规性, 子域名突变, 安全工程, 紫队, 网络安全教程, 自定义请求头, 请求拦截, 零信任架构