安小虎 發表於 2025-7-19 13:20:00

智能体安全实践

<blockquote>
<p>学习:智能体安全实践-360</p>
</blockquote>
<h3 id="概述">概述</h3>
<p>随着大模型推理能力提升,智能体(Agent)因其环境感知、自主决策和任务执行能力,在应用场景快速扩展的同时也暴露了显著的安全风险。报告由360漏洞研究院与清华大学合作,针对<strong>智能体全生命周期开展安全</strong>研究,覆盖<u>开发框架、生态协同、沙箱隔离</u>三大场景,挖掘20+开源项目漏洞(含15个CVE),揭示智能体面临的多维性、隐蔽性与系统性安全威胁。</p>
<img src="https://img2024.cnblogs.com/blog/1928790/202507/1928790-20250719131933148-1437149156.png" alt="a0896ba3-1e7b-483c-a3c1-297b296b9e38" style="zoom: 80%">
<h3 id="漏洞列表">漏洞列表</h3>
<p>报告公开20个漏洞案例,涉及主流开发框架、工具链及基础设施:</p>
<img src="https://img2024.cnblogs.com/blog/1928790/202507/1928790-20250719131933447-822750495.png" alt="image-20250718231958499" style="zoom: 67%">
<ul>
<li><strong>高风险漏洞类型</strong>:远程代码执行(如PySpur)、任意文件读写(如LangChain-Chatchat)、权限配置错误(如Sim)、参数校验缺失(如DB-GPT)。</li>
<li><strong>典型目标</strong>:LangChain-Chatchat(3个CVE)、Upsonic(RCE+文件写)、AstrBot(任意文件读)等,部分漏洞尚无CVE编号但已构成实际威胁。</li>
</ul>
<h3 id="开发框架中的安全隐忧">开发框架中的安全隐忧</h3>
<p>开发框架抽象了<strong>模型、工具和编排模块</strong>,但其简化设计的代价是引入攻击面。</p>
<ol>
<li>
<p><strong>本地请求攻击</strong></p>
<img src="https://img2024.cnblogs.com/blog/1928790/202507/1928790-20250719131933279-1398217555.png" alt="image-20250718232203284" style="zoom: 80%">
<ul>
<li><strong>风险</strong>:框架本地服务(如Pyspur、Google ADK)默认绑定 <code>0.0.0.0</code> 或缺少认证,攻击者可通过浏览器跨域请求触发漏洞(如Jinja2模板注入)。</li>
<li>案例:
<ul>
<li>Pyspur:未过滤的localhost请求致远程代码执行。</li>
<li>Google ADK:硬编码绑定 <code>0.0.0.0</code> + WebSocket无跨域限制,可静默操控Agent。</li>
</ul>
</li>
<li><strong>防御建议</strong>:默认绑定 <code>127.0.0.1</code>,增加服务层认证。</li>
</ul>
</li>
<li>
<p><strong>云上服务接口风险</strong></p>
<ul>
<li><strong>风险</strong>:云端部署的框架接口(如Steel Browser)因代码逻辑与开源版一致,存在未修复漏洞。</li>
<li><strong>案例</strong>:Steel Browser文件上传接口的 <code>fileUrl</code> 参数未过滤路径穿越字符,致任意文件写入。</li>
<li><strong>防御建议</strong>:强化云服务接口的输入校验与权限控制。</li>
</ul>
</li>
</ol>
<h3 id="智能体生态中的信任危机">智能体生态中的信任危机</h3>
<p>【模型调用方、模型供给方、工具提供方、资源提供方等】多角色协同的开放生态面临信任链断裂风险:</p>
<ol>
<li>
<p><strong>调用链风险互嵌</strong></p>
<ul>
<li>
<p><strong>大模型输出</strong>:诱导性Prompt可操控模型生成恶意指令(如伪造函数调用),需引入输出内容安全验证【<strong>内容合规检测、危险指令过滤、上下文一致性检查等</strong>】。</p>
</li>
<li>
<p>工具调用:</p>
<img src="https://img2024.cnblogs.com/blog/1928790/202507/1928790-20250719131933333-1775302020.png" alt="image-20250718232306533" style="zoom: 67%">
<ul>
<li>Function calling流程拆解:
<ul>
<li>向大模型注册工具功能描述和接口定义信息等</li>
<li>对大模型工作时的输出进行解析,判断提取其中的工具调用需求,并以特定的参数形式调用指定工具接口</li>
<li>将工具运行结果返回给大模型</li>
</ul>
</li>
<li><strong>MCP协议风险</strong>:Server投毒(恶意工具描述)、远程SSE模式遭中间人攻击、Client恶意请求触发传统漏洞(如SQL注入)。</li>
</ul>
<img src="https://img2024.cnblogs.com/blog/1928790/202507/1928790-20250719131933467-528976773.png" alt="image-20250718232334105" style="zoom: 80%">
</li>
<li>
<p><strong>多智能体协同</strong>:上下文投毒攻击(恶意智能体输出污染协同链路)。</p>
<ul>
<li><strong>A2A协议风险</strong>:AgentCard字段(如AgentSkill)可能隐藏恶意提示词,影响调度决策。</li>
</ul>
</li>
</ul>
</li>
<li>
<p><strong>脆弱的决策者</strong></p>
<ul>
<li>编排层依赖外部输入(如浏览器页面数据),易被注入对抗样本误导决策。</li>
<li><strong>案例</strong>:Browser Use向模型传递未过滤的DOM元素描述,攻击者可注入指令接管Agent行为(如窃取文件并外传)。</li>
</ul>
<img src="https://img2024.cnblogs.com/blog/1928790/202507/1928790-20250719131933254-793141692.png" alt="image-20250718232413630" style="zoom: 80%">
<ul>
<li><strong>防御建议</strong>:以零信任原则设计系统,强化模型输出的逻辑约束。</li>
</ul>
</li>
</ol>
<h3 id="沙箱隔离中的盲区风险">沙箱隔离中的盲区风险</h3>
<p>隔离方案配置不当可能削弱防护效果:</p>
<ol>
<li>
<p><strong>差异化沙箱选择</strong></p>
<ul>
<li>按场景选择隔离层级:代码层(Deno)、进程层(Docker)、内核层(Firecracker/gVisor)。</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/1928790/202507/1928790-20250719131933167-840222733.png" alt="image-20250719131250933" loading="lazy"></p>
<ul>
<li>云端沙箱服务(如E2B)简化部署但需关注供应商安全。</li>
</ul>
</li>
<li>
<p><strong>易忽视的暗面</strong></p>
<ul>
<li><strong>案例1</strong>:OpenManus的Docker沙箱以 <code>privileged=true</code> 运行命令,赋予容器内核级权限,扩大逃逸面。</li>
</ul>
<p><img src="https://img2024.cnblogs.com/blog/1928790/202507/1928790-20250719131933386-372735404.png" alt="image-20250719131424943" loading="lazy"></p>
<ul>
<li>
<p><strong>案例2</strong>:OpenHands采用Docker in Docker架构,挂载 <code>docker.sock</code> 致权限蔓延(开发容器可控制宿主机)。</p>
<p><img src="https://img2024.cnblogs.com/blog/1928790/202507/1928790-20250719131933438-599735901.png" alt="image-20250719131807310" loading="lazy"></p>
</li>
<li>
<p><strong>防御建议</strong>:应用最小特权原则,精细配置沙箱权限与网络策略。</p>
</li>
</ul>
</li>
</ol>
<h3 id="总结">总结</h3>
<p>智能体的安全挑战呈现三层矛盾:</p>
<ol>
<li><strong>开发框架</strong>:便捷性与安全性的平衡失衡,本地/云端接口均成攻击入口;</li>
<li><strong>生态协作</strong>:开放协同需求与封闭安全要求的本质冲突,调用链信任机制亟待建立;</li>
<li><strong>沙箱隔离</strong>:技术方案成熟但配置疏忽频发,需向“多层次防护体系”演进。   报告呼吁在工业控制、医疗等高危场景落地前,将安全性前置为智能体设计的核心指标,通过标准化协议、零信任架构和自动化检测机制构建可靠防线。</li>
</ol>
<p>智能体安全需系统性治理,从单一漏洞修补转向覆盖“框架-生态-隔离”全链路的纵深防御,方能应对AI规模化应用中的未知威胁。</p><br><br>
来源:https://www.cnblogs.com/pam-sh/p/18992792
頁: [1]
查看完整版本: 智能体安全实践