我们检查写入是否成功,但不检查是否仍受保护。

Reddit r/AI_Agents 新闻

摘要

本文强调了AI辅助开发中一个常见的安全疏忽:智能体验证写入操作,但未能确保适当的权限检查,例如RLS策略是否正确配置。

一直在阅读这里的守护者线程,尤其是第4点(每次写入后的收据),这让我开始思考。回读确认了对象存在,但这与确认它是否受保护不同。尤其是在lovable/bolt/supabase的构建中多次见到这种情况。智能体为表启用RLS,写入数据,回读数据,看到数据在那儿,就标记为完成。但它写的策略是USING (true),所以虽然“启用”了,但功能上完全开放,任何人都可以读取任何人的行。无论如何,收据看起来都很干净。类似的情况也发生在标记为私有的存储桶,但实际上是全球可读的,以及以提升权限运行但没有内部认证检查的函数。有谁的验证步骤实际上检查了权限在写入后做了什么,而不仅仅是写入是否成功?感觉大多数设置都过早地停止在了一个层级上。
查看原文

相似文章