kubesonde/kubesonde

GitHub: kubesonde/kubesonde

Kubesonde 是用于探测和验证 Kubernetes 网络策略连通性与安全性的工具。

Stars: 15 | Forks: 5

![workflow](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/7360681374133349.svg) ![frontend_test](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e2cfbf2853133351.svg) ![frontend_deployment](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/2f652fa9e1133352.svg) [![Netlify Status](https://api.netlify.com/api/v1/badges/df3643ab-e317-4b96-b5c2-de937837b375/deploy-status)](https://app.netlify.com/sites/testksonde/deploys) ![Kubesonde logo](frontend/public/logo257.png "Kubesonde logo") # Kubesonde Kubesonde 是用于探测和测试 Kubernetes 网络安全策略的工具。 :warning: 查看我们在 FSE-3023 上的论文 [使用 Kubesonde 分析微服务连接性](https://dl.acm.org/doi/10.1145/3611643.3613899) ![kubesonde infra](docs/kubesonde.png "kubesonde infrastructure") ## 项目结构 文件夹组织如下: - `crd`:后端服务和 Kubesonde CRD - `docs`:项目/想法的文档 - `frontend`:包含用于分析探测输出的 UI - `examples`:Kubesonde 的示例输出 ## 先决条件:克隆仓库 在应用 Kubesonde 之前,需要克隆仓库,因为所需的配置文件(如 `kubesonde.yaml`)位于仓库根目录: ``` git clone https://github.com/kubesonde/kubesonde.git cd kubesonde ``` 这确保你拥有设置 Kubesonde 所需的所有文件和配置。 ## 运行 Kubesonde ### 1. 启动 Kubernetes 引擎 你可以在云端、裸机或通过 Minikube 或 Kind 运行 Kubernetes。 ### 2. 安装待测试的应用 安装你想要测试的应用(例如 `helm install wordpress bitnami/wordpress`)。确保应用正常运行且无错误。 ### 3. 安装 Kubesonde 要安装 Kubesonde,请运行 `kubectl apply -f kubesonde.yaml`。这会创建在集群中运行 Kubesonde 所需的所有资源。之后,你可以为 Kubesonde 安装一个扫描器对象。以下是一个针对默认命名空间的 Kubesonde 对象示例: ``` apiVersion: security.kubesonde.io/v1 kind: Kubesonde metadata: name: kubesonde-sample spec: namespace: default probe: all ``` 你可以将其保存为 `probe.yaml` 文件,然后使用 `kubectl apply -f probe.yaml` 应用。 ### 4. 获取结果 要获取结果,需要使用以下命令: ``` kubectl --namespace kubesonde-system port-forward deployment.apps/kubesonde-controller-manager 2709 ``` 此命令会在本地计算机与 Kubesonde 部署之间建立端口映射。 `curl localhost:2709/probes > .json`。此命令获取探测结果并将其存储在输出文件中。 :warning: 如果在将探针应用到集群后立即尝试获取结果,结果可能为空或不完整。请等待几分钟(根据 Pod 数量而定)以获得更好的结果。 ### 5. 查看结果 访问 [Kubesonde 网站](https://kubesonde.jackops.dev) 并上传生成的文件以查看结果。 ## 删除 Kubesonde 资源 要删除 Kubesonde 创建的资源,请使用以下命令: 1. 删除 Kubesonde 扫描器对象: ``` kubectl delete -f probe.yaml ``` 2. 删除 Kubesonde 部署及相关资源: ``` kubectl delete -f kubesonde.yaml ``` 这将从你的集群中移除所有由 Kubesonde 创建的资源。 ## 贡献 欢迎为项目贡献。创建 PR 并讨论变更。 ## 致谢 Logo 来自 [Elisabetta Russo](stelladigitale.it) info@stelladigitale.it
标签:3D图, ACM 论文, CNCF, EVTX分析, FSE, GitHub Actions, Go 语言, Helm, K8s 安全, Kind, Minikube, Netlify, web渗透, 前端 UI, 后端服务, 子域名突变, 安全测试, 开源安全工具, 开源框架, 微服务安全, 持续集成, 攻击性安全, 日志审计, 策略验证, 网络探针, 网络策略, 网络连通性, 脚本检测, 自动化侦查, 自动笔记, 逆向工程平台