Claude Code 学习站

CCA-F 练习题库· Tool Design & MCP Integration

什么是 'tool result injection' 攻击,又该如何缓解?

  1. Atool result 中的恶意数据内嵌了指令,从而改变 agent 的行为;缓解方式是把 tool result 当作不可信数据,并在据其行动之前校验输出
  2. B攻击者用高并发请求淹没工具端点,直到配额耗尽、正常调用无法再被服务;缓解方式是按客户端限流
  3. C工具返回的值与它声明的 schema 类型不符,例如本该是数字的地方给了字符串;缓解方式是拿该 schema 校验返回结果
  4. D网络路径上的攻击者在传输途中截获工具调用,在其到达服务端前读取或改写参数;缓解方式是 TLS 加证书固定

正确答案:A

解析

Tool result injection 是间接 prompt injection 的一种形式:嵌在工具输出(网页、数据库记录、文件内容、API 响应)中的恶意数据带有类似指令的字符串,agent 可能会把它们当作合法指示去执行,从而改变自身行为。

缓解方式是把每一条 tool result 都当作不可信数据——绝不把结果中的字符串解释或执行为指令——并在据其行动之前对输出做校验/净化,使数据通道与控制通道保持分离。

  • A说的正是这一点。干扰项描述的都是不相关的攻击,并配上不相关的防御。
  • B是 DoS 洪泛攻击(限流)。
  • C是数据类型/schema 不匹配(schema 校验)。
  • D是中间人截获(TLS)。这些没有一个属于指令注入攻击。

延伸阅读

本题为本站自有原创练习题,非任何官方考试内容;解析对照 Anthropic 公开文档撰写, 如与最新文档不符请以官方为准。想在限时环境下检验水平,可参加 模拟考(题目与本页题库不重叠)。