如何保障 Agent 工具调用安全并对隐私数据脱敏?

考查重点:执行授权与敏感数据最小化。工具执行前验可信身份和资源,读结果最小化/脱敏;日志、Prompt 与外传出口同样限制敏感数据

本题目录

参考答案

核心回答

我会沿工具调用链处理两件事:执行前控制权限,数据流转时最小化暴露。

模型只提出工具名和参数;宿主根据真实用户、任务授权和资源归属决定能否执行,工具及业务服务再次校验参数与状态。文件、SQL、网络等能力使用受限环境和凭证,涉及明显外部副作用时按业务风险核对具体操作,重试也要防止重复执行。

隐私保护则覆盖用户输入、工具返回、模型上下文、日志、记忆和最终输出。先只取需要的字段,再按用途删除、掩码或替换为受控标记,凭证由后端保管。不能让模型先看到完整秘密,再只在页面展示时打星号。

例如查询订单时,后端先检查订单属于当前用户,再返回状态和必要的手机号掩码;真正需要发送通知时,由受控服务使用已授权的联系方式,模型不必拿到完整号码。

展开说明

1. 工具可见、参数合法与有权执行是三件事

工具发现阶段可以只提供当前任务允许使用的能力,减少误选;执行时仍须校验。Schema 只能约束字段、类型和结构,不能证明订单属于谁、路径是否越界或某个 URL 是否能访问。

真实身份、租户和凭证来自可信会话,由宿主注入,不能采信模型填写的“管理员”或其他用户 ID。业务服务还要验证资源归属和当前操作范围。读操作也可能泄露隐私,不能因为没有写数据就跳过授权。

具体约束要落到工具:文件限定授权路径,查询工具使用受限视图和低权限账户,网络请求限定目的地与重定向范围。工具描述和外部返回都是可能被篡改的数据,不能从中取得新的权限。

2. 对写入和外部副作用,检查具体意图与真实结果

发送消息、修改资料或删除资源时,要知道目标、参数和后果。需要用户确认的操作,将确认绑定到真实主体、规范化参数、任务或方案版本及有效期;执行参数变化后,旧确认不能继续沿用。

提交时仍需检查资源权限和业务状态,确认本身不能绕过 ACL。对可能重试的操作使用业务幂等记录,超时先判断是否已执行;结果以业务回执为准。权限撤销后禁止后续新动作,已经发生的操作按业务规则处理。

3. 脱敏按数据用途选择,而不是所有字段统一替换

先列出任务需要的字段和接收方。根本用不到的证件、地址、凭证直接不返回;展示手机号可以掩码;统计分析可以降低位置或年龄粒度。需要跨步骤关联同一对象时,可以使用任务范围内的标记,将映射保留在受限后端,设置访问和生命周期。

这种标记仍可能被重新关联,掩码、加密或普通哈希都不自动等于匿名化。若需要恢复真实字段,由有权限的执行服务完成,不把映射表与标记一并交给模型。

处理位置也要正确:进入外部模型前处理输入和工具结果,写日志或记忆前再按各自用途过滤,输出与导出文件也检查。结构化字段规则比较稳定,正文可结合实体识别补充,但要测试漏检与误删;金额、单位、否定词等任务关键内容不能被无差别清掉。

4. 安全记录需要可追溯,但不必保存全部原文

默认记录工具、调用标识、主体、权限决定、耗时、结果状态和必要摘要。Token、密码、连接串、原始隐私正文不直接进入普通日志,错误栈和下载产物也遵守同样的数据策略。

确需排障原文时,限定环境、范围、访问者和保留期,记录读取行为;传输与存储也需保护。仅在日志平台查询时临时遮蔽,无法消除早已写入原始日志或发送给外部服务的泄露风险。

验证时使用合成数据检查跨用户资源、伪造身份、超范围参数、注入工具返回,以及日志和记忆是否残留完整敏感字段,同时检查正常任务是否因过度脱敏失败。

常见追问

接入 MCP 后,安全由谁负责?

Host 控制当前任务的工具与授权范围,Server 和业务服务执行实际资源权限。HTTP MCP 使用授权机制时,要校验令牌来自可信的授权服务器、受众是当前 Server、处于有效期且范围满足操作;不能接收为其他服务签发的令牌并随意透传。协议连接成功不代表用户有权读取每条业务数据。

有只读 SQL 工具是不是就安全了?

还要检查数据库账户和视图是否真正受限、能查询哪些行列、是否限制资源消耗,以及返回是否包含过量隐私。工具叫“查询”或提示词只允许 SELECT,不会自动改变数据库权限。只读减少写入风险,不消除数据泄露风险。

教程里的敏感信息中间件能否直接解决所有问题?

可以帮助识别、遮蔽或阻断部分敏感内容,但它不替代资源授权、数据最小化和日志治理。接入时确认处理的是哪一段数据、覆盖哪些实体和出口,再验证漏检、误检与业务影响。

对应教程

参考资料

  • 国内:JavaGuide:AI 可观测性:借鉴 Trace 内容中的隐私和凭证风险,说明正文中默认记录元数据、原文按范围限权保留的取舍。
  • 国内:zero2Agent:容错与安全:依据读写鉴权、动作确认与失败处理的要求,解释正文中读取也要授权、执行重试要检查当前状态和幂等的安排。
  • 国内:WeThinkIn:Agent 安全与 AgentOps:借鉴 Schema、工具策略、沙箱和确认的分层,说明正文中可信身份注入及授权绑定具体参数和有效期的设计。
  • 国外:MCP:授权规范:依据 HTTP 授权的 scope 与受众校验,说明正文中 MCP 令牌校验和业务资源授权各自承担的责任。
  • 国外:OWASP:日志安全:参考不宜记录的数据、去标识及日志访问保护,组织正文中从输入到日志、记忆和输出的隐私处理链路。

相关面经

7 篇

小红书

国际化开发工程师
校招秋招一面
查看原面经 →
● 敏感字段有没有做脱敏防护?怎么实现的?

小天才

AI 应用工程师(穿戴)
校招秋招一面
查看原面经 →
如何保证 Agent 工具调用安全?

格物致信

Agent 应用开发工程师
一面
查看原面经 →
Agent 工具调用的安全如何保障?隐私数据怎么做脱敏?

拼多多

Agent 应用开发工程师
社招一面
查看原面经 →
agent越权怎么解决

快手

AI Agent 开发
一面
查看原面经 →
工具调用的安全控制是怎么实现的?
展开剩余 2 篇面经

公司未注明

后端开发
查看原面经 →
你的项目支持哪些自研工具封装?如何做权限、命令安全校验?

字节跳动

后端开发工程师
一面
查看原面经 →
项目追问
统一工具系统和权限安全链路是如何设计的?

收录题集

6 个来源,共6 份题集

Agent 核心面试题

阿东玩 AI · AgentGuide · 1 条原题

查看题集 →

人脸模型

Rocky Ding · AIGC-Interview-Book · 1 条原题

查看题集 →

MCP 与工具调用

沉默王二 · 王二讲 Agent · 1 条原题

查看题集 →

Agent开发面试题

摸鱼酱mio · 个人整理 · 1 条原题

查看题集 →

AI Agent 面试 Top50 必刷题

程序员马丁 · ai-handbook · 1 条原题

查看题集 →
展开剩余 1 份题集

相关题目

4 题