cognis-digital/bastionkit
GitHub: cognis-digital/bastionkit
bastionkit 是一款面向气隙隔离和受监管 Kubernetes 集群的安全基线评估与加固工具,能够扫描 manifests 中的安全合规差距并自动生成修复控制措施。
Stars: 0 | Forks: 0
# bastionkit — 针对气隙隔离/受监管 Kubernetes 的强化安全基线
[](https://pypi.org/project/cognis-bastionkit/)
[](https://github.com/cognis-digital/bastionkit/actions)
[](LICENSE)
[](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, 上游代理, 子域名突变, 安全基线, 教学环境, 无后门, 逆向工具