尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

AI Agent上线的4个坑和4道防线

AI Agent上线的4个坑和4道防线
📅 发布时间:2026/7/29 0:36:18

2026年7月,AI安全事件扎堆出现。
Claude Cowork智能体被曝可以读写Mac上任意的文件,影响大概50万用户。同一个月,有AI助手被用户诱导着删掉了本地的关键工作文件。OpenClaw的交易智能体因为提示词注入,被人用话术骗走了价值25万美元的加密货币。还有一个开发者,部署了AI助手只做文档处理,一天干掉了5000万Token。

这些事放在一起看,结论很清楚:AI安全已经不是合规部门的事,是每个写AI应用的人都要盯住的工程问题。

下面把AI Agent相关的4个坑和4道防线整理出来。每条防线都配了可以直接用的代码或配置。

4个坑

第一个坑:权限给得太宽。

Agent能干复杂任务是因为你给了它高权限。但权限给出去之后,它分不清"该做什么"和"能做什么"。给它读邮件的权限,它能被诱导去读别的目录。

第二个坑:提示词和用户输入混在一起。

系统指令和用户输入都拼在prompt里,LLM分不清哪个是规则、哪个是用户说的话。用巧妙的话术绕开角色约束,比想象中容易。

第三个坑:用了来源不明的东西。

第三方开源模型、社区技能包、NPM包——你不知道里面有没有夹带私货。ClawHub被审计出341个恶意技能包。

第四个坑:没有配额和监控。

没有单用户上限、没有异常检测、没有硬封顶,一个攻击或死循环就能让账单翻几十倍。

4道防线
防线一:权限收窄
一个任务只给完成它需要的最小权限。任务跑完就收回。

LangChain配置示例(agent.yaml):

yaml

agent:

name: “doc_reader”

permissions:

filesystem: - path: "/workspace/documents/*" access: "readonly" network: allowed_domains: - "api.internal.com"

auto_revoke: true

revoke_after_seconds: 300

OpenAI Assistants配置示例(创建Assistant时指定):

python

assistant = client.beta.assistants.create(

name="Doc Reader", model="gpt-4o", tools=[{"type": "file_search"}], tool_resources={ "file_search": { "vector_store_ids": ["vs_xxx"] } }

)

关键:限制可访问的文件ID列表,而非整个向量存储

自建Agent用容器隔离(docker run):

bash

docker run
-v /workspace/documents:/data:ro \ # 只读挂载

–read-only \ # 容器根文件系统只读

–cap-drop=ALL \ # 移除所有能力

–security-opt=no-new-privileges \ # 禁止提权

my-agent:latest

防线二:输入输出过滤

AI调用前过滤输入,AI返回后过滤输出。

输入过滤(Python,可直接复制):

python

import re

INJECTION_PATTERNS = [

r"(?i)ignore\s*(all\s*)?(previous|prior).*instructions", r"(?i)system\s*(role|prompt|instruction).*override", r"(?i)from\s*now\s*on.*(you are|act as)", r"(?i)new\s*(instruction|rule|task).*follow", r"【系统】|【新指令】", # 中文变种

]

def detect_injection(user_input: str) -> bool:

for pattern in INJECTION_PATTERNS: if re.search(pattern, user_input): return True return False

调用AI之前
if detect_injection(user_input):

return {"error": "检测到可疑输入,已拦截"}

response = call_llm(user_input)

输出过滤(Agent执行命令前检查):

python

DANGEROUS_COMMANDS = [

r"rm\s+-rf\s+/", r"chmod\s+777\s+", r"eval\s*\(", r"exec\s*\(", r"system\s*\(", r"os\.system", r"subprocess\.(call|Popen|run)",

]

def check_output_safety(output: str) -> bool:

for pattern in DANGEROUS_COMMANDS: if re.search(pattern, output): return False return True

Agent要执行命令之前

if not check_output_safety(command_to_execute):

raise Exception("检测到危险命令,已阻止执行")

防线三:高风险操作二次确认

删除文件、发起退款、修改数据库——AI不能直接执行。

确认流程伪代码:

python

def execute_with_confirmation(action, risk_description):

# 1. AI判断该做 if ai.decides_to_execute(action): # 2. 弹确认框 user_confirmed = show_confirmation_dialog( title="AI请求执行高风险操作", message=f"AI建议执行:{action}", risk=risk_description, confirm_button="确认执行", # 小、灰 cancel_button="取消", # 大、亮 require_typing=True # 让用户输入"确认执行"四个字 ) # 3. 用户确认才执行 if user_confirmed: return execute(action) else: return {"status": "cancelled"}

关键设计:

"取消"按钮比"确认"更醒目

让用户手动输入"确认执行"四个字,防止疲劳点击

记录每次确认/取消的审计日志

防线四:配额、告警、硬封顶
三层防护缺一不可。

配额配置(OpenAI风格API):

python

在调用代码中主动限制

class RateLimiter:

def __init__(self, rpm_limit=100, monthly_limit=1000000): self.rpm_limit = rpm_limit self.monthly_limit = monthly_limit self.current_month_usage = 0

def can_call(self, user_id):

检查月度配额 usage = get_usage(user_id) if usage >= self.monthly_limit: raise Exception("月度配额已用完") # 检查RPM if get_rpm(user_id) >= self.rpm_limit: raise Exception("超过每分钟调用限制") return True

告警规则(Prometheus + AlertManager):

yaml

groups:

  • name: ai_usage_alerts

    rules:

    • alert: AIUsageSpike

      expr: rate(ai_calls_total[1h]) > rate(ai_calls_total[24h]) * 10

      annotations:

      summary: “{{ $labels.user }} 调用量突增10倍”

    • alert: AICostApproachingLimit

      expr: ai_cost_total > 500 # 美元

      annotations:

      summary: “本月AI费用已超$500”
      硬封顶(平台侧配置):

大多数AI API平台支持设置硬上限:

python

在代码层面兜底

def call_llm_with_guardrail(request):

try: response = client.chat.completions.create(**request) return response except Exception as e: # 如果连续失败,触发熔断 if get_error_rate() > 0.3: # 30%错误率 send_alert("AI服务错误率过高,触发熔断") raise CircuitBreakerOpen()

今天就能开始的三件小事

第一,找到Agent的权限配置,把"/*"改成具体目录。

第二,把上面的INJECTION_PATTERNS列表复制到代码里,加在调用AI之前。

第三,检查有没有月度配额限制。没有的话,在代码里加一个计数。

如果你也在折腾AI Agent相关的安全实践,欢迎随时交流。

相关新闻

  • 浙江摩托车倒角批发厂家采购参考与合作指南 - 热点品牌推荐
  • 全彩LED电子屏厂家有哪些?2026年本地怎么选更省心 - 热点品牌推荐
  • 2026年韶关物联网软件供应商哪家专业 实用选型指南 - 热点品牌推荐

最新新闻

  • 2026龙华居民搬家上门公司 正规搬迁服务选择实用指南 - 品牌优推
  • 2026年标签印刷品牌厂商哪家可靠 实用选购参考指南 - 品牌优推
  • FlashDB超轻量级嵌入式数据库:从零到精通的完整指南
  • 计算机毕业设计之基于SpringBoot的党员学习交流平台的设计与实现
  • 玄幻仙侠3D漫剧人设分享提示词
  • 河北户外景观工厂 可承接小区景观水景古建一体化施工项目 - 品牌优推

日新闻

  • 金融舆情监测系统:多语言情感分析与实时可视化技术解析
  • QT C++调用Python异常处理:PyBind11实战与跨语言编程指南
  • A-47双麦回音消除模块:主次麦空间分布与差分连接对ENC性能的影响

周新闻

  • 大连理工大学与东京大学联手打造的“主动型AI助手“
  • 170.2026年国家级科研瓶颈:超精密单点金刚石切削(SPDT)光学表面生成
  • SongBloom:革命性歌曲生成框架深度解析——如何通过交织自回归与扩散模型创作完整音乐

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号