核心用法
paradoxfuzzle/custom-mysql 是一套面向 OpenClaw 生态的安全硬化 MySQL 配置方案,通过 custom_mysql.sh 工具实现用户交互数据、关系网络、上下文信息及技能使用记录的持久化存储。核心操作包括三类:query(仅SELECT查询)、exec(执行脚本文件)以及便捷命令(如 insert_interaction、insert_context)。所有操作均通过 sql_safe_exec.sh 路由,强制实施单语句执行、DDL阻断和表白名单机制。
显著优点
1. 深度安全加固:采用多层防御架构——.env 文件600权限存储凭证、专用低权限MySQL账户、Python原生转义防注入、路径遍历防护,以及30天默认数据保留策略。
2. 交互式确认机制:所有DML操作(INSERT/UPDATE/DELETE)强制要求用户实时确认,杜绝非交互式绕过风险。
3. 细粒度权限管控:查询与执行严格分离,query 命令仅允许SELECT;DDL操作(DROP/CREATE/ALTER等)完全禁用;表白名单制度确保写入仅限于授权表。
4. 数据完整性保障:外键约束防止孤立数据,支持全表用户数据物理删除,快照路径经白名单校验。
潜在局限
- 功能边界受限: intentionally 牺牲灵活性换取安全,复杂批量操作需拆分单语句,存储过程与自定义函数无法使用。
- 运维复杂度:要求运维人员理解
.env配置、权限矩阵及白名单维护,小型团队可能觉得配置繁琐。 - 性能考量:交互式确认阻塞自动化流水线,Python转义层增加毫秒级延迟,高并发场景需评估。
适合人群
- OpenClaw 生态开发者:需为用户AI交互构建安全、可审计的数据后端。
- 隐私敏感型产品团队:处理用户行为追踪、会话上下文存储,且受GDPR/类似法规约束。
- 安全优先的中小型应用:愿以开发便利性换取数据层安全基线的技术团队。
常规风险
- 凭证泄露风险:
.env文件若权限配置失误(非600)或误提交至版本控制,将导致数据库暴露。 - 交互疲劳误操作:高频DML场景下,用户可能因重复确认而习惯性放行,削弱安全设计初衷。
- 依赖链风险:
sql_safe_exec.sh与 Python 转义层的实现质量至关重要,任何绕过漏洞将瓦解整体安全模型。 - 数据保留合规:30天TTL需结合实际法规要求调整,自动化清理前缺乏二次确认机制。