dsh-kubectl-guard:为 DeepSeek Harness 提供 kubectl 上下文安全守卫

gengwg/dsh-kubectl-guard

工具与能力已验证
收录时间 2026-09-14
页面最后更新 2026-09-16

为 DeepSeek Harness 提供 kubectl 安全闸门:按 kubeconfig context 判断,非本地集群的不可逆操作直接拒绝,可恢复写入先询问,读取与本地集群不受影响。

dsh-kubectl-guard 是给 DeepSeek Harness 加装的一道 kubectl 安全闸门,专门防止 AI Agent 在真实集群上执行破坏性操作。它按 kubeconfig 上下文分级放行:非本地集群上的 delete、drain、evict 等不可逆动词直接拒绝,apply、patch、scale、exec 等可恢复写操作先请求批准,读操作和本地集群完全不干预。插件不注册任何工具,而是检查 shell 工具调用的 command 参数,因此无论 Agent 用什么方式执行命令都能覆盖,上下文名默认以会话级假名呈现,避免真实集群名流向模型提供方。

如何安装

install
npmdsh plugin --profile web add dsh-kubectl-guard
分类
工具与能力
平台
DSH Plugin
作者
gengwg
分发方式
插件

dsh-kubectl-guard 核心特性

按 context 区分本地与生产不可逆动词直接拒绝可恢复写入先请求批准读取与 dry-run 放行无法解析时默认拒绝
Listed on dsh-plugin.org

dsh-kubectl-guard 仓库简介

它是做什么的?

dsh-kubectl-guard 是 DeepSeek Harness(DSH)的 kubectl 安全策略插件,按 kubeconfig 上下文给 kubectl 命令分级放行。它解决的是 AI Agent 在真实集群上误执行破坏性操作的问题:对非本地集群的不可逆动词直接拒绝,可恢复的写操作先询问,读操作和本地集群完全不干预。插件本身不注册任何工具,而是检查 shell 工具调用的 command 参数,因此无论 Agent 用什么方式执行命令都能覆盖。由 gengwg 维护,采用 MIT 协议,最近更新于 2026-09。

核心功能

  • 按上下文分级管控:非本地集群上 delete、drain、evict 等不可逆动词直接拒绝,apply、patch、scale、exec 等写操作先请求批准,get、describe、logs、top 等读操作一律放行。
  • 上下文解析贴合 shell 语义:显式 --context 优先,其次 --kubeconfig,再到命令行内联的 KUBECONFIG= 赋值,最后才是环境变量,避免命令被错误地按本地集群判定。
  • 本地集群白名单:只有匹配 localContexts 的上下文才算本地,其余情况(包括 kubeconfig 读不出来)一律按生产环境处理。
  • 上下文名脱敏:默认关闭 showContextNames,被拦截的提示只向模型暴露类似 ctx#4be1f92a 的会话级假名,不泄露真实集群名。
  • 失败即关闭:无法解析的命令(sh -c、命令替换、未闭合引号)按写操作处理,含不可逆动词则拒绝,否则询问。
  • 干跑放行:apply --dry-run=server 视为读操作直接通过,让 Agent 能先展示变更再请求执行。

怎么使用这个插件?

在 DSH 中启用后无需任何调用,照常让 Agent 干活即可,守卫会坐在工具管线里检查 shell 命令再决定是否放行。典型场景包括:让 Agent 删除卡住的 Pod 会被直接拒绝并说明原因;让它滚动更新 Deployment 会在界面上弹出批准或拒绝按钮;查询 kube-system 里失败的 Pod 则不受影响。需要临时关闭时,可在启动会话时用补丁方式把该插件标记为 disabled,无需改动配置文件。行为可通过 config 段调整,例如 localContexts 白名单、binaries 与 guardedTools 覆盖的命令行工具,以及是否显示真实上下文名。

报错怎么排查?

从 0.1.x 升级后若发现守卫被加载两次,通常是旧版本以普通依赖方式安装时留下的手工插入条目仍在生效,按官方说明从配置文件中删除该条目即可。若命令被意外拒绝或询问,先确认当前上下文是否匹配 localContexts 白名单,未匹配的上下文(包括读取失败的 kubeconfig)都会被当作生产环境处理。

本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:gengwg/dsh-kubectl-guard。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。

安装、更新、卸载这个插件,都在 DeepSeek Harness 的 DSH Plugin Hub 插件市场完成

DSH Plugin 常见问题