ochmunkh/Tatar-Kuber-Lab

GitHub: ochmunkh/Tatar-Kuber-Lab

一个包含易受攻击和已加固 Kubernetes manifest 的测试语料库,用于对 TATAR-Kuber 安全引擎进行演示、回归测试和扫描器能力基准对比。

Stars: 0 | Forks: 0

# TATAR-Kuber 实验室 ![许可证](https://img.shields.io/badge/license-Apache--2.0-blue) ![Kubernetes](https://img.shields.io/badge/Kubernetes-security-326CE5?logo=kubernetes&logoColor=white) ![扫描器](https://img.shields.io/badge/scanners-Checkov%20%C2%B7%20Trivy%20%C2%B7%20Kubescape%20%C2%B7%20Popeye-2A4D69) ![控制项](https://img.shields.io/badge/expected-16%20canonical%20controls-1F6F54) ![verify--lab](https://img.shields.io/badge/verify--lab-PASS-brightgreen) 可复现的**易受攻击**和**已加固**的 Kubernetes manifest —— 这是 [**TATAR-Kuber**](https://github.com/ochmunkh/tatar-kuber) 安全引擎的官方测试、演示和回归测试语料库。 **作者:** Enkhbat.O — 安全分析师 通过 TATAR-Kuber 运行此实验室: **🇬🇧 英文报告** ![TATAR-Kuber 报告 — 英文](https://static.pigsec.cn/wp-content/uploads/repos/cas/6e/6e765eb2fbf10b216cc70fb6cb963493ba6eb5db6f6f42c17a337bc7b96e4be0.jpg) **🇲🇳 蒙古语报告** ![TATAR-Kuber тайлан — Монгол](https://static.pigsec.cn/wp-content/uploads/repos/cas/f8/f86e11b3896af8f8595ea5d25f11511096cbce9e898a957b91d48b5aa8bc3168.jpg) ## 本仓库演示的 Pipeline ``` raw/ normalized/ report ├─ checkov.json ─┐ tatar-findings.json ─► report.html ├─ trivy.json ─┤ ─► (canonical + dedup + (JSON / SARIF / HTML) ├─ kubescape.json ─┤ risk + blind-shot) └─ popeye.json ─┘ │ (raw scanner output) └─► expected/expected-findings.json (verify-lab) ``` - `broken/` — 故意违反安全控制项 - `fixed/` — 已加固的对应版本(不应产生容器发现) - `raw/` — 真实/具有代表性的扫描器输出,以便您可以**离线**运行(无需集群,无需安装) - `normalized/tatar-findings.json` — 统一的 TATAR 输出(raw → 标准化) - `expected/expected-findings.json` — `tatar-kuber verify-lab` 的回归基准 ## 30秒演示(离线) ``` go install github.com/ochmunkh/tatar-kuber/cmd/tatar-kuber@latest git clone https://github.com/ochmunkh/tatar-kuber-lab && cd tatar-kuber-lab git clone https://github.com/ochmunkh/tatar-kuber ../engine # for the canonical registry tatar-kuber scan --raw-dir raw --registry ../engine/schema/canonical-controls.yaml -o normalized mv normalized/scan-result.json normalized/tatar-findings.json tatar-kuber report --input normalized/tatar-findings.json -o html --out normalized/report.html tatar-kuber verify-lab --input normalized/tatar-findings.json --expected expected/expected-findings.json # 蒙古语: tatar-kuber scan ... --lang mn ``` 预期输出: ``` verify-lab: offline multi-scanner (broken/): checkov + trivy + kubescape + popeye controls: expected 16, missing 0 findings: actual 57 CRITICAL expected 0, actual 0 [ok] HIGH expected 11, actual 11 [ok] MEDIUM expected 26, actual 26 [ok] LOW expected 20, actual 20 [ok] RESULT: PASS ``` ## 完整运行(使用真实扫描器,本地运行 — 无需集群) Checkov 和 Trivy 直接扫描 **manifest 文件**: ``` checkov -d broken --framework kubernetes -o json > raw/checkov.json trivy config broken --format json > raw/trivy.json ./run-lab.sh # regenerates + verifies ``` Popeye 仅限运行时(需要活动集群)—— 这里的 `raw/popeye.json` 是一个代表性样本。 ## 活动集群(Kind) ``` kind create cluster && kubectl create namespace production kubectl apply -f broken/ # 收集 scanner 输出 → tatar-kuber scan ``` ## 损坏 → 预期的规范控制项 (16) | 文件 | 预期的 TATAR 控制项 | 检测者 | |---|---|---| | `privileged.yaml` | CON-001, NET-001 | Trivy · Kubescape · Checkov | | `root-user.yaml` | CON-002, CON-003 | Checkov · Trivy · Kubescape | | `latest-tag.yaml` | IMG-003, CON-010, OPS-001/002/005 | Checkov · Trivy · Popeye | | `wildcard-rbac.yaml` | RBAC-002 | Checkov · Kubescape | | `secret-env.yaml` | SEC-001 | **Trivy 密钥** (Checkov 遗漏了明文) | | `host-namespaces.yaml` | CON-005, CON-006 | Checkov · Trivy · Kubescape | | _(加固缺口)_ | CON-009, CON-011, SEC-003 | Checkov | 多扫描器的优势:`SEC-001` (Trivy 密钥) 和 `NET-001` (Kubescape) **会被单独使用的 Checkov 遗漏** —— 而统一的 TATAR 视图能捕捉到它们。`CON-001` 特权可被**所有三个静态扫描器**发现 → `found_by=[checkov,kubescape,trivy]`, `confidence=HIGH`。 ## 为什么需要这个实验室 1. **演示** — 克隆、扫描、一分钟内完成(无需集群)。 2. **回归测试** — 如果发布版本丢失了预期的控制项或改变了计数(例如去重回归:16 个控制项 → 8 个),`verify-lab` 会显著失败。 3. **CI** — `.github/workflows/lab.yml` 会构建引擎并在每次推送时进行验证。 4. **基准测试** — 一个共享、诚实的语料库,用于比较 Trivy、Kubescape、Checkov 和统一的 TATAR 视图。 ## 注意事项 `raw/checkov.json` 是**真实的 Checkov 3.3.8** 输出。`trivy.json` / `kubescape.json` / `popeye.json` 是与 manifest 相匹配的代表性样本 —— 若需完全一致,请使用真实工具重新生成。扫描器规则 ID 是临时的 (PROVISIONAL);这个实验室让它们保持诚实。 ## 许可证 Apache-2.0 ## 蒙古语 [**TATAR-Kuber**](https://github.com/ochmunkh/tatar-kuber) engine-ийг турших, demo хийх, regression шалгах зориулалттай **эмзэг** ба **hardened** Kubernetes manifest-ийн цуглуулга. - `broken/` — аюулгүй байдлын control-уудыг зориудаар зөрчсөн - `fixed/` — hardening зөв хийсэн хувилбарууд - `raw/` — бодит/төлөөлөх scanner гаралт (checkov бодит; trivy/kubescape/popeye жишээ) — cluster эсвэл суулгацгүйгээр **offline** ажиллуулах боломжтой - `normalized/tatar-findings.json` — TATAR-ийн нэгтгэсэн гаралт (raw → normalized) - `expected/expected-findings.json` — `tatar-kuber verify-lab`-ийн regression baseline ### 30秒 demo (offline) ``` go install github.com/ochmunkh/tatar-kuber/cmd/tatar-kuber@latest git clone https://github.com/ochmunkh/tatar-kuber-lab && cd tatar-kuber-lab git clone https://github.com/ochmunkh/tatar-kuber ../engine tatar-kuber scan --raw-dir raw --lang mn --registry ../engine/schema/canonical-controls.yaml -o normalized mv normalized/scan-result.json normalized/tatar-findings.json tatar-kuber report --input normalized/tatar-findings.json -o html --out normalized/report.html tatar-kuber verify-lab --input normalized/tatar-findings.json --expected expected/expected-findings.json ``` ### 敏感 manifest → 预期 canonical control (16) | Файл | Хүлээгдэх TATAR control | Илрүүлэгч | |---|---|---| | `privileged.yaml` | CON-001, NET-001 | Trivy · Kubescape · Checkov | | `root-user.yaml` | CON-002, CON-003 | Checkov · Trivy · Kubescape | | `latest-tag.yaml` | IMG-003, CON-010, OPS-001/002/005 | Checkov · Trivy · Popeye | | `wildcard-rbac.yaml` | RBAC-002 | Checkov · Kubescape | | `secret-env.yaml` | SEC-001 | **Trivy secret** (Checkov plaintext-ыг барихгүй) | | `host-namespaces.yaml` | CON-005, CON-006 | Checkov · Trivy · Kubescape | | _(hardening дутуу)_ | CON-009, CON-011, SEC-003 | Checkov | **Multi-scanner давуу тал:** `SEC-001` (Trivy secret) ба `NET-001` (Kubescape)-ыг **Checkov ганцаараа алддаг** — нэгтгэсэн TATAR харагдац барьдаг. `CON-001` privileged-ыг **гурван static scanner** олдог → `found_by=[checkov,kubescape,trivy]`, `confidence=HIGH`. ### 为什么需要 1. **Demo** — clone хийгээд, scan хийж, нэг минутад дуусна (cluster хэрэггүй). 2. **Regression** — `verify-lab` нь хүлээгдсэн control алга болох, эсвэл тоо өөрчлөгдвөл шууд FAIL болно (ж: dedup эвдэрч 16 control → 8). 3. **CI** — push бүрт engine-ийг build хийж баталгаажуулна. 4. **Benchmark** — Trivy vs Kubescape vs Checkov vs нэгтгэсэн TATAR-ийг харьцуулах нийтлэг суурь. **Зохиогч:** Enkhbat.O — Security Analyst
标签:回归测试, 子域名突变, 安全测试, 攻击性安全, 日志审计, 漏洞基准