cognis-digital/bastionkit

GitHub: cognis-digital/bastionkit

bastionkit 是一款面向气隙隔离和受监管 Kubernetes 集群的安全基线评估与加固工具,能够扫描 manifests 中的安全合规差距并自动生成修复控制措施。

Stars: 0 | Forks: 0

# bastionkit — 针对气隙隔离/受监管 Kubernetes 的强化安全基线 [![PyPI](https://img.shields.io/pypi/v/cognis-bastionkit.svg)](https://pypi.org/project/cognis-bastionkit/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/48033c1b4a055151.svg)](https://github.com/cognis-digital/bastionkit/actions) [![License: COCL 1.0](https://img.shields.io/badge/License-COCL%201.0-2b6cb0.svg)](LICENSE) [![Suite](https://img.shields.io/badge/Cognis-Neural%20Suite-6b46c1.svg)](https://github.com/cognis-digital) **根据强化的安全基线评估 Kubernetes manifests —— 然后生成控制措施以弥补差距。** `bastionkit` 专为断开连接、气隙隔离和受监管的集群而构建,在这些环境中, 已知良好的安全基线比功能广度更重要。它是单一用途、无依赖(仅使用 Python 标准库)、 可脚本化、CI 友好且可自托管的:将其指向您的 manifests,即可获得您的工作流已有的格式(表格、JSON、SARIF)的优先级排序的 发现结果,并为任何 namespace 构建一个随时可应用的基线包。 ## 用法 — 分步指南 1. 从源码**安装** (Python 3.9+): pip install . 2. 根据强化的基线**评估** k8s manifests: bastionkit assess manifests/ --namespace prod 3. **检查** bastionkit 强制执行的基线控制措施: bastionkit baseline 4. **使用输出结果**:输出 SARIF 或 JSON 并在 CI 中根据严重性进行拦截: bastionkit assess manifests/ --format sarif --fail-on high --out bastion.sarif 5. **生成**强化的基线包以搭建 namespace 脚手架: bastionkit generate --namespace prod --cpu-quota 4 --memory-quota 8Gi --pod-quota 50 --out baseline.yaml 另请参阅:`bastionkit mcp` (MCP stdio 服务器)。 ## 检查内容 `bastionkit` 评估的控制基线(概念上)源自公开的 Kubernetes 强化指南 —— CIS Kubernetes Benchmark 系列以及 NSA/CISA Kubernetes 强化指南: | 领域 | 控制措施 | |---------------|----------------------------------------------------------------| | 网络 | namespace 拥有 **default-deny** NetworkPolicy (ingress+egress)| | Pod 安全 | namespace 强制执行 **restricted** PodSecurity profile | | 资源 | namespace 拥有 **ResourceQuota** 和 **LimitRange** | | RBAC | 无 cluster-admin 绑定;**无通配符** verbs/resources/groups| | RBAC | 未向 **default** ServiceAccount 授予权限 | | ServiceAccount| 除非需要,否则禁用 token **automount** | | 工作负载 | 非根用户、无特权、无提权、只读 rootfs | | 工作负载 | 丢弃所有 capabilities;设置资源限制 | | 工作负载 | 无 host namespaces (hostNetwork/PID/IPC);无 hostPath | ## 领域 **主要领域:** 网络与安全 · **JTF MERIDIAN 部门:** NULLBYTE · SPECTER **主题:** `cognis` `security` `infosec` `cybersecurity` `blue-team` `kubernetes` **Cognis Neural Suite** 的一部分 —— 包含 300 多个源码可用工具,分布在 JTF MERIDIAN 指挥结构下的 12 个领域中。请参阅 [GitHub 上的套件](https://github.com/cognis-digital) 和 [jtf-meridian](https://github.com/cognis-digital/jtf-meridian) 以了解它们是如何组合在一起的。 ## 安装 ``` pip install cognis-bastionkit # 或者,从该 repo 获取: pip install -e ".[dev]" ``` ## 快速开始 ``` bastionkit --version # 评估 manifests 目录或文件 bastionkit assess demos/01-basic/insecure # → findings, exits non-zero bastionkit assess demos/01-basic/hardened # → PASS, exits zero bastionkit assess ./manifests --format sarif --out r.sarif --fail-on high bastionkit assess ./manifests --format json # 为 namespace 生成加固的 baseline bundle bastionkit generate --namespace payments --out baseline.yaml kubectl apply -f baseline.yaml # 列出 baseline controls 及其映射的公开指南 bastionkit baseline # 作为 MCP server 运行 (Cognis.Studio / Claude Desktop / Cursor) bastionkit mcp ``` ## 内置演示 [`demos/01-basic/`](demos/01-basic/SCENARIO.md) 提供了两个 namespace: `insecure/`(故意加固不足的支付工作负载 —— 失败)和 `hardened/`(生成的基线加上合规的工作负载 —— 通过)。 ## 输出格式 - **表格**(默认)—— 人类可读的终端摘要,按 namespace 分组 - **JSON** —— 用于流水线的机器可读发现结果 - **SARIF** —— 直接集成到 GitHub 代码扫描 / IDE 问题面板中 使用 `--fail-on {critical,high,medium,low,info}` 拦截 CI。 ## 可选的 AI 层(默认关闭) `bastionkit` 是完全确定性的。一个**开启选项** `--ai` 标志可以使用 **本地**兼容 OpenAI 的 endpoint(llama.cpp / Ollama —— 无数据外流) 来 (a) 用通俗语言解释发现结果,以及 (b) 根据纯英文意图起草 NetworkPolicy。 如果没有配置 `COGNIS_AI_*` 环境,AI 层将被禁用,工具会静默退回其确定性规则。 ``` export COGNIS_AI_BACKEND=uncensored-fleet # or COGNIS_AI_ENDPOINT=http://127.0.0.1:11434/v1 bastionkit assess ./manifests --ai bastionkit generate --namespace web --ai --from-intent "allow ingress from the api namespace on 8080" ``` ## 它如何融入 Cognis Neural Suite `bastionkit` 是 [Cognis Neural Suite](https://github.com/cognis-digital) 中的一个工具。 每个工具都附带一个 MCP server,因此 [Cognis.Studio](https://cognis.studio) 代理 可以将它们作为作用域内的能力进行调用。 ## 原创性与范围 这是一个**净室、原创的**实现。它的灵感来自于安全集群基线 *概念*和强化包框架的公开概念,但它不 复制、派生或包含任何第三方项目、源码、名称或 品牌。manifest 读取器、控制目录、生成器和 MCP server 都是 COCL 下的原创作品。 ## 互操作性 `bastionkit` 与包含 300 多个工具的 Cognis 套件组合使用 —— JSON 输入/输出和共享的 兼容 OpenAI 的 `/v1` 主干。请参阅 **[INTEROP.md](INTEROP.md)** 了解 套件映射、组合模式和参考技术栈。 ## 集成 通过 [`cognis-connect`](https://github.com/cognis-digital/cognis-connect) 将 `bastionkit` 的发现结果转发至 STIX/MISP/Sigma/Splunk/Elastic/Slack/webhooks。请参阅 **[INTEGRATIONS.md](INTEGRATIONS.md)**。 ## 许可证 在 **Cognis Open Collaboration License (COCL) v1.0** 下源码可用 —— 可免费用于个人、内部评估、研究和教育用途; **商业/生产用途需要获得许可证** (licensing@cognis.digital)。 请参阅 [LICENSE](LICENSE)。 ## 负责任的使用 这是安全软件。仅针对您拥有或 获得书面明确授权评估的集群和 manifests 使用它,并须遵守 适用法律。 ## 关于 **[Cognis Digital](https://cognis.digital)** — 美国怀俄明州 · *让明天更美好:高级网络安全、AI 创新和区块链专业知识。*
标签:DevSecOps, LNA, Python, 上游代理, 子域名突变, 安全基线, 教学环境, 无后门, 逆向工具