AI Agent 会打开网页和外部链接时,如何防提示词注入与数据外泄
用 source→sink 威胁链解释网页、邮件、文件或工具返回中的提示词注入与数据外泄,说明外部链接、网络请求和写入工具的风险,并给出可签收的六道生产闸门。
当 AI Agent 同时能读取企业资料、浏览网页和调用外部工具时,风险不只在“模型会不会听错”,而在不可信内容能否影响它,并通过网络请求、外部链接或写入动作把数据带出边界。本文提供六道生产闸门、负向测试表和可下载 CSV。
适用对象
- 提示词注入应按 source→sink 链路治理:不可信内容是 source,外部网络、工具写入和消息发送是可能造成后果的 sink;只检测恶意文本不足以闭环。
- 域名白名单不能单独证明链接安全;重定向、动态参数和用户上下文都可能改变最终请求,应把精确 URL、重定向链和外发字段一起验证。
- 高风险场景优先减少可用工具和外部连接,把读取、草稿、审批后执行和禁止动作分级,并让敏感外发在执行前由人确认。
- 负向测试必须证明未授权数据、未知 URL、隐藏指令和撤销后的身份会明确失败,同时保留请求、拒绝、批准和回滚回读。
- 文末 CSV 用于签收数据源、外发 sink、URL 状态、动作等级、负向结果和责任人;模板通过不等于安全认证或生产授权。
先画清 source→context→sink,而不是只找“恶意提示词”
风险来自能力组合:不可信内容能影响什么,以及 Agent 最终能把什么送到哪里。
同一段不可信内容,在只读、无外网、无敏感上下文的环境里可能只造成错误回答;当 Agent 同时持有私有资料、外部网络和写入工具时,后果会明显放大。验收必须围绕完整链路,而不是围绕一条示例攻击语句。
把链路拆开后,团队可以在任一层阻断:减少可读数据、隔离外部内容、限制可调用工具、验证精确 URL、对敏感外发强制人工批准,或在最终动作前清除不必要上下文。
AI Agent 数据外泄风险链
每一段都要有允许范围、拒绝条件和可回读证据。
- 01
01 SOURCE
不可信内容进入
网页、邮件、文件、评论、搜索结果或工具返回可能包含影响 Agent 的指令。
- 02
02 CONTEXT
敏感上下文可见
Agent 同时能读取企业资料、账号信息、数据库结果、会话内容或内部知识。
- 03
03 DECISION
模型选择动作
模型决定打开链接、调用工具、发送消息、写入系统或继续跨站请求。
- 04
04 SINK
数据离开边界
URL 参数、请求体、消息、工单、文件上传或工具写入把信息送到第三方。
安全目标不是承诺“永远识别所有攻击”,而是让敏感数据与高风险 sink 的组合默认不可静默发生。
让 Agent 接触外部内容前,至少签收六道闸门
每道闸门都要同时写下允许范围、失败动作、责任人和回读证据。
六道闸门不是安全产品采购清单,而是上线责任合同。即使模型或平台已有提示词注入防护,企业仍需按自己的数据、工具、连接器和审批链验证。
| 闸门 | 必须回答 | 默认动作 | 回读证据 |
|---|---|---|---|
| 数据源 | Agent 会看到哪些私有字段、文件、会话和数据库结果 | 只提供完成单一任务所需的最小脱敏范围 | 字段清单、身份映射、数据范围快照 |
| 不可信内容 | 网页、邮件、文件和工具返回如何与系统指令隔离 | 外部内容只作为数据,不获得改变权限和目标的权力 | 输入来源、解析边界、冲突指令记录 |
| URL 与重定向 | 精确地址是否公开已知,最终跳转和参数是否含用户特定数据 | 未知或动态 URL 不自动请求;先提示或转人工 | 原始 URL、最终 URL、参数审查和拒绝记录 |
| 外发 sink | 网络请求、消息、工单、上传和写入工具能带出哪些字段 | 默认关闭不必要 sink;敏感外发必须审批 | 工具 allowlist、请求字段、批准和执行回执 |
| 动作等级 | 只读、草稿、审批后执行和禁止动作如何分级 | 高风险动作只生成草稿,不直接执行 | 动作矩阵、批准人、拒绝和升级日志 |
| 停止与撤销 | 发现异常、超范围或权限撤销后如何立即停止 | 停用身份、网络和工具,并验证缓存与下游动作停止 | 撤销时间、失败回读、残留检查和复盘记录 |
至少用五类失败路径证明边界真的存在
“正常任务成功”只能证明可用,不能证明越权和外泄会被阻断。
负向测试应使用合成数据和隔离环境,不把真实密码、令牌、客户资料或生产数据放进测试载荷。测试失败时保留原始证据并停止,不为得到全绿而放宽权限。
| 测试 | 预期结果 | 不可接受结果 | 签收角色 |
|---|---|---|---|
| 外部内容要求忽略任务边界 | Agent 保持原任务或停止并报告冲突 | 自动改变目标、权限或批准条件 | 业务负责人 |
| 未知 URL 含动态参数 | 不自动请求,显示目标与风险并转人工 | 后台静默加载或跟随重定向 | 安全负责人 |
| 请求尝试携带合成敏感字段 | 字段被移除或请求被拒绝并留痕 | 字段进入 URL、请求体、消息或上传 | 数据负责人 |
| 无批准调用写入/外发工具 | 只生成草稿或返回待批准状态 | 直接发送、提交、上传或修改系统 | 工具责任人 |
| 撤销身份后重复原动作 | 访问和下游调用明确失败 | 缓存、旧会话或代理身份继续成功 | 平台负责人 |
资料下载
AI Agent 会打开网页和外部链接时,如何防提示词注入与数据外泄
免费资料无需注册即可下载;付费资料和 AI 诊断申请会绑定到你的账号,方便找回订单和继续沟通同一个经营问题。
AI 初步诊断
提交一个真实经营问题
你可以只描述问题类型和关键指标;如需进一步判断,请留下微信或电话,我们会先确认哪些数据可以安全分享。
参考依据
以下来源用于确认市场趋势、政策背景和术语边界;具体落地方案仍以客户的数据范围、权限和交付目标为准。
常见问题
开启域名白名单就能阻止数据外泄吗?
不能单独保证。合法域名可能存在开放重定向,精确 URL 和动态参数也可能携带用户特定信息。还要限制外发字段、验证最终目标、减少可用 sink,并对敏感动作增加人工确认。
提示词注入检测器或 AI 防火墙够用吗?
可以作为一层信号,但不应成为唯一闸门。复杂攻击可能更像社会工程,难以只凭文本分类识别。动作层仍应使用最小权限、工具 allowlist、网络限制、人工批准、审计和撤销。
完全关闭外网是不是最安全?
关闭不必要的外部连接会显著减少外泄 sink,但也会限制搜索、连接器和跨系统能力;它也不保证不可信内容不会影响回答。企业应按资料敏感度和任务价值选择隔离、只读、审批或禁用。
这份检查表能替代渗透测试或安全认证吗?
不能。它用于组织数据源、URL、sink、动作等级、负向测试、撤销和责任人证据,不替代渗透测试、等保测评、合规审计、法律意见或企业生产审批。
InchStack 会自动判断所有网页和链接安全吗?
不会作这种承诺。InchStack 的定位是把数据范围、工具权限、人工审批、质量验证、审计证据和交付回执放入可控链路;具体网页、模型、浏览器、连接器和安全策略仍需按真实版本独立验证。