跳到主要内容

3 篇博文 含有标签「access-control」

查看所有标签

权限感知检索:企业 RAG 的访问控制必须在向量层

· 阅读需 10 分钟
Tian Pan
Software Engineer

有一种故障模式几乎出现在每一个企业 RAG 部署中:一名员工向内部 AI 助手询问薪酬政策相关问题。系统返回了正确、具体的信息——却是从一份该员工本无权查看的 HR 文档中提取的。由于没有人监控检索层,这件事不会立刻让任何人丢掉工作。但那份机密文档已被索引,用户的查询在语义上命中了它,模型忠实地报告了它所找到的内容。

这个错误并不罕见,它是将公共网络 RAG 模式原封不动地应用于私有组织知识却不做架构适配的默认结果。公共网络 RAG 没有访问控制层,因为公共网络内容本身就没有访问限制。而企业数据有——这一约束从根本上改变了整个系统的设计。

RBAC 对 AI Agent 来说还不够:一种实用的授权模型

· 阅读需 13 分钟
Tian Pan
Software Engineer

如今,大多数构建 AI agent 的团队都将授权视为事后才考虑的事情。他们接入一个 OAuth 令牌,给 agent 分配与触发它的用户相同的权限范围(scopes),然后就大功告成了。然而,几个月后,他们会发现一段被操纵的提示词导致 agent 窃取了文件,或者一个受损的工作流在连接的服务中悄无声息地提升了权限。

问题不在于 RBAC 不好。而是在于 RBAC 是为具有稳定工作职能的人类设计的,而 AI agent 既不稳定也不是人类。在一个对话回合中,agent 的“角色”可能从只读研究转变为具备写入能力的代码执行。静态角色无法表达这一点,这种不匹配创造了一个可预见的漏洞攻击面。

向量存储访问控制:大多数 RAG 团队忽略的行级安全问题

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数构建多租户 RAG 系统的团队在身份验证(authentication)上做得很好,但在授权(authorization)上却做得不对。他们验证用户确实是其所声称的身份,然后从共享向量索引中检索文档,并在将结果发送给 LLM 之前对其进行过滤。这种过滤——即检索后过滤——只是“安全防御的假象”(security theater)。当你从列表中移除未授权文档时,它们已经处于模型的上下文窗口中了。

真正的问题比放错位置的过滤器更深。大多数 RAG 系统将文档授权视为摄取时(ingest-time)的关注点(“该用户可以上传此文档吗?”),但完全未能在查询时(query-time)强制执行(“该用户可以查看与此查询匹配的文档吗?”)。这两个检查点之间的差距就是静默数据泄露发生的地方——也是大多数生产事故的根源。