外观
Agent 调用数据库查询工具时,如何防止 SQL 注入?
标准回答
把用户输入作为绑定参数传给预编译查询,禁止拼接进 SQL;表名、列名和排序方向等不能普通参数绑定的位置使用允许列表。工具端还要限制数据库账号权限、可访问表、行数和执行时间;若允许模型生成整段 SQL,必须经过结构解析和策略检查,不能只靠提示词或过滤引号。
通俗例子
查询订单时使用参数绑定传入订单号,限制只读账号和允许表;参数化也不能替代“这个用户能否看这行数据”的权限判断。
内容来源
- Android · AI Agent 知识手册 · 原条目
ai-Q51