db-query

🗄️ 自动隧道数据库查询工具

🥥17总安装量 4评分人数 4
100% 的用户推荐

基于 Python 的自动化数据库查询工具,支持 SSH 隧道穿透,适合开发测试环境快速查询,但存在命令注入和 SSH 安全降级风险。

C

存在明显风险,不建议直接用于敏感场景

  • 来自可信组织或认证账号,需要结合权限范围判断
  • ❌ SSH 安全选项严重降级:强制禁用主机密钥检查和已知主机文件验证,存在中间人攻击风险
  • ❌ 密码明文暴露:数据库密码以明文 JSON 存储,SSH 密码通过 `sshpass -p` 传递,可能在进程列表中泄露
  • ❌ 命令注入风险:SQL 查询直接拼接至 mysql 命令行执行,未对用户输入进行过滤验证
  • ⚠️ 缺乏高危操作限制:未对 DROP/DELETE 等危险 SQL 语句进行拦截或二次确认
  • ⚠️ 错误信息泄露:配置加载失败时输出详细预期格式,可能暴露内部结构辅助攻击

使用说明

核心用法

db-query 是一款面向开发者的数据库查询工具,通过集中式 JSON 配置文件管理多数据库连接,并内置自动 SSH 隧道生命周期管理。用户只需在 ~/.config/clawdbot/db-config.json 中配置数据库连接信息(含可选的 SSH 隧道参数),即可通过命令行快速执行 SQL 查询。工具支持按名称模糊匹配数据库、自动建立/关闭 SSH 隧道、自定义配置文件路径等功能,简化了需要跳板机访问的内网数据库查询流程。

显著优点

1. 零配置即查即用:通过单一配置文件集中管理多数据库,避免重复输入连接参数
2. 自动隧道管理:SSH 隧道的建立和关闭完全自动化,无需手动维护长连接

3. 多数据库支持:可同时配置生产、测试、开发等多个环境,通过名称快速切换

4. 轻量无依赖:仅依赖系统自带的 mysql-client 和 ssh,无需复杂的数据库驱动安装

潜在缺点与局限性

1. 安全设计缺陷:SSH 强制禁用主机密钥检查(StrictHostKeyChecking=no),极易遭受中间人攻击
2. 密码明文暴露:数据库密码以明文存储于 JSON 文件,SSH 密码通过 sshpass -p 传递,可能在进程列表中泄露

3. 命令注入风险:SQL 查询直接拼接至 mysql 命令行,未做输入过滤,存在注入隐患

4. 无权限管控:缺乏 SQL 语句类型限制,无法阻止 DROP/DELETE 等高危操作

5. 单点故障:配置文件损坏或权限错误将导致全部数据库无法访问

适合的目标群体

  • 本地开发环境中需要频繁查询多个数据库的后端开发者
  • 拥有跳板机访问需求但不想手动维护 SSH 隧道的运维人员
  • 学习 SQL 或数据库管理的初学者(非生产环境)
  • 需要快速验证数据而不想打开重型数据库客户端的场景

使用风险

  • 数据安全风险:明文密码存储和传输可能导致凭证泄露
  • 网络中间人攻击:SSH 安全选项降级使连接可被劫持
  • 误操作风险:无 SQL 限制可能导致生产数据被意外删除或修改
  • 配置泄露风险:错误信息可能暴露配置文件结构,辅助攻击者构造 payload
  • 端口冲突风险:本地转发端口配置不当可能导致连接至错误服务或失败

db-query 内容

文件夹图标scripts文件夹
手动下载zip · 5.3 kB
config.example.jsonapplication/json
请选择文件