随着大语言模型逐步从“回答问题”升级为能够读取文件、调用工具、执行命令和操作业务系统的AI Agent,Prompt Injection,也就是提示词注入,已经不再只是影响模型回答内容的问题。
当AI只能生成文字时,提示词注入可能只是让回答偏离主题;但当AI拥有文件读取、数据库查询、邮件发送、代码修改、系统运维和第三方接口调用权限后,一段隐藏在网页、邮件、文档或者知识库中的恶意指令,就可能进一步引发敏感数据泄露、配置篡改、错误操作甚至业务系统安全事故。
因此,AI Agent安全建设的重点,不应只是研究怎样让模型“识别恶意提示词”,而应从软件架构、权限体系、执行环境和审计机制等多个层面建立纵深防护。
传统SQL注入之所以能够通过参数化查询等方式有效治理,是因为程序代码和业务数据之间存在比较清晰的技术边界。
但提示词注入针对的不是固定程序语法,而是模型对自然语言含义、任务优先级和行为意图的理解过程。
例如,一段外部内容可能表面上是一份普通资料,实际上却包含以下意图:
这些指令可以使用非常自然的语言进行包装,也可以隐藏在网页样式、HTML注释、PDF附件、电子邮件、RAG检索结果或者MCP返回内容中。
不同模型、不同版本甚至不同上下文环境,对同一段注入内容的反应都可能不同。因此,仅依靠关键词、正则表达式或者恶意提示词样本库,很难覆盖所有攻击方式。
真正可靠的安全体系,必须做到:即使模型错误理解了内容,系统仍然能够限制它的权限、阻止高风险行为,并完整记录整个过程。
一次提示词注入要产生实际影响,通常需要经过以下几个环节。
首先,攻击内容被放入外部数据源中,例如网页、文件、邮件、数据库、知识库、第三方插件或者MCP服务。
随后,系统在执行搜索、摘要、分析或者自动化任务时,将这些不可信内容加入模型上下文。
模型读取内容后,可能对原始任务产生错误理解,进而改变工具选择、执行顺序或者任务目标。
最后,当这些错误决策接触到高风险能力时,才会转化为真正的安全后果,例如:
因此,防御提示词注入不能只在输入环节设置一道过滤规则,而应在数据进入、模型判断、工具执行和结果审计的全过程设置防线。
一套较为完整的AI Agent安全体系,可以划分为四个层级:
每一层解决不同阶段的问题,并共同降低攻击成功率。
AI Agent接触到的数据不应被默认视为可信内容。
系统需要根据内容来源设置不同的信任等级。例如,系统内部固定配置、经过审核的业务数据、普通用户输入、外部网页、邮件附件、RAG检索结果以及第三方MCP返回内容,应采用不同的处理策略。
在上下文构建过程中,应记录内容来自哪里、由谁提供、是否经过审核,以及允许模型如何使用。
外部网页、用户上传附件和第三方接口返回值,应明确标记为不可信数据,不能与系统级指令混合处理。
系统应检测并处理以下高风险内容:
上下文越长,外部恶意内容进入模型的机会越大。
实际开发中,不应把整份网页、整封邮件或者全部知识库检索结果直接交给模型。更合理的方式是先由程序完成字段抽取、内容裁剪和风险检查,再将与任务直接相关的部分提交给AI。
输入治理无法彻底识别所有语义攻击,但能够明显减少攻击面。
输入内容进入模型后,还需要通过系统提示词和上下文结构约束模型行为。
这一层的作用类似于给AI建立基本的安全规则,主要包括以下措施。
在系统提示中明确规定AI的角色、工作职责和禁止事项。例如,运维助手只能进行服务器状态查询和经过授权的运维操作,不得根据网页、文件或者第三方返回内容改变自身身份。
系统指令、管理员规则、用户任务和外部数据应采用清晰的层级结构。
外部文档中即使出现“忽略之前的要求”“执行以下命令”等内容,也只能被当作待分析数据,不能被视为新的系统指令。
可以通过XML标签、JSON字段、固定分隔符或者独立消息结构,将系统指令和外部内容分开。
例如:
对于需要连接后端程序执行的场景,应尽量要求模型输出符合固定Schema的JSON数据,而不是直接输出可以执行的自然语言命令。
不过需要注意,系统提示和格式约束仍然属于“软防线”。它们能够降低普通攻击成功率,但不能替代真正的权限控制。

这是整个防御体系中最重要的一层。
即使模型受到提示词注入影响,只要它没有足够权限,或者危险操作必须经过系统校验,攻击就难以造成严重后果。
AI Agent只应获得完成当前任务所必需的权限。
例如,一个用于服务器监控的AI助手,可以拥有CPU、内存、磁盘和服务状态的读取权限,但不应默认拥有删除文件、修改防火墙、重置密码或者执行任意Shell命令的权限。
只读、写入、删除、外发和系统级操作应分别授权,不能通过一个通用接口全部开放。
涉及以下行为时,应强制进入人工审批流程:
审批结果应由后端程序生成结构化事件,而不能仅通过一句“同意执行”来判断,以防攻击内容伪造用户授权。
AI Agent可能通过网页搜索、第三方接口、插件、邮件、Webhook或者命令行工具把数据发送出去。
因此,软件系统需要在外发前进行数据检查,包括:
对于高敏感内容,应自动脱敏或者阻止外发,并要求管理员确认。
MCP、Skill和Plugin能够快速扩展AI Agent能力,但同时也会扩大攻击面。
企业在接入相关组件时,应建立完整的管理机制:
能力越强、权限越大的插件,审批和审计要求也应越严格。
对于需要执行代码、命令或者文件操作的AI Agent,应尽量在隔离环境中运行。
本地工具可以采用操作系统级沙箱、低权限用户和受控网络代理;云端服务可以使用Docker、gVisor或者微型虚拟机。
最低限度应做到:
沙箱的意义并不是保证AI永远不会出错,而是让错误操作被限制在一个可控范围内。
很多系统只记录用户和AI之间的聊天内容,却忽略了AI真正调用了哪些工具、读取了哪些文件以及发送了哪些数据。
对于AI Agent而言,仅记录Prompt远远不够,更重要的是记录Action。
完整的审计体系应覆盖以下事件:
审计平台可以重点识别以下异常:
对于不同风险等级,可以采用不同的响应方式。
轻微异常可增加风险标记并提高后续审批等级;中度异常可切换为只读模式、暂停外发和禁止记忆写入;严重异常则应立即终止任务、停用相关插件、隔离当前会话并保留完整日志。
安全日志、策略判断和熔断开关不应完全由同一个AI Agent控制。
更可靠的设计是由中间件、代理程序或者独立控制器旁路采集日志,并将日志写入AI无权删除或修改的存储系统。
执行面负责完成业务任务,审计控制面负责观察、判断和阻断,两者应相互配合,但不能完全耦合。
贵州数掘科技有限公司长期开展云计算、网络安全、软件系统研发和基础设施运维相关业务,在AI Agent安全应用方面,可以将传统网络安全能力与软件开发能力进行结合。
结合现有的软件研发和网络安全技术基础,数掘科技可围绕企业实际业务建设以下系统能力:
面向Linux、Windows、云服务器和数据中心环境,开发集服务器状态查看、文件上传下载、远程连接、故障诊断、日志分析和AI运维建议于一体的智能运维平台。
平台可以通过权限分级和人工审批机制,区分信息查询、普通运维和高风险操作,防止AI未经授权直接修改生产环境。
围绕提示词注入、敏感数据外发、工具越权和插件风险,建设统一的Agent安全控制中心,实现:
依托数掘科技在CDN加速、WAF防护和网络安全方面的技术能力,可在AI应用入口层对恶意访问、异常请求、接口滥用和自动化攻击进行识别。
通过CDN、WAF、API网关与AI Agent审计系统联动,可以形成从网络入口、应用接口到模型执行层的多层防护体系。
结合智能告警、链路分析、风险管理、日志分析和数据中心运行监测等软件研发经验,数掘科技可以为企业定制AI行为审计、服务器安全监测和异常操作预警系统。
相关平台不仅记录AI说了什么,还能够记录AI访问了什么、调用了什么、修改了什么以及向哪里发送了数据,为安全事件分析和责任追溯提供依据。
针对政府、医疗、教育、金融、数据中心和互联网企业的不同业务场景,数掘科技可提供从需求分析、系统架构设计、前后端开发、接口对接、部署实施到后期运维的一体化软件开发服务。
在引入AI能力的同时,将账号权限、数据安全、操作审批、日志审计和网络防护纳入系统整体设计,避免出现“功能已经上线,安全后期再补”的问题。
提示词注入并不存在一种能够彻底解决所有问题的单一技术。
输入过滤可以减少恶意内容进入上下文,但难以识别所有语义伪装;系统提示可以规范模型行为,但无法形成绝对可靠的权限边界;权限控制和执行沙箱可以限制实际损失,却不能完全避免模型判断受到干扰;审计系统能够发现问题、及时止损和还原过程,但不能替代前置防护。
真正有效的AI Agent安全体系,应让攻击者在内容进入、模型理解、工具调用、数据外发和执行落地的每一个阶段都遇到限制。
对于软件开发企业而言,AI安全也不应只停留在提示词设计层面,而应落实到系统架构、接口权限、执行环境、日志审计和安全运营之中。
贵州数掘科技有限公司将软件研发、云计算基础设施、CDN与WAF防护、智能监控和网络安全能力相结合,可为企业建设更加安全、可控、可审计的AI应用与智能运维平台,让AI不仅能够完成任务,更能够在明确的权限和安全边界内完成任务。