Skip to content

Tool Calling 遇到越权、Prompt 注入、超时和重复执行时怎么处理?

题型:问题排查 · 安全边界必须在确定性代码中,不交给模型决定。

建议回答

首先,模型输出只是调用建议,执行前必须用服务端身份重新校验租户、用户、资源和操作权限,敏感凭证由服务端注入。来自网页、知识库和工具结果的文本都视为不可信数据,不能让其中的指令覆盖系统策略;对高风险工具使用白名单、参数约束、人工确认和沙箱。

超时按错误类型处理:连接失败或明确未执行的只读工具可退避重试;结果未知或有副作用的调用先用 operationId 查询执行状态,不能直接重放。每次调用记录 runId、toolId、主体、脱敏参数、耗时、结果摘要和错误分类,并设置单工具并发、速率、超时和熔断。

线上止损

  • 动态下线异常 Tool 或 MCP Provider。
  • 收紧高风险工具权限和自动执行策略。
  • 对重复 operationId 返回历史结果。
  • 对异常调用率、越权拒绝率和参数校验失败率告警。

易错点

  • Tool Schema 校验不能替代业务授权。
  • 无脑重试可能重复下单、发消息或写入业务数据。

知识关系

从当前问题继续深入,或者回到提出这个问题的知识入口。