前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片NEW
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 业务场景题真实业务问题与追问
  • 查漏补缺常见问题解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
    • AI 定制路线NEW按你的简历现排
    • AI 知识地图NEW串起全站知识点
  • 动态
    • AI 热点NEWAI 每日动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
AI 助手NEW
旧版
返回 AI 情报前线
All News · 全部资讯8743
  • GPT-6 Sol/Luna 登场:价格腰斩,定位细分
  • TypeSafe Jev:让AI返回结构化决策而非段落文本
  • Text-to-SQL访问控制:身份决定Schema可见性
  • Jev 1.13实测:工单分类精度达100%,对比规则引擎和本地LLM
  • GitHub Copilot应用支持OpenTelemetry可观测性配置
  • Copilot for JetBrains新增工具审批和Agent控制功能
  • 两款 AI 代码审查基准测评结论相反
  • AI 编码提速后:验证环节成为新瓶颈
  • AI 审查同一 PR 给出不同结论:确定性判定器来解决
  • AI计量工具审计启示:独立交易ref是防重复计费的关键
  • OpenAI发布GPT-6 Sol/Luna:API价格下调50%
  • GPT-6/Claude 5.5 同日发布:价格战开打,Luna 成本腰斩
  • GitHub Copilot 大幅提升C++代码索引速度
  • Anthropic和OpenAI同时推出性价比新模型
  • GPT-6 提示缓存重大升级:更高命中率与可诊断性
  • 六边形架构的端口在撒谎:HTTP 不等于业务语义
  • GPT-5.6 价格策略解读:Luna 降价 80%,多版本差异化定位
  • 高通骁龙8 Gen6端侧跑300亿参数MoE模型,吞吐330 Token/s
  • Claude Opus 5.5评测:智商极高但费用惊人
  • 小米开源 MiMo-V2.6:万亿参数开源模型登顶榜
  • AI Agent 工具 API 设计指南
  • 一个浏览器扩展权限即可劫持五大 AI Agent
  • Claude Opus 5.5 主打端到端代码补全而非起步
  • GPT-6 Sol发布:对齐能力逼近Astra,价格仅五分之一
  • GPT-6 Sol/Luna编程能力比肩Claude,成本降80%
  • Claude Opus 5.5发布:性能对标Fable 5.1,成本低40%
  • Claude Opus 5.5:编程修复成功率达97.5%,成本降40%
  • 开源工具llm 0.36支持GPT-6 Sol/Luna
  • JetBrains押注Agent开发:称其为26年最重要一步
  • 为 AI 代理添加预算守卫的实战方案
  • OpenAI GPT-6 Sol和Luna模型上线Amazon Bedrock
  • OpenAI发布GPT-6 Sol和Luna,API价格减半
  • OpenAI 发布 GPT-6 Sol/Luna 模型,Token 价格减半
  • 已加载 33 / 8743
8.0
热点
AI SCORE
编程提效2026-09-23 10:34

Text-to-SQL访问控制:身份决定Schema可见性

dev.to · AI#text-to-SQL#安全#数据库
Editor brief · 编辑速览

大多数text-to-SQL系统在查询写出后才做权限检查,导致未授权表仍在prompt中暴露。Schemagate通过先根据调用者身份筛选Schema再生成查询,将权限检查前置,PostgreSQL/Olacle/MySQL等均已认证。

文章思维导图
Knowledge map
拖拽缩放
Full translation

完整中文译文

schemagate -- 模型在任何 SQL 产生之前,只看到该调用者有权限读取的表

大多数 text-to-SQL 方案会把整个 schema 一股脑塞给模型,然后把访问检查放在查询写好之后。这个顺序本身就是 bug,而且它容易演示,不容易争辩。

一张图讲清楚核心思想

两个相同的问题,一个没有 payroll 角色,一个有

左图 —— 调用者没有任何角色。hr_compensation 压根不会到达模型:42 个对象中被选中了 9 个,prompt token 消耗 570 个而非 2,511 个,且有一个对象对这个调用者隐藏了。

右图 —— 相同的问题、相同的 schema、相同的数据库。调用者现在持有了 payroll 角色,于是 hr_compensation 成为 prompt 中的第一个表,没有任何东西被隐藏。

问题本身没有任何变化。变化的是身份。

在真实 schema 上运行

Studio 在一个 claims schema 上从 51 个对象中选出了 14 个

这是 Studio 在一个 claims schema 上的表现:从 51 个对象中选出了 14 个,prompt token 消耗 1,212 个对比完整 schema 的 3,237 个,且有三个对象被扣留 —— 因为这个调用者既没有 actuarial 也没有 phi 权限。被限制的对象列在左侧,这样你能看到被扣留的是什么,而不必靠猜。

pip install schemagate

SQLite、PostgreSQL 16、Oracle 26ai、SQL Server 2022 和 MySQL 8.4 均已通过实盘实例认证。此外还有一个 MCP server —— 现已收录于官方 MCP registry ——、一个 LangChain retriever 以及一个 CLI。

选择步骤的效果取决于其检索质量,而我的检索并非业界顶尖。在 Spider(汇聚为一个 catalog,876 张表,且问题本身没有提示属于哪个数据库)上,金表(gold table)在 top 10 中的命中率为 82.6%。在 Spider 2.0-lite(这是真实的 BigQuery 和 Snowflake schema,而非基准测试用 schema)上,247 道可用问题全题的 top 10 命中率为 64.0%。这两个数字、测试 harness,以及过程中我不得不修正的两种测量误差,全部记录在 BENCHMARKS.md 中。

Apache-2.0: github.com/ashishsinha1602/schemagate

Original source

本文由 AI 翻译整理自 dev.to · AI,原文版权归原作者所有。

阅读英文原文
上一篇
TypeSafe Jev:让AI返回结构化决策而非段落文本
下一篇
Jev 1.13实测:工单分类精度达100%,对比规则引擎和本地LLM