Lua在windows下的安装及环境配置实用指南
2026-09-05
2026-09-11 0
在项目中评估KubeHound,可以先看清用途边界:用于构建 Kubernetes 攻击路径的工具。一旦进入部署与运行环境环节,权限、依赖和环境差异会放大维护成本会直接影响交付,这也是我最关心的风险。短测时我会在非生产环境复现一次安装与运行,并保留依赖锁定、权限边界、日志、回滚和资源消耗的结果,方便团队复盘。它对愿意维护环境并重视故障恢复的工程团队更有价值,但正式采用前仍要复查许可证、近期提交和问题区回应。
KubeHound
Kubernetes 攻击图工具,允许自动计算集群中资产之间的攻击路径。
快速入门
要求
要运行 KubeHound,您需要几个依赖项
>= 19.03V2安装
自发布
可通过 发布 页面或运行以下命令下载适用于 Linux / Windows / Mac OS 的二进制文件(Mac OS/Linux):
wget https://github.com/DataDog/KubeHound/releases/latest/download/kubehound-$(uname -o | sed 's/GNU\///g')-$(uname -m) -O kubehound
chmod +x kubehound
MacOS Notes
如果通过浏览器下载版本,则必须在运行之前运行 e.g xattr -d com.apple.quarantine kubehound,以防止 MacOS 阻止执行
用自制的
KubeHound 在 homebrew-core 中可用,您只需运行
brew update && brew install kubehound
kubehound 现在应该在您的路径中。
从源头
如果您希望从源代码构建 KubeHound,则需要在构建之前签出标签
git clone https://github.com/DataDog/KubeHound.git
cd KubeHound
git checkout $(git describe --tags --abbrev=0)
make build
KubeHound 二进制文件将输出到 ./bin/build/kubehound。
运行
选择目标 Kubernetes 集群:
export KUBECONFIG=/your/path/to/.kube/config然后,只需运行 kubehound 二进制文件:
# If you installed it from brew, it is in your path
kubehound
# If you installed it from release, it should be were you downloaded it
./kubehound
# If you installed it from source, it should be in the /bin/build folder
./bin/build/kubehound
有关更高级的用例和配置,请参阅
dump / ingest) 中可用的命令。注意: KubeHound 可以部署为服务 (KHaaS),了解更多信息。
使用KubeHound数据
要查询 KubeHound 图形数据,需要通过 API 调用或专用图形查询 UI 使用 Gremlin 查询语言。有许多功能齐全的图形查询 UIs 可供使用(商业和开源),但我们提供了基于 AWS 图形笔记本 的随附 Jupyter 笔记本,以快速展示 KubeHound 的功能。访问 UI:
admin 登录(注意:这可以通过 Dockerfile 或通过在 .env 文件中设置 NOTEBOOK_PASSWORD 环境变量来更改)示例查询
我们在 文档 中记录了一些要在数据库上执行的示例查询。已经开发了一个特定的 DSL 来查询图形以获取最基本的用例(KubeHound DSL)。
攻击路径示例
样本数据
要查看演示非常非常脆弱的集群中的攻击的示例图,您可以通过针对提供的类型集群运行应用程序来生成数据:
make sample-graph
要查看生成的图表,请参阅 使用 KubeHound 数据 部分。
从脚本中查询数据
例如,如果公开图形端点,您可以自动执行一些查询来收集一些 KPI 和元数据。
蟒蛇
您可以使用以下代码片段在 python 脚本中查询数据库数据:
#!/usr/bin/env python
import sys
from gremlin_python.driver.client import Client
KH_QUERY = "kh.containers().count()"
c = Client("ws://127.0.0.1:8182/gremlin", "kh")
results = c.submit(KH_QUERY).all().result()
您需要通过以下方式安装 gremlinpython 作为依赖项:pip install gremlinpython
更多信息