当前位置: 首页 > article >正文

Agent 工程化系列 · 第 13 篇_Agent安全与可靠性如何保障

Agent 工程化系列 · 第 13 篇Agent 的安全与可靠性如何保障Agent 最危险的不是回答错而是执行错开篇定位前面我们已经讲过LLM 是能力核心Agent 是执行系统Function Call 让模型能够调用工具MCP 负责连接工具生态A2A 负责 Agent 之间协作Memory 让 Agent 具备连续上下文。到了这一篇要进入一个更现实的问题Agent 能不能安全、稳定地上线很多 Agent Demo 看起来很厉害会查资料、会写代码、会调用工具、会自动执行任务。但一旦进入真实业务环境问题马上变得复杂。因为 Agent 不只是回答问题它可能会读文件、写数据库、发邮件、调接口、改代码、下单、审批、甚至操作生产系统。所以这篇不是讲“如何让 Agent 更聪明”而是讲另一个工程问题如何让 Agent 在会做事的同时不乱做事目录01 为什么 Agent 比 Chatbot 更危险02 Agent 的风险来自哪里03 第一条防线权限最小化04 第二条防线工具调用前后校验05 第三条防线Human-in-the-loop06 可靠性不是安全但同样重要07 一个可落地的安全可靠性架构08 最后总结01 为什么 Agent 比 Chatbot 更危险普通聊天机器人回答错了最多是给了一段错误信息。但 Agent 不一样。Agent 通常连接了工具和外部系统一旦判断错可能真的会执行动作。比如用户只是想让它“整理一下文件”它可能误删目录。用户只是想让它“总结邮件”它可能把隐私内容转发出去。用户只是想让它“修复一个问题”它可能直接改动生产配置。这就是 Agent 和普通 LLM 应用最大的安全差异。一个核心判断安全风险不是从“回答”开始的而是从“行动”开始的。只要 Agent 能调用工具、访问文件、写数据库、发送消息、执行命令它就不再只是一个文本生成系统而是一个带执行能力的软件系统。02 Agent 的风险来自哪里Agent 的风险通常不是单点问题而是一条链路问题。一个用户输入、一段网页内容、一个工具返回结果、一次错误权限配置都可能影响 Agent 下一步动作。常见风险可以分成五类。第一类提示词注入提示词注入就是外部输入改变模型行为。它可能来自用户直接输入也可能藏在网页、邮件、PDF、图片、代码注释、工具返回结果里。这类风险对 Agent 特别危险因为 Agent 会把外部内容放进上下文再基于这些内容决定下一步动作。OWASP 对 Prompt Injection 的定义也强调攻击者可以通过输入改变 LLM 的行为或输出甚至影响关键决策、诱导未授权访问和连接系统中的命令执行。第二类权限过大很多 Agent 出问题不是因为模型太差而是因为系统给了它太大的权限。本来只需要读文件却给了读写删权限。本来只需要查数据库却给了更新和删除权限。本来只需要在测试环境执行却给了生产环境访问权限。这就是 OWASP 所说的 Excessive Agency功能过多、权限过大、自治程度过高都会让 LLM 系统执行破坏性动作。第三类工具污染工具返回的内容也不一定可信。比如搜索网页返回了一段隐藏提示词邮件内容里藏了“忽略前面的规则”MCP Server 返回了带指令的文本。如果 Agent 不区分“数据”和“指令”就可能把工具结果里的恶意文本当成新的系统命令。第四类敏感信息泄露Agent 经常需要访问用户文件、企业知识库、邮件、客户数据和系统日志。如果没有权限隔离、脱敏、输出检查它可能把不该展示的信息带到回答里或者传给不该调用的外部工具。第五类执行循环失控Agent 不是一次调用就结束它可能循环执行思考、调用工具、读取结果、再调用工具。如果没有终止条件、超时、预算和错误收敛机制就会出现无限循环、成本飙升、接口打爆、任务卡死。03 第一条防线权限最小化Agent 安全的第一原则不是“让模型更听话”而是不给它不该有的能力。工程上要先把能力拆开再按任务授权。比如文件工具不应该只有一个“操作文件”的大工具而应该拆成读取文件、列目录、写入新文件、修改文件、删除文件。其中读取可以低风险删除必须高风险审批。再比如数据库工具不应该让 Agent 直接拿一个高权限账号连接数据库。查询类任务只给 SELECT 权限更新类任务需要单独授权删除类任务最好不要直接暴露给 Agent。权限最小化的四个层次层次要控制什么工程做法工具最小化只暴露必要工具不需要的工具不注册给 Agent功能最小化工具只做一件事不用一个万能 Shell 代替专用工具权限最小化只给必要权限读写分离、按用户身份执行自治最小化高风险动作不自动执行删除、发送、付款、上线必须审批这几个原则听起来朴素但非常关键。因为一旦模型判断错真正决定损失大小的往往不是模型本身而是它能碰到什么系统、能做什么动作。04 第二条防线工具调用前后校验只做权限控制还不够。Agent 调工具之前要校验参数工具执行之后也要校验结果。OpenAI Agents SDK 的 Guardrails 文档把防护分成输入、输出和工具相关的校验。其中 Tool Guardrails 可以在函数工具执行前后运行执行前可以跳过、替换结果或触发中断执行后也可以替换输出或触发中断。这对 Agent 很重要。因为很多风险不是发生在最终回答而是发生在工具调用那一刻。工具调用前要检查什么第一参数格式是否合法。比如 city 是否是字符串amount 是否是正数file_path 是否在允许目录内。第二参数内容是否越权。比如用户只能访问自己的订单却请求查询别人的订单。第三动作风险等级是否过高。比如 delete、send、pay、deploy、update_permission 这类动作不能静默执行。第四是否存在注入风险。比如 Shell 命令、SQL 参数、URL、文件路径都要做白名单和转义处理。工具执行后要检查什么第一工具返回是否包含敏感信息。第二返回结果是否可信。第三是否包含新的恶意指令。第四是否需要摘要、脱敏、截断后再给模型。一个重要原则不要把所有安全责任都压到 Agent Prompt 里。Prompt 可以提醒模型不要越权但真正可靠的安全边界应该放在代码、权限、网关、沙箱和审批流程里。05 第三条防线Human-in-the-loopHuman-in-the-loop 不是为了降低自动化水平而是为了把高风险动作控制在可接受范围内。一个成熟 Agent 系统应该区分三类动作。第一类是低风险动作可以自动执行。比如读取公开资料、查询天气、生成草稿、总结文档。第二类是中风险动作可以自动准备但需要用户确认。比如修改文件、创建日程、发送内部消息。第三类是高风险动作必须强制审批。比如删除数据、外发邮件、付款、发布生产环境、修改权限、执行 Shell 命令。OpenAI 的 Guardrails and Human Review 文档中也描述了类似的审批生命周期工具调用需要审查时系统记录审批中断返回 interruptions 和可恢复 state应用批准或拒绝后再从同一 state 继续运行。这说明审批不是“重新开始一次对话”而是 Agent 执行链路中的一个状态暂停点。审批界面应该展示什么不要只给用户一个“是否同意”的按钮。审批界面至少要展示Agent 准备做什么动作使用了哪些参数会影响哪些对象是否可撤销如果不批准替代方案是什么这次动作由哪个用户、哪个任务、哪个工具触发只有这样用户才是在做有效审批而不是机械地点“同意”。06 可靠性不是安全但同样重要安全解决的是Agent 不要做危险的事。可靠性解决的是Agent 做事时不要卡死、乱重试、重复执行、失败不可恢复。这两者经常被混在一起但工程上要分开设计。Agent 可靠性的六个关键点第一超时每次模型调用、工具调用、外部 API 调用都要有超时。没有超时Agent 就可能一直等下去。第二重试重试只能用于临时失败比如网络抖动、限流、服务短暂不可用。不能对所有失败都盲目重试。比如参数错误、权限错误、业务规则不满足重试多少次都没用。第三幂等只要动作有副作用就要考虑幂等。比如创建订单、发送邮件、写数据库、触发流程如果 Agent 因为超时重试不能造成重复下单、重复发送、重复扣款。第四状态机复杂任务不要只存在模型上下文里。应该把任务拆成明确状态待开始、执行中、等待审批、已完成、失败、已回滚。这样任务失败后才能知道卡在哪一步。第五回滚不是所有动作都能回滚但至少要知道哪些动作可以撤销哪些动作不可撤销。不可撤销动作更应该强制审批。第六日志与追踪Agent 每一次计划、工具调用、审批、失败、重试、输出都应该留下日志。否则一旦出问题你很难回答三个问题它为什么这么做调用了什么工具影响了哪些数据07 一个可落地的安全可靠性架构如果把前面的内容落成架构可以拆成七层。第一层是输入边界负责输入清洗、风险识别、上下文来源标记。第二层是 Agent / Planner负责理解目标、制定计划、选择工具。第三层是 Policy Engine负责判断当前用户、当前任务、当前工具调用是否有权限。第四层是 Tool Gateway负责参数校验、工具白名单、限流、超时、重试、审计和审批触发。第五层是 Sandbox / External System负责把高风险动作限制在可控环境内。第六层是 Output Checker负责敏感信息过滤、格式校验、结果一致性检查。第七层是 Observability负责日志、指标、追踪、评估和告警。最小可落地版本如果你现在只是做一个早期 Agent 产品不一定要一次性做完所有能力。但至少应该先做到这五件事工具分级读、写、删、发、付、执行命令分开权限隔离按用户、项目、租户控制访问范围高危审批删除、外发、付款、上线必须暂停确认状态持久化复杂任务能暂停、恢复、重试日志审计每次工具调用都能追踪到用户、参数和结果这五件事做完Agent 才开始具备工程上线的基础。08 最后总结Agent 的安全与可靠性不是给模型多写几句“请谨慎操作”。真正的安全来自边界设计最小权限、工具校验、风险分级、人工审批、沙箱隔离、输出检查、日志审计。真正的可靠性来自执行设计超时、重试、幂等、状态机、checkpoint、回滚、可观测性。如果说前面几篇讲的是 Agent 如何获得能力那么这一篇讲的是能力必须被关进工程边界里Agent 才能从 Demo 走向生产。下一篇我们会继续讲一个和 Agent 落地密切相关的问题RAG 和 Agent 到底是什么关系。参考技术资料OpenAI Agents SDK - Guardrails输入、输出和工具级 Guardrails 的执行边界与触发机制。OpenAI API - Guardrails and Human Review高风险工具调用的审批中断、state 恢复和继续执行机制。OWASP Top 10 for LLM ApplicationsPrompt Injection、Insecure Output Handling、Excessive Agency 等 LLM 应用风险。OWASP LLM06:2025 Excessive Agency功能过多、权限过大、自治过高会导致破坏性动作。Anthropic - Claude Code Security权限系统、沙箱、网络请求审批、提示词注入防护和审计建议。Anthropic - Mitigating Prompt Injection in Browser Use浏览器 Agent 面临更大的不可信内容攻击面提示词注入仍不是已解决问题。

相关文章:

Agent 工程化系列 · 第 13 篇_Agent安全与可靠性如何保障

Agent 工程化系列 第 13 篇 Agent 的安全与可靠性如何保障? Agent 最危险的不是回答错,而是执行错开篇定位 前面我们已经讲过:LLM 是能力核心,Agent 是执行系统;Function Call 让模型能够调用工具;MCP 负责…...

告别手动!用Allegro Testprep脚本批量处理测试点,效率提升200%

Allegro Testprep脚本自动化:高密度PCB测试点优化实战指南 在高速PCB设计领域,测试点布局常常成为制约项目进度的隐形瓶颈。当面对超过500个网络的高密度主板时,传统手动调整测试点的方式会让工程师陷入无尽的重复劳动——据统计,…...

如何将AI 3D模型生成工具集成到你的开发工作流

如何将AI 3D模型生成工具集成到你的开发工作流 【免费下载链接】Unique3D [NeurIPS 2024] Unique3D: High-Quality and Efficient 3D Mesh Generation from a Single Image 项目地址: https://gitcode.com/gh_mirrors/un/Unique3D 在当今快速发展的数字内容创作领域&…...

从蓝牙4.2到5.4:广播包格式的‘进化史’与向后兼容那些坑

蓝牙广播协议演进史:从4.2到5.4的兼容性实战指南 当你的智能手表突然无法被旧款手机发现,或者工业传感器在新版本固件下出现广播丢包——这些看似简单的连接问题背后,往往隐藏着蓝牙协议版本迭代带来的兼容性暗礁。作为无线通信领域的"毛…...

Kubernetes轻量级服务网格Cetus:核心流量治理与Sidecar代理实践

1. 项目概述:一个为Kubernetes而生的智能代理如果你正在管理一个规模不小的Kubernetes集群,并且对服务网格(Service Mesh)的复杂性望而却步,或者觉得像Istio这样的“巨无霸”方案有些杀鸡用牛刀,那么你很可…...

拆解进销存流程的5大核心功能,手把手教你规范企业的进销存流程

在现代企业的数字化管理中,规范进销存流程是提升运营效率、降低管理成本的关键所在。一个科学、严谨的进销存流程不仅能帮助企业实现采购、销售与库存数据的实时同步,还能有效解决账实不符、库存积压等长期痛点。本文将深入拆解进销存流程中的5大核心功能…...

电赛小白也能搞定的二维云台:用K210+舵机实现色块追踪(附完整代码)

电赛入门实战:K210舵机构建高响应色块追踪云台 第一次参加电子设计竞赛时,面对复杂的视觉控制项目总有种无从下手的感觉。直到发现用K210开发板配合普通舵机就能搭建出反应灵敏的二维云台系统,整个过程就像拼乐高一样充满乐趣。本文将带你从零…...

LAMMPS效率翻倍秘籍:从单机到并行,你的MPICH配置真的对了吗?

LAMMPS效率翻倍秘籍:从单机到并行,你的MPICH配置真的对了吗? 在分子动力学模拟领域,LAMMPS因其开源特性和强大的计算能力成为研究者的首选工具。然而,许多用户在使用过程中常遇到一个令人沮丧的现象——明明配置了多核…...

别再死记硬背真值表了!用Verilog手搓半减器/全减器,从波形图反推逻辑门设计

从波形图反推逻辑门:Verilog减法器的逆向工程实践 数字电路初学者常陷入"真值表→逻辑表达式→电路实现"的传统学习路径,却难以理解信号流动的本质。本文将以波形图逆向分析为核心,带您用Verilog实现半减器与全减器,掌握…...

基于Go与Croc构建Telegram文件传输机器人:原理、部署与优化

1. 项目概述:一个基于Go的轻量级文件传输机器人 如果你经常需要在不同的设备、服务器或者聊天群组之间快速分享文件,并且对安全性、速度和便捷性有一定要求,那么你很可能已经厌倦了那些需要注册账号、上传到第三方服务器、或者操作繁琐的命令…...

为什么你的ElevenLabs广告完播率低于行业均值37%?——专业声学工程师用频谱图还原真相

更多请点击: https://intelliparadigm.com 第一章:ElevenLabs广告配音的核心声学失效诊断 当ElevenLabs生成的广告语音出现“机械感过强”“情感断层”或“语调塌陷”等现象时,问题往往并非源于模型随机性,而是底层声学特征在合…...

利用 Taotoken 多模型能力为 AIGC 应用构建降级容灾方案

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 利用 Taotoken 多模型能力为 AIGC 应用构建降级容灾方案 当你的 AIGC 应用从内部测试走向面向真实用户的生产环境时,服…...

修音翻车现场实录:用Melodyne选择工具时,这3个坑我劝你别踩

Melodyne修音避坑指南:选择工具三大致命操作误区解析 第一次用Melodyne修人声时,我对着屏幕上的波形信心满满地拖动音符,结果导出的音频听起来像电子合成器故障——音高扭曲、节奏支离破碎。后来才发现,问题都出在那个看似简单的…...

量子电路反编译与遗传编程在量子计算中的应用

1. 量子电路反编译:从黑箱到透明设计的革命性跨越量子计算正经历着从实验室走向实际应用的关键转型期。在这个被称为"嘈杂中等规模量子"(NISQ)的时代,量子架构搜索(QAS)已成为设计高效量子算法的…...

CentOS 7/8下Nginx报`unknown directive “stream“`?可能是你的安装方式不对(附完整修复流程)

CentOS下Nginx报unknown directive "stream"的深度解析与解决方案 当你在CentOS系统上配置Nginx的stream模块时,突然遇到unknown directive "stream"的错误提示,这往往意味着你的Nginx安装并不完整。这个问题看似简单,背…...

5分钟掌握猫抓扩展:浏览器视频下载终极指南

5分钟掌握猫抓扩展:浏览器视频下载终极指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 你是否经常遇到精彩的在线视频却无法下载保…...

终极Windows离线语音识别指南:打造企业级隐私安全的实时字幕系统

终极Windows离线语音识别指南:打造企业级隐私安全的实时字幕系统 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 在数字化办公和远程协作日益普及的今天,实时语音转文字技术已成为提升工作效…...

数据标准化(拟合的时候使用非常重要)

一、函数作用这个函数是数据标准化(Z-Score 标准化) 函数,专门对两组数据 x_raw(自变量)做标准化处理,并返回标准化后的数据 记录标准化参数的对象。具体做了这 4 件事:计算 x_raw 的均值和标准…...

2025最权威的AI辅助写作助手推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek AI辅助写作工具正深刻改变着学术研究的传统范式,这是随着人工智能技术飞快发展而…...

告别手动复制粘贴!用Matlab脚本一键搞定A2L与ELF文件合并(附完整.m文件)

汽车电控标定工程师的自动化利器:Matlab脚本实现A2L与ELF文件智能合并 在汽车电子控制单元(ECU)开发过程中,标定工作是不可或缺的关键环节。传统的手动操作方式不仅效率低下,还容易引入人为错误。本文将详细介绍如何利…...

Obsidian Image Toolkit:终极图像管理解决方案

Obsidian Image Toolkit:终极图像管理解决方案 【免费下载链接】obsidian-image-toolkit An Obsidian plugin for viewing an image. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-image-toolkit Obsidian Image Toolkit 是一款专为 Obsidian 用户…...

量子强化学习与混合架构在工业控制与缺陷检测中的实践

1. 量子强化学习在工业控制中的实践突破量子强化学习(QRL)作为传统强化学习的量子化延伸,正在工业自动化领域展现出独特优势。以移动通信基站天线选择为例,传统方法需要精确追踪手机运动轨迹,而QRL通过训练智能体基于历…...

Hyper-V DDA图形工具:告别PowerShell命令行的设备直通新时代

Hyper-V DDA图形工具:告别PowerShell命令行的设备直通新时代 【免费下载链接】DDA 实现Hyper-V离散设备分配功能的图形界面工具。A GUI Tool For Hyper-Vs Discrete Device Assignment(DDA). 项目地址: https://gitcode.com/gh_mirrors/dd/DDA 还在为Hyper-…...

进化智能体实战:从基因编码到种群优化的完整实现指南

1. 项目概述:从蓝图到智能体,一次开源协作的深度实践最近在开源社区里,一个名为planck-lab/hermes-evolving-agents-public-blueprint的项目引起了我的注意。乍一看这个标题,它像是一个技术蓝图或公开的设计文档,但深入…...

3步搞定Linux启动盘:Deepin Boot Maker完全使用指南

3步搞定Linux启动盘:Deepin Boot Maker完全使用指南 【免费下载链接】deepin-boot-maker 项目地址: https://gitcode.com/gh_mirrors/de/deepin-boot-maker 在Linux系统安装和维护过程中,启动盘制作是一个看似简单却充满挑战的环节。传统命令行工…...

【NotebookLM企业级权限治理白皮书】:为什么87%的AI协作项目在上线30天内遭遇越权访问?

更多请点击: https://intelliparadigm.com 第一章:NotebookLM企业级权限治理的底层逻辑 NotebookLM 的企业级权限治理并非简单叠加 RBAC(基于角色的访问控制),而是构建在「数据主权可追溯、策略执行零信任、上下文感知…...

数字家谱系统架构设计:从关系数据库到可视化交互的完整实现

1. 项目概述:从“家谱”到“数字家谱”的跨越最近在GitHub上看到一个挺有意思的项目,叫qiaoshouqing/familytree。光看名字,你可能会觉得,这不就是个家谱吗?没错,它的核心确实是家谱,但如果你把…...

Arm Corstone SSE-300内存架构与安全设计解析

1. Arm Corstone SSE-300内存架构深度解析在嵌入式系统设计中,内存映射是连接软件与硬件的关键纽带。作为Arm最新推出的子系统解决方案,Corstone SSE-300通过精心设计的内存架构,为开发者提供了高性能、高安全性的开发平台。我在实际项目中使…...

别死记硬背!用‘小明小红在操场’的JavaScript题,彻底搞懂this、call和箭头函数

从操场运动到代码执行:用生活场景拆解JavaScript的this与箭头函数 操场上的小明和小红正在运动,这个看似简单的场景却暗藏JavaScript中this指向的玄机。当我们把人物动作转化为代码时,this的指向问题往往成为初学者的"绊脚石"。本文…...

紧急通知:NotebookLM v2.3将移除手动标签覆盖功能!立即执行这5项存量标签加固操作,否则知识链永久断裂

更多请点击: https://intelliparadigm.com 第一章:NotebookLM标签管理方法 NotebookLM 原生不提供显式的“标签(Tags)”UI 控件,但可通过其底层的 source 元数据机制实现语义化标签管理。核心思路是将标签作为自定义…...