当前位置: 首页 > news >正文

MySQL SQL 风险拦截:AST 规则、观察模式和可回退阻断

MySQL SQL 风险拦截:AST 规则、观察模式和可回退阻断

SQL 风险控制是缩小影响面,不是用 AST 规则消灭慢 SQL。确定性高的无条件更新可以阻断,其余风险先观察、限流并结合执行计划与统计信息判断。

先在网关做可解释的预检

对无条件UPDATEDELETE、明显缺失关联条件的 Join 等高确定性模式,可以在提交前要求显式确认或拒绝。对于大扫描、隐式转换和深层子查询,先标记、限流或进入审核队列;最终仍应结合EXPLAIN、表统计信息和调用方身份判断。

信号合适的处置不宜据此断言的事
无 WHERE 的写操作默认拒绝或人工确认业务一定有问题
隐式类型转换提示参数类型并验证索引一定会全表扫描
Join 条件缺失阻断或要求白名单查询结果一定错误
预估扫描行数偏大限流、异步执行或审核运行时一定超时

风险分数只作为排序依据

如果引入轻量模型,应当输出命中规则、输入特征和模型版本。不要只返回一个不透明分数。阈值需要按业务域配置,并保留白名单与快速回退开关。

def assess(sql: str, estimated_rows: int) -> list[str]: findings = [] normalized = sql.strip().lower() if normalized.startswith(("update ", "delete ")) and " where " not in normalized: findings.append("写操作缺少 WHERE 条件") if estimated_rows > 1_000_000: findings.append("预估扫描行数较高,建议复核执行计划") return findings

让止损动作可恢复

线上先以观察模式运行:记录命中情况、实际耗时和人工结论,再决定哪些规则可以阻断。阻断响应应说明规则编号和申诉方式,审计记录只保存必要的 SQL 指纹与脱敏参数。发生误杀时,能按调用方或规则快速回退,比一套复杂的解析器更重要。

http://www.jsqmd.com/news/1403860/

相关文章:

  • Python 异步编程实战:从入门到性能翻倍
  • 微前端接入全局 AI 助手:上下文隔离与生命周期回收
  • 2026年AI论文平台深度剖析,选出真正适合你的写作利器 - AI写论文
  • INT4 与 FP16 部署比较:显存、精度和吞吐怎么测
  • IDEA代码报红但能运行?深入解析索引与缓存机制及排查方案
  • Blender ProLightingStudio插件:智能布光与非破坏性工作流详解
  • 2026 怀化防水补漏实测测评|湘西山区房屋渗漏修缮避坑全指南 - 宅仕达
  • 市场评价高的抗渗试模源头厂家哪家强,砂浆试模/工程塑料试模/胶砂试模/电通量试模/碱骨料养护桶,抗渗试模厂家哪个好 - 企业权威推荐大使
  • 阿里云ECS+宝塔面板:从零构建官网子域名网站全流程指南
  • 重庆北碚区仪表工业学校——环境优美、交通便利 - 学习招生
  • 2026年8月太原外墙漏水维修防水公司推荐,高层高空渗水修缮避坑指南 - 聪居到家
  • RAG 回答异常怎么查:串起切片、检索与模型调用
  • 腾讯云WorkBuddy深度评测:从AI玩具到生产力搭子的实战指南
  • 开源PLC编程完整指南:用OpenPLC Editor免费搞定PLC开发与调试
  • ubuntu2204 server 官方一键脚本 安装docker
  • 006、 ABAP数据声明与类型:一个调试到凌晨三点的教训
  • Kubernetes 故障演练:如何验证探针、驱逐与回滚
  • 时空可组合性元框架设计:构建灵活解耦的业务系统架构
  • 香港朗高遇到厂房、飘窗、屋顶渗水,找附近防水师傅要关注哪些点 - 宅仕达
  • Bilibili-Cleaner深度解析:基于DOM操作的网页净化原理与实践
  • 十堰装修怎么选?整装选购指南,避开家装常见误区 - 收录优先
  • 从排队到进游戏,LCU API客户端工具League Akari如何把你的英雄联盟日常效率提升一倍
  • ZPL虚拟打印机零成本实战:无硬件条码标签开发从入门到跑通
  • 2026新疆GEO公司推荐:白泽图问题图谱与事实证据链实现
  • Maven构建失败排查指南:从依赖冲突到环境配置的全面解析
  • GitOps 发布评审:演示之外要检查漂移与回滚
  • AI工程化实战:从模型调用到生产级工作流,Harness平台如何解决四大核心挑战
  • Three.js动画优化:Tween.js补间与缓动函数实战指南
  • React Context 牵连整页重渲染:拆状态订阅并验证更新范围
  • 【C++】拷贝构造函数、赋值重载函数、深拷贝及浅拷贝 模拟实现顺序栈和环形队列的问题及理解