云原生AI Agent应用安全防护方案最佳实践(上)

当下,AI Agent代理是一种全新的构建动态和复杂业务场景工作流的方式,利用大语言模型(LLM)作为推理引擎。这些Agent代理应用能够将复杂的自然语言查询任务分解为多个可执行步骤,并结合迭代反馈循环和自省机制,利用工具和Agent背后的API生成最终结果,返回给终端用户。这种方法需要评估Agent应用的鲁棒性,尤其是对于那些可能存在对抗攻击或有害内容的用户场景。

亚马逊云科技Bedrock Agents利用ReAct和链式思维(CoT)提示技术将复杂的自然语言对话,分解为一系列任务和后端API调用。这种方法提供了极大的应用灵活性,支持动态工作流,并降低了开发成本。亚马逊云科技Bedrock Agents在定制和优化AI应用方面发挥着关键作用,帮助开发者们满足特定项目需求,同时保护用户的私有数据并确保AI应用安全。这些代理基于亚马逊云科技的托管基础设施,减少了运维在基础设施管理过程中的工作量。

尽管亚马逊云科技Bedrock Agents已原始内置了一套机制来防止生成一般性有害内容,但大家还可以结合亚马逊云科技Bedrock Guardrails,实现更细粒度的用户自定义防护机制。亚马逊云科技Bedrock Guardrails在基础模型(FM)内置防护的基础上提供额外的可定制安全措施,为RAG(检索增强生成)和文字总结任务提供目前AI行业领先的安全保护,能够阻止有害内容生成和回复,并过滤幻觉内容响应的生成。这一防护功能使大家可以在AI Agent解决方案中,自定义应用安全、隐私和内容真实性的保护策略。

在本文中,小李哥将演示如何在集成亚马逊云科技Bedrock Guardrails后,识别并提高亚马逊云科技Bedrock Agents的安全防护能力,以适应不同的业务场景。

解决方案概述

本文小李哥将以在线零售聊天客服为示例,该聊天客服支持动态Agent工作流,能够基于客户的自然语言查询搜索并推荐鞋类产品。为了实现这一功能,我会使用亚马逊云科技Bedrock Agents构建这个代理任务流。

为了测试其面对攻击的安全对抗性和系统鲁棒性,我尝试向该机器人提问有关退休理财建议的问题。通过这个示例,可以测试系统鲁棒性性的表现,我们再该方案中利用亚马逊云科技Bedrock Guardrails优化代理任务流,使其避免提供理财建议等不相关的内容。

在该方案中,代理任务流的预处理阶段(即调用LLM生成回复之前的第一个阶段)在亚马逊云科技平台上是默认关闭的。如果想启用该预处理,通常仍需要更细粒度的自定义控制,以决定哪些输出的内容是安全且可被发给用户的。例如一个专注于鞋类销售的零售代理如果提供理财建议,这显然超出了产品的应用范围,可能导致客户失去信任,并带来安全隐患。

另一种常见的细粒度的安全鲁棒性控制需求是防止代理生成敏感信息(PII)。大家可以在亚马逊云科技Bedrock Agents中配置并启用亚马逊云科技Bedrock Guardrails,以提升代理的安全鲁棒性,使其符业务所在地的合规、法规要求和企业自定义的业务需求,通过这种方式我们无需对LLM进行微调。下图展示了我们的解决方案架构:

这张图展示了本文最终实现的高层架构。用户请求被亚马逊云科技Bedrock Agents捕获,并用于生成任务执行计划,然后调用Lambda来执行API,该API可以访问数据库、通过亚马逊云科技的邮件服务SES发送通知或其他应用程序。这些代理与亚马逊云科技Bedrock Guardrails集成,以提升安全的对抗性和鲁棒性。

本方案涉及以下亚马逊云科技服务:

  • 亚马逊云科技Bedrock用于调用LLM
  • 亚马逊云科技Bedrock Agents用于执行代理任务流
  • 亚马逊云科技Bedrock Guardrails用于拦截安全对抗攻击
  • AWS Identity and Access Management(IAM)用于控制各项亚马逊云科技服务的访问权限
  • AWS Lambda用于部署API调用代码,帮助业务API的实现
  • Amazon SageMaker用于托管Jupyter notebooks并调用亚马逊云科技Bedrock Agents API

接下来的部分,我将展示如何使用GitHub仓库中的Jupyter notebooks运行本解决方案。

项目提前准备

要在大家的亚马逊云科技账户中运行本方案,请满足以下的要求:

  • 如果还没有亚马逊云科技账户,需要创建一个。
  • 克隆GitHub仓库,并按照README中的步骤进行操作。
  • 使用AWS CloudFormation模板在SageMaker中配置和部署notebook,该模板存在GitHub仓库中。我们提供必要的IAM权限,以便使用CloudFormation创建SageMaker资源和Lambda函数。
  • 获取亚马逊云科技Bedrock上托管的模型的访问权限。在亚马逊云科技Bedrock控制台左侧导航栏选择“管理模型访问权限”,然后从可用选项中选择模型。本示例使用Anthropic Claude 3 Haiku和亚马逊云科技Titan Embeddings Text v1。

创建Guardrail对AI Agent应用进行防护

在Part 1a notebook中,我们按照notebook中的步骤创建一个Guardrail,防止聊天机器人提供理财建议:

  1. 使用Boto3 API创建亚马逊云科技Bedrock Guardrails,并设置内容过滤、关键词和短语过滤,以及敏感词过滤(例如PII和正则表达式),以保护零售客户的敏感信息。
  2. 列出并创建Guardrail版本。
  3. 更新Guardrail配置。
  4. 对Guardrail进行单元测试。
  5. 记录guardrail-idguardrail-arn值,以便在note部分后面Part 1c中使用。后续的guardrails功能测试,我们会在本系列的下篇中给大家进行介绍。
create_response = client.create_guardrail(name=guardrail_name,description='Prevents our model from providing fiduciary advice.',topicPolicyConfig={'topicsConfig': [{'name': 'Fiduciary Advice','definition': 'Providing personalized advice or recommendations on managing financial assets, investments, or trusts in a fiduciary capacity or assuming related obligations and liabilities.','examples': ['What stocks should I invest in for my retirement?','Is it a good idea to put my money in a mutual fund?','How should I allocate my 401(k) investments?','What type of trust fund should I set up for my children?','Should I hire a financial advisor to manage my investments?'],'type': 'DENY'}]},
….
}

以上就是云原生AI Agent应用安全防护方案最佳实践的上篇内容,在本篇中我们介绍了云原生AI Agent应用安全防护解决方案,并了解了如何通过Python代码创建Guardrails保护AI Agent应用。欢迎大家继续关注小李哥的生成式AI应用安全系列,了解国际前沿的亚马逊云科技解决方案,关注我不要错过未来更多的干货内容! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/17995.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三格电子——TCP转ProfibusDP网关使用场景

型号: SG-TCP-Profibus(M) 感兴趣可以TB 搜 三格电子 使用场景: ModbusTCP Client 通过 ModbusTCP 控制 Profibus DP 接口设备。 ModbusTCP 侧支持03H、04H、10H 功能码,只支持 1 个client连接; ProfibusDP 侧支持 DP v0。 P…

剑指offer第2版:搜索算法(二分/DFS/BFS)

查找本质就是排除的过程,不外乎顺序查找、二分查找、哈希查找、二叉排序树查找、DFS/BFS查找 一、p39-JZ3 找出数组中重复的数字(利用特性) 数组中重复的数字_牛客题霸_牛客网 方法1:全部排序再进行逐个扫描找重复。 时间复杂…

小众宝藏分子生物学实验中常用的软件:InSequence

欢迎使用InSequence,正版免费使用,操作友好,小白也能轻松上手哦~ 1. 全新中文界面与更大操作空间 全中文简洁直观的操作界面,常用功能固定至工具栏,随心自定义更改工具栏,让科研人员能够更快速地上手&…

南京观海微电子----整流滤波电路实用

01 变压电路 通常直流稳压电源使用电源变压器来改变输入到后级电路的电压。电源变压器由初级绕组、次级绕组和铁芯组成。初级绕组用来输入电源交流电压,次级绕组输出所需要的交流电压。通俗的说,电源变压器是一种电→磁→电转换器件。即初级的交流电转化…

python 的框架 dash 开发TodoList Web 应用

TodoList Web 应用 项目简介 这是一个基于 Dash 和 SQLAlchemy 的现代化 TodoList Web 应用,提供了简单而强大的待办事项管理功能。 主要特性 添加新的待办事项删除待办事项标记待办事项为已完成/未完成分页展示待办事项列表实时更新和交互 技术栈 PythonDash …

tenda路由器WriteFacMac存在远程命令执行漏洞(CVE-2024-10697)

一、漏洞简介 tenda路由器WriteFacMac存在远程命令执行漏洞 二、漏洞影响 tenda路由器三、网络测绘: fofa: title"Tenda | LOGIN"四、复现过程 POC 1 GET /goform/WriteFacMac?macls%20%3E/webroot/1.txt HTTP/1.1 Accept: text/html,application/…

无需编码5分钟免费部署云上调用满血版DeepSeek

大家好,我是 V 哥。如何自己部署DeepSeek调用满血版。首先,如果你遇到了使用公共服务器时的延迟或限制,想要本地部署以获得更好的性能和稳定性。你是不是也想自己来部署DeepSeek呢,其实除了自己部署本地DeepSeek,还可以…

linux笔记3----防火墙(ubuntu)

防火墙管理工具 ubuntu里使用ufw来管理防火墙。ufw是一个管理防火墙规则的前端工具。本文阐述如何开启、关闭防火墙,放行指定端口。 因为我采用putty远程来使用,需要关闭防火墙或者放行22端口。 核心思维 因为ufw只是一个前端工具,所以一开…

【音视频】RTSP拉流: RTP负载AAC详解(三)

此文为系列文章,此系列主要讲解RTSP客户端的拉流及播放,文章持续更新,会从rtsp的基本协议讲起,如何一步步实现音视频的拉流过程,包括一系列涉及到的协议,rtsp,sdp, rtp(本…

若依系统环境搭建记录

开源若依系统网上资料也很全的,本篇博文记录下自己搭建环境过程中遇到的一些问题。 配置Maven和编辑器选择 我懒得配置Eclipse了,直接用vscode作为编辑器,后面构建运行都用命令行。 配置数据库连接 按照mysql5.7按网上教程即可&#xff1…

【MySql】应用系统等保测评MySQL服务器相关策略设置以及最终验证,MySQL安全策略设置以及最终验证

文章目录 一、概要二、环境及实现三、前期准备四、操作步骤1、所有的数据库需要设置三权账户:系统管理员、网络管理员和安全管理员创建系统管理员账户:创建网络管理员账户:创建安全管理员账户: 2、所有数据库密码的负责度策略需要…

bootplus管理系统 file/download 任意文件下载漏洞

bootplus管理系统 file/download 任意文件下载漏洞 漏洞描述 bootplus是基于SpringBoot + Shiro + MyBatisPlus的,拥有接口管理,权限管理,监控组件等功能的一体化权限管理框架。该项目中的file/download接口存在任意文件下载漏洞, 攻击者可以通过该漏洞下载查看目标系统的…

《open3d qt 网格采样成点云》

open3d qt 网格采样成点云 效果展示二、流程三、代码效果展示 二、流程 创建动作,链接到槽函数,并把动作放置菜单栏 参照前文 三、代码 1、槽函数实现 void on_actionMeshUniformSample_triggered();//均匀采样 void MainWindow::

部署 DeepSeek R1各个版本所需硬件配置清单

DeepSeek-R1 通过其卓越的推理性能和灵活的训练机制,在 2025 年的春节期间受到了广泛关注。 DeepSeek-R1 是一款高性能的 AI 推理模型,主要通过强化学习技术来增强模型在复杂任务场景下的推理能力。 在本地部署 DeepSeek-R1 时,尤其是完整的…

hive高频写入小数据,导致hdfs小文件过多,出现查询效率很低的情况

问题描述 hive高频写入小数据,导致hdfs小文件过多,出现查询效率很低的情况分析过程 先复现现象 select count() from ads.ads_sdd_flow_managemlt_to_ids_mm;–15分钟,小文件10983 select max(mm) from ads.ads_sdd_flow_managemlt_to_ids…

git用法(简易版)

介绍 git是一个版本管理工具 使用方法 建立仓库 第一步 git init:初始化仓库 第二步 git add .:将代码添加到暂存区 第三步 git commit -m "first":为修改添加备注 第四步 git remote add origin 你的url 第五步 git pus…

顺序表SeqList(c语言)(动态顺序表)

前言: 顺序表是一种数据结构,是内存中存储数据的一种方式,他的内存连续性使得它有较高的缓存利用率,它在内存中广泛使用,比如数组,就是典型的顺序表。 实现思路: 一般是建立三个文件&#xf…

DeepSeek介绍本地部署保姆级教程

2025年春节前后,DeepSeek 如滚烫油锅中溅入的一碗水,瞬间激起千层浪,在网络世界里掀起了一场热议风暴,迅速火遍大江南北。无论是互联网行业的前沿先锋,还是传统行业的资深从业者;无论是专注于开发、测试、运…

Bash 中的运算方式

目录 概述: 1. (()) 运算符 2. let 命令 3. expr 命令 4. $[] 直接运算 5. bc(计算器,支持浮点数) 6. awk(强大的文本处理工具,也可计算) 概述: Bash 本身只支持整数运算&am…

主动视觉可能就是你所需要的:在双臂机器人操作中探索主动视觉

AV-ALOHA 系统使用用于 AV 的 VR 耳机实现直观的数据收集,并且 用于作的 VR 控制器或引线臂。这有助于捕捉全身和头部 远程作我们的真实和模拟系统的运动,记录来自 6 个的视频 不同的摄像头,并为我们的 AV 仿制学习策略提供训练数据。 加州大…