恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

nao安全机制全解:SQL只读守卫、行级安全与代码沙箱如何保护你的数据

  • 首页
  • 资讯中心
  • /
  • nao安全机制全解:SQL只读守卫、行级安全与代码沙箱如何保护你的数据

相关资讯

4PPM调制解调MATLAB仿真:积分判决与误码率分析 2026/10/11 11:02:39
多协议以太网温湿度变送器:Modbus TCP/UDP/SNMP 协议应用场景详解 2026/10/11 11:02:39
借助ai的第一次爬虫作品 2026/10/11 11:02:39

最新资讯

深入zlibrary-to-notebooklm源码:Python + Playwright + NotebookLM CLI全链路架构解析
知识工作插件:轻量级本地化认知增强方案
SpringBoot+Vue前后端分离实战:足球俱乐部管理系统从设计到部署全解析
CsiNetPlus信道估计实战:从CSI压缩反馈到NMSE调优
基于YOLOv8的烟盒检测数据集实战:从训练到部署全流程
【计算机毕业设计单片机案例】基于 STM32 的机房温湿度与有害气体监测联动排风系统设计 基于 51 单片机的室内环境阈值可调声光监测装置设计(030121)

今日推荐

UE动画修改实战:从资产编辑到重定向与蒙太奇驱动
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真
政务API安全治理:资产测绘、低代码编排与行标对标实践

本周热门

UE动画修改实战:从资产编辑到重定向与蒙太奇驱动
统计随机数生成器攻击下的KLJN安全密钥交换协议Matlab仿真
政务API安全治理:资产测绘、低代码编排与行标对标实践

本月精选

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)

nao安全机制全解:SQL只读守卫、行级安全与代码沙箱如何保护你的数据

发布时间:2026/10/11 11:07:40
nao安全机制全解:SQL只读守卫、行级安全与代码沙箱如何保护你的数据 【免费下载链接】nao nao is an open source analytics agent. (1) Create context with nao-core cli, (2) deploy nao chat interface for everyone项目地址https://gitcode.com/gh_mirrors/nao4/nao点击查看免费下载nao 是一款开源数据分析智能体analytics agent它让用户用自然语言就能查询业务数据库、生成图表和报告。但让 AI 连上数据库听起来就让人担心AI 会不会误删数据会不会越权看到别人的工资条它生成的代码会不会执行危险操作nao 的答案是一套纵深防御体系SQL 只读守卫、行级安全策略、代码沙箱。本文带你逐个拆解这三道防线是如何保护你的数据的。第一道防线SQL 只读守卫 ️nao 的 AI 通过execute_sql工具执行查询。默认情况下所有写操作都会被直接拦截只允许SELECT查询通过。只放行 SELECT 语句守卫逻辑位于 sql-filter.ts核心是一个写语句黑名单正则INSERT、UPDATE、DELETE、DROP、CREATE、ALTER、TRUNCATE、GRANT等关键字开头的语句一律拒绝。校验时会先剥离 SQL 注释、再按分号拆分多条语句逐条检查——任何一条带写操作整批拒绝。拦截后的提示也很直白Write SQL operations are disabled. Only SELECT queries are allowed.见 execute-sql.ts。如果团队确实需要写入能力必须在管理面板中手动开启Dangerous write permissions开关默认状态是关闭的。堵住数据库直通函数侧信道 ️这是最容易忽略、却最关键的一道检查。像 DuckDB 这类分析引擎支持postgres_query(...)、mysql_query(...)、sqlite_query(...)这类函数——它们以 SELECT 开头能通过只读关键字检查但实际效果是向另一个服务器发起连接并执行任意 SQL包括写入。nao 维护了一份直通函数黑名单postgres_query、postgres_execute、postgres_scan、mysql_query、sqlite_scan、json_execute_serialized_sql等无条件拦截即使管理员开启了写权限也不例外。代码注释里说得很清楚允许写用户自己的数据绝不意味着允许借此打通到别的服务器。更细致的是检测时会先把单引号字符串字面量打码再匹配防止字符串内容干扰判断同时保留双引号函数名因为 DuckDB 中postgres_query(…)同样是有效调用。数据库层面的第二重保险即使前面的校验器有疏漏数据层还有兜底。查询 nao 自身应用库时readonly-app-db.ts 会SQLite打开PRAGMA query_only ON数据库层面直接拒绝任何写入Postgres用SET TRANSACTION READ ONLY包裹查询事务任何逃逸的写语句在数据库层就被拒绝而且应用库查询只能看到按项目作用域生成的只读视图app-db-views.ts项目 ID 通过参数绑定而非字符串拼接注入每个项目只能看到自己的用量数据。第二道防线行级安全 只读守卫解决了AI 不能改数据行级安全Row-Level Security, RLS解决的是用户只能看到自己该看的数据。敏感表 用户组策略管理员先把标记为敏感的表登记进项目例如employees.salary这类字段所在的表定义在 user-group-row-security.ts。然后按**用户组User Group**配置每张表的访问策略策略含义full全表可见predicate只能看到满足谓词条件的行支持图形化条件组合或手写 SQL 谓词none/blocked完全不可见或带原因地封禁比如销售组可以看到regions EMEA的订单行而财务组可以看全表——同一张表不同人看到的行不同。谓词如何自动注入查询策略配置后nao 不会指望 AI自觉遵守。后端在执行仓库 SQL 前会先把行谓词送到 FastAPI 服务做语法校验与规范化warehouse-sql.service.ts在 CLI 侧row_security_guard.py 用 sqlglot 解析器把 SQL 解析成语法树找出所有基表引用把策略谓词强制注入到查询中——AI 无论写出什么 SQL最终执行的版本都已经带上了行过滤条件。这种事后强制改写比事前口头约定可靠得多安全不依赖模型的行为而是依赖执行管道本身。第三道防线代码沙箱 nao 的 AI 还能编写并运行 Python 代码处理 Excel、PDF、复杂计算。运行不受信的 AI 生成代码业界的标准答案是隔离执行——nao 用的是 execute-sandboxed-code.ts 中的虚拟机级沙箱。AI 代码在隔离 VM 中运行沙箱运行时基于 boxlite每次执行都发生在独立虚拟机内与宿主系统彻底隔离。运行时的可用性检查在 sandbox-runtime.ts 中完成Linux 环境需要/dev/kvm权限不支持时该工具会自动禁用而不是冒险降级。每个用户一个专属盒子沙箱是池化的复用虚拟机以降低成本但每个池化实例都带有ownerKey归属标记——属于某个用户和项目的沙箱其密钥和文件永远不会被分配给其他人。空闲 5 分钟后自动回收防止资源泄漏。密钥脱敏秘密不进模型的眼睛 沙箱内需要用到密钥比如访问第三方 API时密钥以环境变量形式注入 VM绝不写入代码文本。更重要的是反向保护沙箱执行产生的输出在回传给 AI 之前会经过 sandbox-secrets.ts 的redactSecretValues处理把所有出现的密钥值替换成[REDACTED:名称]占位符——即使 AI 自己写的代码不小心把密钥打印了出来它也读不到真正的值。纵深防御总结为什么三道防线缺一不可防线防的是什么关键实现SQL 只读守卫AI 误操作/越权修改数据sql-filter.ts 数据库只读事务行级安全用户看到不该看的行user-group-row-security.ts SQL 谓词注入代码沙箱AI 生成代码逃逸到宿主系统execute-sandboxed-code.ts 密钥脱敏这套设计的精髓在于**不信任任何单一环节**AI 可能说错话所以有 SQL 校验器兜底、校验器可能有 bug所以数据库层强制只读、策略可能配置不全所以行谓词由管道强制注入、代码可能行为失控所以虚拟机隔离。任何一层失效下一层仍在。想深入了解行级安全策略的完整类型定义与规范化逻辑user-group-row-security.tsCLI 侧的 SQL 守卫与谓词注入实现row_security_guard.py沙箱池化与所有权隔离的完整代码execute-sandboxed-code.ts应用库作用域视图生成app-db-views.ts相关测试覆盖了写权限拦截、行安全策略路由、沙箱密钥等场景位于 tests/ 目录可作为行为参考对于新手来说理解 nao 的安全模型只需记住一句话数据安全的责任不在 AI 身上而在那条从自然语言到SQL 执行的管道本身——每一道关卡都假设上一层可能失败。赞分享【免费下载链接】nao nao is an open source analytics agent. (1) Create context with nao-core cli, (2) deploy nao chat interface for everyone项目地址https://gitcode.com/gh_mirrors/nao4/nao点击查看免费下载相关推荐Boop安全机制深度解析沙箱环境如何保护你的数据安全Boop安全机制深度解析沙箱环境如何保护你的数据安全 在当今数字化时代数据安全已成为开发者和普通用户最关心的问题。Boop作为一款脚本化记事本工具其内置的开发工具桌面应用WeChatMsg终极指南微信聊天记录导出与年度聊天报告WeChatMsg终极指南微信聊天记录导出与年度聊天报告 当你要翻出三年前的那条消息时 你大概经历过这种时刻一条重要的聊天记录在微信里怎么都搜不到或者想mirrord 安全机制完全解读如何在连接中保护你的代码mirrord 安全机制完全解读如何在连接中保护你的代码 在云原生开发中如何安全地将本地代码连接到云环境是一个重要挑战。mirrord 通过多层安全机制确保开发工具云原生CLI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号