如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://github.com/aquasecurity/kube-hunter/blob/main/kube-hunter.png
https://github.com/aquasecurity/kube-hunter/releases https://github.com/aquasecurity/kube-hunter/workflows/Test/badge.svg](https://github.com/aquasecurity/kube-hunter/actions) 使用,也可通过官方网站kube-hunter.aquasec.com注册获取令牌,在线查看和分享检测结果。此外,还可直接运行Python代码。
检测到漏洞时,kube-hunter会显示漏洞ID(VID),可通过知识库https://aquasecurity.github.io/kube-hunter/查询详细信息。
https://github.com/aquasecurity/kube-hunter/blob/main/kube-hunter-screenshot.png]([***]
运行位置选择
kube-hunter有三种运行方式,每种方式提供不同的集群漏洞检测视角:
--pod标志)扫描选项
默认情况下,kube-hunter会启动交互式会话,可选择以下扫描选项,也可通过命令行手动指定:
远程扫描
选择选项1或使用--remote参数。示例:
bashkube-hunter --remote some.node.com
接口扫描
使用--interface参数扫描机器的所有网络接口。示例:
bashkube-hunter --interface
网络扫描
使用--cidr参数指定特定CIDR范围扫描。示例:
bashkube-hunter --cidr 192.168.0.0/24
Kubernetes节点自动发现
设置--k8s-auto-discover-nodes标志,查询Kubernetes集群中的所有节点并尝试扫描。默认使用集群内配置连接Kubernetes API,也可通过--kubeconfig参数指定kubeconfig文件路径。使用--pod模式时会自动执行此操作。
认证
kube-hunter默认无需认证即可运行,以模拟***者的初始阶段:
模拟服务账户:通过--service-account-token标志手动传递服务账户的JWT令牌。示例:
bashkube-hunter --active --service-account-token eyJhbGciOiJSUzI1Ni...
Pod模式认证:使用--pod标志时,kube-hunter会使用Pod内挂载的服务账户令牌进行认证。若同时指定--service-account-token,则该令牌优先级更高。
主动狩猎(Active Hunting)
主动狩猎模式下,kube-hunter会利用已发现的漏洞进一步探索更多安全问题。与普通狩猎的主要区别是:普通狩猎不会改变集群状态,而主动狩猎可能执行状态更改操作,可能带来风险。
默认不启用主动狩猎,通过--active标志启用。示例:
bashkube-hunter --remote some.domain.com --active
测试列表
使用--list参数查看测试列表:
bashkube-hunter --list
查看主动狩猎测试:
bashkube-hunter --list --active
节点映射(Nodes Mapping)
使用--mapping参数仅显示节点网络映射。示例:
bashkube-hunter --cidr 192.168.0.0/24 --mapping
输出(Output)
通过--log参数指定日志级别。示例:
bashkube-hunter --active --log WARNING
可用日志级别:
分发(Dispatching)
默认报告输出到标准输出(stdout),可通过--dispatch参数指定其他分发方式。示例:
bashkube-hunter --report json --dispatch http
可用分发方式:
Azure快速扫描(Azure Quick Scanning)
在Azure或AWS环境中作为Pod运行时,kube-hunter会从实例元数据服务获取子网,可能延长发现过程。使用--quick参数将子网扫描限制为/24 CIDR。
自定义狩猎(Custom Hunting)
自定义狩猎允许高级用户控制狩猎开始时注册的猎人模块,可根据需求调整狩猎和发现过程。
示例:
bashkube-hunter --custom <HunterName1> <HunterName2>
启用自定义狩猎后,除白名单指定的猎人外,其他猎人将被移除。使用--raw-hunter-names与--list组合查看所有猎人类名:
bashkube-hunter --active --list --raw-hunter-names
注意:由于架构设计,以下"核心猎人/类"始终会注册(即使使用自定义狩猎):
前提条件
通过pip安装
bashpip install kube-hunter kube-hunter
从源码运行
bashgit clone https://github.com/aquasecurity/kube-hunter.git cd ./kube-hunter pip install -r requirements.txt python3 kube_hunter
Aqua Security提供容器化版本aquasec/kube-hunter:aqua,包含额外的报告插件,可将结果上传至kube-hunter.aquasec.com查看(使用此容器和上传报告受额外条款约束)。
使用主机网络运行容器(可探测主机所有接口):
bashdocker run -it --rm --network host aquasec/kube-hunter
Docker for Mac/Windows注意:
--network host仅能访问Docker虚拟机的网络接口,而非本地机器接口。
指定扫描选项运行:
bashdocker run --rm aquasec/kube-hunter --cidr 192.168.0.0/24
此方式用于发现容器在集群中可执行的操作,模拟者攻陷Pod后的行为,可能发现更多漏洞。
示例job.yaml定义了一个Job,使用默认Kubernetes Pod访问设置运行kube-hunter(可修改定义,如使用非root用户、指定命名空间等):
创建Job:
bashkubectl create -f ./job.yaml
查找Pod名称:
bashkubectl describe job kube-hunter
查看测试结果:
bashkubectl logs <pod名称>
贡献指南请参见https://github.com/aquasecurity/kube-hunter/blob/main/CONTRIBUTING.md
本仓库采用https://github.com/aquasecurity/kube-hunter/blob/main/LICENSE%E8%AE%B8%E5%8F%AF%E3%80%82
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务