数据库密钥安全管理(零暴露版)
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_46820e02/mgc-database-security。
技能介绍
问题:AI 碰数据库时密码往哪放
生产环境、CI/CD 或定时任务里,脚本总要连 MySQL、PostgreSQL 等库,但把密码写进仓库、贴进对话或让 Agent 用 mgc_get 拉回明文,都会把「零暴露」一次性打穿。本技能是一套文档型指引:教你在 MGC Blackbox 1.4.10+ 下,把凭据静态加密存库,运行时由本地脚本经 localhost HTTP API 取连接信息,Agent 只通过 mgc_run 在黑盒里跑脚本,从不接触明文密码。
技能如何组织工作流
- 存凭据:用户经 WebUI 或
mgc_save(info_type="config")写入;轮换时用同一info_owner加update_if_exists=true,脚本引用不变即可换新密。 - 写脚本:脚本内用 HTTP API +
~/.mgc/.../.mgc_token拉配置,再连库执行 SQL;Agent 只传 SQL 等参数(如mgc_run的ext02JSON 数组),不把密码塞进 prompt。 - 执行与协作:用
mgc_run做 1.4.7+ 黑盒执行;多节点时用mgc_seal分发脚本,目标节点须用相同info_type/info_owner存好对应凭据。 - Agent 行为约束:可用
mgc_find、mgc_open_webui;禁止mgc_get、在上下文里嵌凭据、或让用户在聊天里粘贴密码。
适用边界
技能不含可执行代码,也不替代数据库客户端:不直接从 Agent 跑 SQL,迁移/备份等需你写成本地脚本再 mgc_run。无认证公网库、可丢弃的本地测试库、纯 GUI 手工连库,不必上这套。沙箱 Agent 若 MCP 受限,文档说明可改走 FastAPI /api/mgc/sensitive/run 路径。
使用场景
- 生产环境定时连 MySQL/PostgreSQL 做备份或巡检,凭据加密存 MGC,脚本经 mgc_run 黑盒跑,Agent 不读明文。
- CI/CD 或 cron 任务要执行迁移/SQL,密码不能进仓库、构建日志或 Agent 上下文。
- 节点 A 用 mgc_seal 封装数据库脚本,节点 B 按相同 info_owner 存凭据后 mgc_run 执行。
- 需要 Agent 只产出 SQL 与参数,由本地脚本在 Blackbox 内经 HTTP API 取密连库并返回结果。
适合人员
- 维护生产库 cron/巡检脚本的运维,要求密钥不进 Git 与聊天历史
- 在流水线里连库跑变更的 DevOps,希望轮换密码时只改 MGC 条目、不改脚本引用
- 多节点协作里封装可执行 DB 脚本的工程师,需 mgc_seal 分发且各节点凭据命名一致
- 用 Agent 写 SQL 但合规禁止 AI 接触数据库明文密码的平台或安全工程师