AI护栏与提示注入防护
在模型前后加一层可编程的检查与拦截:输入过滤、越权工具调用阻断、输出合规校验与红队回归。OWASP把提示注入列为LLM应用头号风险,NeMo Guardrails、LlamaFirewall、Guardrails AI、Bedrock Guardrails级方案是2026年AI应用上线前的必装件
工具界面
交互式工具即将上线
功能特点
- ✓ 输入侧识别直接与间接提示注入,阻断藏在网页、邮件、RAG文档里的恶意指令
- ✓ 工具调用侧做最小权限与白名单校验,转账、发信、删库这类危险动作强制人工确认
- ✓ 输出侧做PII、合规与品牌安全校验,命中即改写、打码或拒答
- ✓ 声明式规则(对话流、话题边界、动作许可)与分类器模型叠加,兼顾可解释与识别率
- ✓ 与CI/CD集成,用红队用例做回归,攻击手法演进时加规则即可快速响应
使用步骤
- 先做威胁建模:列出你最怕的三类越权动作与数据外泄路径,别一上来就堆规则
- 选方案:自建用NeMo Guardrails或Guardrails AI,托管用云厂商护栏,扫描与红队用garak、Promptfoo
- 把护栏放在网关层,统一覆盖所有模型与客户端,避免在十几个应用里各写一套
- 建红队用例集并定期回归,持续跟踪拦截率、误杀率与延迟开销,规则要能随攻击演进更新
常见问题
什么是AI护栏?
一类在模型输入、工具调用与输出三个环节做检查、改写或拦截的运行时控制层。它不改造模型本身,而是在模型外面加规则与分类器:输入侧拦恶意指令,动作侧限制权限,输出侧过滤不合规内容。目标是让大模型应用的行为落在业务可接受的边界内,出问题时能解释、能追溯、能快速收紧。
提示注入到底有多严重?
它是公认的头号风险:OWASP把Prompt Injection列为LLM应用风险清单的LLM01,与LLM应用安全并列的核心议题。OWASP GenAI LLM Top 10的2026版已于2026年8月4日发布,官方说明与列表见 https://owasp.github.io/www-project-top-10-for-large-language-model-applications 。攻击者可以覆盖系统指令、泄露数据、触发预期外的工具调用,而间接注入尤其危险——恶意指令可以藏在智能体抓取的网页、邮件或文档里,用户毫无察觉。
有哪些成熟的开源方案?
按用途分:可编程护栏首选NVIDIA NeMo Guardrails,能在对话流、话题、检索、工具调用与运行时安全上定义规则;结构化校验用Guardrails AI,主打输入输出的校验与约束;提示注入检测可用Llama Prompt Guard这类专用分类器;面向智能体安全可看LlamaFirewall;漏洞扫描用garak,CI/CD红队回归用Promptfoo。方案横评见 https://www.turingpost.com/p/aisecuritytools
护栏会不会拖慢响应、推高成本?
会,但可以可控。分类器式护栏通常是轻量小模型,单次延迟在毫秒级;真正贵的是把每个请求都送去跑一次大模型评审。实用做法是分层:用便宜的正则与规则拦明显攻击,用小分类器拦可疑请求,只有高风险动作或高敏数据才触发重检查。另外把护栏请求集中到网关,能复用连接与缓存,比在每个应用里重复实现更省。
为什么不能只做会话级规则,要在网关层做?
因为同一个MCP服务或内部API会被员工、定时任务与公司助手同时访问,它们不该拿同一张身份证。会话级规则只能管住单个应用内部,跨应用、跨智能体的越权它看不到。把护栏放到网关层,才能对所有模型与客户端统一施加策略、统一记录审计日志,并在发现新攻击手法时一次生效而不是逐应用改代码。
怎么衡量护栏到底有没有用?
看四个数:攻击拦截率(用红队用例集测)、误杀率(正常请求被拦的比例)、延迟与成本增量、以及逃逸样本的复盘速度。上线前必须有一批固定的红队用例做回归基线,每次模型或规则变更都重跑一遍;上线后把拦截事件接入SIEM与业务风控,看真实攻击是否被拦住。没有基线的护栏等于没有护栏。