Rafael Sandroni,我是Guardian AI的创始人。这是一家AI安全公司。我通常会将巴西咖啡与意大利摩卡混合,这是最好的组合,但我也很喜欢意式浓缩咖啡。
我们将回到另一个MLOps社区播客。我是你的主持人Demetrios,今天我们与Rafa讨论构建应用程序或仅使用LLM时需要注意的所有安全向量。我特别喜欢我们谈到他在Nubank等公司所做的传统欺诈检测的那一刻。
向他们的工程博客致敬。然后我们将此与如今使用LLM时可以进行的欺诈类型进行对比,如果您已实施AI系统。让我们开始与我的朋友Raphael的对话吧。
我知道你曾在Siri工作过,我知道你做了一些帮助Siri理解其他语言的工作,但Siri已经存在一段时间了。Siri的演变也相当惊人。你在LinkedIn上发布的一些内容引起了我的注意,内容是如何改进助手,AI助手,创建AI助手时需要注意的事项。你能分享一些你从那时起认识到的最佳实践吗?我知道苹果有一些非常严格的保密协议,所以你不必深入细节,但关键的经验教训是什么?好的,据我了解,使用LM、API等等,每个人创建AI助手都容易得多。
根据我的经验,我不知道,Siri是全球五大AI用户之一。确保一切正常进行,例如测试,确保响应质量,以及编排,例如取决于这是什么AI助手,这是一个巨大的问题。所以你需要……
编排,与API集成。你需要确保一切都是集成的。测试集成,因为,我不知道,你需要确保集成之间有契约,测试也是如此。所以,
你最近可以看到使用AI和人工的混合来进行测试。是的,我会说测试是最重要的部分之一。如果你正在为人们创造一些价值,你需要确保AI,这个AI系统运行良好。你不会出现某种回归。因此,我在花旗银行工作过一些组件,以确保设置防护栏,确保不会出现溃疡
指的是某种亵渎、竞争对手等等。
如果你考虑一下,我不知道,一家银行使用的是常规监管市场,也有一定的监管。你需要确保这个AI的答案是你有某种控制,对吧?是的。所以重新捕获测试、集成,确保我有某种契约,以及控制我是否有防护栏或控制输出。是的。
我喜欢这个。一个好的起点。我觉得Siri是我希望代理或助手扮演的理想抽象层,因为它可以在手机上做任何事情,并且可以进入应用程序。我希望它可以更深入地进入应用程序,对吧?但我猜这只是每个应用程序都必须使Siri能够发现某些东西。因此,存在这个问题,我想在我的应用程序中拥有自己的AI助手,还是我想在我的应用程序中拥有Siri作为AI助手,诸如此类。
潜在地是所有应用程序一直都在努力解决的问题。你在防护栏很酷之前以及出现这些巨大错误之前就一直在做防护栏。所以想想如果你没有做好你的工作,苹果本可以成为加拿大航空公司,这很有趣。它本可以拥有任何品牌都不想要的品牌知名度。但后来我知道你在苹果工作后,你去了我最喜欢的工程博客之一工作,那就是Nubank,对吧?Nubank很棒,因为它工程博客的透明度。我认为他们,我经常这么说,但我说的还不够。
Nubank的工程博客,我从他们那里学到了很多东西,而且他们非常透明,我很感谢这一点。你在Nubank做什么?是的,这有点复杂,因为我在那里工作了将近三年,我有机会与团队的一部分一起工作。但我猜……
重要的是,我喜欢Nubank的一点是分享知识。所以你有很多,比如说,内部工作会议,以确保每个人都在同一水平线上。我在Nubank的第一次经历很有趣,因为我当时是,比如说,
一个内部的新功能的一部分。你们正在为Nubank用户构建一个个人理财助手。这是我几年前创立的一家初创公司的一部分。你有机会创建这个AI助手的基础。有趣的是,Nubank决定收购Nubank
我的一个竞争对手,比如一个个人文件管理应用程序,这是尽职调查的一部分,了解内部工具等等。
所以构建这个AI助手是一个有趣的部分。我想现在它是新的大型应用程序的一部分,帮助人们储蓄、控制储蓄、更好地进行财务规划。但之后,它成为欺诈团队的一部分。欺诈团队基本上是一样的。
挑战是,也许你看到了这篇关于实时机器学习的博客文章,关于用于欺诈的机器学习模型。我想每个科技公司和银行都有这个挑战,比如理解在线交易中的欺诈者阻止或新客户的入职。
是的,我有机会创建工具,例如自动重新训练模型以理解和使用新模式更新模型,以及改进模型的性能方面。我有,我有关于此的数据设计有趣的博客文章。
是的,那都是传统的ML,对吧?所以你从……是的。在Siri,你正在处理传统的ML,或者你正在做防护栏,或者你正在做软件工程。你觉得这两者之间的演变是什么?说传统的ML有点好笑,因为我知道当你提到NLP时,我相信它是传统的ML,对吧?
但是,是的,但我相信一切都是相互关联的,对吧?可能在AI的成熟度级别上,你需要实现传统的ML。你需要离开API并内部实现某种模型以获得更多控制。所以不仅仅是使用开源的LLM,而且,我不知道,如果你需要防护栏,可能……
最好的方法是使用传统的NLP,例如使用小型语言模型的分类器并实现它。但挑战在于不仅仅是AI,还有软件工程,例如如何部署。是的。所以我相信一切都是相互关联的。现在更容易开始使用AI,对吧?但我猜挑战与四五年前一样。所以如果你需要传统的ML,那么挑战也是一样的。好的。现在,
跟我说说你最近学到了什么。是的,这是这次谈话中有趣的部分。但我几个月前离开了苹果公司,开始创业。我开始学习AI安全,如何确保每个AI应用程序、AI助手都受到保护。像工匠、黑客等等。
所以我从OWASP开始,为LLM做顶层的事情。后来我作为成员加入,以了解更多挑战。老实说,这是一个巨大的问题。我与之交谈的每个人,例如银行、大型金融科技公司、医疗保健公司、
法律、初创公司、本地公司,每个人都在实施,但这一个具有挑战性的主题,因为你需要确保你需要一些人喜欢。所以基本上他们想被黑客攻击,然后他们想安装密码管理器。是的。所以基本上,所以我想。
取决于公司的文化。我想银行和金融市场更了解这些风险。所以他们在软件方面面临同样的挑战。所以可能AI,他们正在处理这个问题。但这是一个有趣的部分。我会说
你需要两个组件来确保在AI上实施安全标准。首先,你需要按照零信任方法实施AI。因此,确保你拥有权限、凭据和集成是安全的。
之后,你需要进行某种测试,安全测试,也就是红队测试。与你在软件方面进行渗透测试的方式相同。因此,可以发现漏洞。了解这些漏洞,例如你有机会修复你的实现或实施使用防护栏。所以第二部分是理解的一种方式
按照零信任方法,你不会认为LLM是100%安全的,我们可以实施这些防护栏,不仅是为了安全,而且是为了防止某种幻觉、某种偏离主题等等。防护栏的安全部分非常具有挑战性,因为这些防护栏向此模型展示了没有安全性的内容,
什么模式,什么是不经意注入方法,这些方法更有效地阻止这些尝试。是的,对AI安全的概述,我会说,就像在AI应用程序上开始一样。所以,
有这种信心。因此,当你查看LLM基本上可以被破坏的不同向量时,并且你正在考虑防护栏,你也在考虑零信任。首先,我很想了解你所说的LLM的零信任是什么意思。在实践中它是什么样的?这是一种特定方法,就像你实施软件一样,所以确保你没有
你只有该功能、该资源的访问权限。
所以,AI也是一样的。因此,如果你的AI助手可以访问API和其他工具,例如确保范围非常明确,访问权限非常明确。基本上,这就像开发人员、开发团队可以遵循并在实现中调整的一种方法。是的,这说得通。更像是一种思维方式。并尝试限制
范围,这是一件很难做到的事情,或者说是一条非常细微的界限,因为对于LLM来说,你给它们的上下文越多,它们通常表现得越好。因此,你想给他们尽可能多的上下文,只要它是正确的
权限,所以尝试弄清楚这一点,并尝试以一种能够知道谁有权访问什么的方式来设计你的系统,这可能会有点棘手,你是否见过一些好的方法来做到这一点,你对这里的权限是什么意思,所以我想这将是像谁可以访问什么数据,谁可以访问什么文档,那种权限,然后因为你不想
LLM能够,也许它可以访问Slack中的每个数据库或每个频道。但是如果我问一个问题,我没有权限访问Slack中的每个频道,对吧?然后LLM突然可以访问。所以我能够找到我不了解的事情。
是的,这是确保的一部分,例如定义与AI共享哪些最重要数据。因此,你不必与AI共享所有数据库。也许你不需要与AI共享所有数据表。这很复杂,但我猜这是遵循这种思维方式,并且对数据更具限制性。
然后什么……所以我们一直在讨论你一直在看到的不同攻击向量,其中一个是越狱,其中一个是红队测试。我认为人们……
在互联网上看到了很多这方面的例子,你在考虑安全漏洞以及确保防护栏有效方面都考虑了什么?你如何设计防护栏以使其更有效?我认为AI最具挑战性的漏洞是不经意注入。所以你可以传递一些上下文,对AI进行某种社会工程,然后,我不知道,一些X。
可以访问某些数据,系统提示将是了解AI或AI代理更多动态的第一步。我相信实施正确的防护栏以防止你拥有,比如说,恶意输入会影响你的LLM或你的AI代理,例如LLM链,你将
你将成为最佳实践。这就是我现在在行业中看到的。所以这不是最终的,这是一种缓解。就像一个,它不是100%,但你可以消除很大一部分欺诈者或恶意用户,他们可能会试图暴露你的AI。所以
通常情况下,它是实时实施的防护栏,你正在实施编排,它正在实时阻止某些模式。此外,如果你的应用程序可以访问互联网或你并非所有者的文档或数据,
你应该确保你可以,你应该像过滤器一样,确保你没有间接注入。有一个例子,来自Black Hat大会的一个非常有趣的例子,一个人试图使用配置为总结电子邮件的Microsoft Copilot。它基本上打开了一个漏洞,说,
外部人员可以向这家公司发送电子邮件,然后使用RUGAP。因此,每封电子邮件都可以被总结,最后一步,比如说,根据主题回复AI代理。这位外部用户发送了一封包含不经意注入的电子邮件,隐藏在人眼看不到的地方,但使用了编码和颜色。但是AI代码可以理解,并且
它开始向用户群中的每封电子邮件发送网络钓鱼电子邮件。这是一个例子。因此,如果你可以访问外部道路,你应该确保你不信任提示指令。不要将你的防护栏放在系统提示上。使用像独立模型、机器学习模型这样的模型来过滤和检测这种,比如说,模式。
所以再次强调,这非常具有挑战性,因为它不是100%。这只是一个缓解措施,所以你不可能100%安全。让我看看我是否理解了Black Hat的例子,因为这是一个我以前从未听说过的新的例子,如果有人正在使用Copilot并且它在他的电子邮件帐户中,
那么你可以收到一封网络钓鱼电子邮件,其中包含白色背景上的白色文本。所以白色背景上的白色文本人眼是看不到的,但Copilot
会看到,它会认为,哦,酷,我可以总结一下。当它总结时,它就会进入LLM,它会进行间接提示注入,基本上说发送电子邮件或总结此电子邮件并将其发送回XYZ。因此,如果你没有两个东西到位,一个是需要确定发送的人工干预。
或回复电子邮件,或者二是你有一些外部独立评论家来判断Copilot LLM调用或代理正在做什么。然后它会说,嘿,看,这里所有信息。这是我所做的。
这是正确的吗?这是提示。这是我所做的。这是我获得的信息。然后你有一个法官说,是的或否,这是正确的,或者这是不正确的。你可能想回到第一步。所以如果你没有这样做以及你如何设计它,你可能会遇到很多麻烦。所以我在某种程度上看到了这种设计模式,你几乎有这个最终的包罗万象的评论家,并且
你可以将所有内容都放入其中,你可以说,查看所有这些步骤,这就是我所做的。你怎么看?这是正确的方法吗?是的,我想关键是寻找,你有一个法官,LLM是一个法官,你在LLM中拥有的相同漏洞,你也在作为法官的LLM中拥有。我认为我看到的解决方案是使用传统的机器学习分类器
而且你没有LLM的相同漏洞。它不是LLM。然后我们可以减轻。不要暴露另一个渠道,另一个空间。好的,所以你的意思是不要使用另一个LLM,因为那样你可能会得到这种提示注入的级联。
是的,不要使用另一个LLM来过滤恶意输入,因为这个另一个LLM也可能会受到影响,也可能会遵循这些恶意输入。你还在野外看到哪些其他安全漏洞或一些现实生活中的例子?我正在与一些金融科技公司合作,了解挑战并验证这些业务任务或验证围绕AI安全的一些想法。
有一些公司,金融科技公司,正在WhatsApp上构建AI助手。这些AI助手可以进行转账、银行转账、支付账单等等。所以我们基本上有这样的AI助手可以访问你的银行账户。或者在其他情况下,你的银行账户由WhatsApp上的AI管理。是的,棘手的是
我最近看到一个有趣的例子,一些黑客试图覆盖转账的价值,例如覆盖你账户中的账户余额,所以所以这是在现实生活中,你实际上没有你没有很多问题,因为这个场景我解释说,像
这些初创公司拥有,比如说,核心银行的基础设施。所以我们有另一种验证。但这就是为什么遵循零信任思维方式很重要,因为我们可以像防御和保护软件部分的恶意行为一样,而不是AI。但这很重要,因为同样,所以……
AI可能会试图回答一些遵循某些偏见并谈论竞争对手的内容,并为公司带来某种声誉风险。我试图思考这看起来是什么样子,以及通过
我能够通过WhatsApp进行银行业务的好处是什么。所以我想对于像我这样的最终用户来说,我正在使用WhatsApp,我说,哦,向Rafa发送50美元。
然后它知道我要发送给哪个Rafa,它会发送,或者我将Rafa标记为人,然后它有你的电话号码和我的通讯录,然后它会发送给你。但感觉有很多事情可能会出错,因为它可能会幻化出不同的Rafa或不同的电话号码等等。有很多事情。
漏洞,我想知道我们能够在WhatsApp上与银行账户互动所获得的小提升是否值得它带来的巨大风险。
是的,我想这是当今开发人员、ML工程师的挑战。所以你应该遵循测试,拥有某种AI质量以确保不会发生这种情况。我相信你正在学习如何创建这种应用程序,对吧?像任务创建应用程序。
是的,这是一个非常具有挑战性的问题,但我认为这是一个非常有趣的问题。是的,确实感觉我们仍在探索我们将如何以及在哪里最好地与AI助手、AI代理互动,公众喜欢使用它们的方式,就像你说的那样,对于银行应用程序来说,这可能不是最佳选择,但对于食品应用程序来说,这可能是最好的,因为我们可以只向食品应用程序发送短信,说我饿了,我想要在接下来的30分钟内吃点东西,它会给我五个不同的建议,然后我可以说,是的,我选择建议二,但如果它是银行应用程序,并且它发送
20美元,接下来你知道我发送了2000美元,因为发生了一些混乱或幻觉,那么风险就比我点披萨或皮塔饼大得多,所以我看到的是你拥有这个我不知道你拥有AI银行助手,就像你可以与应用程序交谈一样,这取决于我相信为此类应用程序有一个特定的客户配置文件
所以这是一个风险,风险更大,但我不知道。我相信市场正朝着这个方向发展,我不知道,寻找在这个领域构建的所有早期金融科技公司。但后来,在接下来的几年里,我不知道,像银行可能会拥有一个像移动设备一样的新的渠道。所以我们有这些遗留系统,银行系统,然后他们
试图追随金融科技公司并构建移动应用程序,确保用户体验更好,一切更流畅,也许下一波将会有一个AI帮助人们进行转账,了解支出等等。这是一个关键任务应用程序,比订购食物更关键,但我相信
此应用程序的价值对某些客户配置文件具有价值。是的。当你处理传统的欺诈检测系统时,然后你考虑这些金融科技公司新的欺诈向量,你如何权衡这些不同的领域和漏洞?你如何看待传统的欺诈以及几乎……
我不知道新的应该叫什么,但我将给它命名。我将称之为新时代的欺诈。你关注什么?在你的脑海中,它是否不同?它是否相同?你如何看待这两者?
我相信有了AI,欺诈的双方,欺诈者和,比如说银行,就像他们拥有超能力一样。所以欺诈者拥有创建活体和假文件等等的工具。对他们来说,这变得更容易了。
绕过欺诈系统,以及银行内部的欺诈行为。我想你拥有这些工具,但这对于寻找这种新型AI来说是一个具有挑战性的时刻。但我们也有围绕AI的欺诈,就像迭代一样。所以这也是一种欺诈。
所以基本上你周围有更多漏洞。你拥有拥有AI超能力的欺诈者,试图找出他们可以遵循并深入研究的漏洞。
我不知道,这是一个具有挑战性的时刻。如果你也关注网络安全,所以不仅仅是在金融领域,而且是整体的网络安全。所以这是一个具有挑战性的时刻,因为他们认为……
你已经看到安全事件有所增加。这是因为欺诈者、黑客现在拥有更多权力。他们可以使用AI在几分钟内自动化、加快他们花费一个月的过程。是的,你能够更快地测试漏洞所在。我相信欺诈,你目前所知的欺诈的相同动态,所有这些,
你也会在AI中看到这种动态。我认为挑战几乎是一样的。所以我们有一些欺诈者试图注入,进行提示注入,而另一方则有防护栏或其他储备来保护他们,学习新的模式等等。我不知道,也许像你在欺诈操作中一样,你应该在AI操作中也有人工参与。
是的,你关于欺诈者可以参与的多个不同级别提出了一个很好的观点,因为它可能只是伪造文件,或者现在你可以用短短五秒钟的声音克隆声音。所以你可以通过进行这些社会黑客攻击来进行社会欺诈并获取信息。另一方面,你拥有LLM本身以及它们如何容易受到攻击,并且
你拥有我们正在实施的新系统,就像我们讨论过的那样,好的,现在我们通过WhatsApp与我们的银行交谈。这带来了很多漏洞。或者你拥有这个拥有超能力的欺诈者,他可以使用AI来利用自己的优势并扫描安全漏洞或欺诈漏洞。你是否看到过具体的你一直在看到的具体设计模式
现在变得非常普遍,并且如果要处理任何级别的AI欺诈,这就像必须具备的条件。所以我相信亲身了解欺诈者可以攻击的漏洞非常重要。所以进行红队测试,
测试你的助手对软件进行渗透测试,并进行一般的红队测试。我认为这是必须的。你应该在之前就做到。所以如果你有一个关键任务或关键义务等等,这是最好的方法。所以你可以亲身了解漏洞,然后尝试保护它,实施保护。我相信这是一种越来越普遍的方法
而且同样,像防护栏一样,为他们的应用程序实施正确的防护栏,例如取决于用例,取决于准备工作,你想要接受或不接受的风险。好的。那么你还在野外看到哪些其他事情?AI代理。实际上,OWASP最近有一份关于
AI代理漏洞的报告。这很有趣,因为当你有很多LLM相互交谈时,确保控制变得更加复杂。LLM是不可预测的,我们有很多LLM一起工作。它甚至更不可预测。
问题在于,在AI代理的义务中,你可以,比如说,通过组合令牌,比如TAC,可以破坏第一个,但是上下文、信息、噪音可以继续进行下一步。而且取决于步骤,如果我们有一些文档,
外部访问数据,一个简单的,比如说,在第一步中接收到的一个提示注入可能会影响,我不知道,最后一步,你知道吗?但这更像是一个通用的,它不是一个具体的例子,但它很有趣,因为
你可能会在每一步中都有一些噪音向前发展。更多的LM,更多的,是的,更多的LM你在你的系统中,你应该有更多的保护来确保你没有这些信息,只是噪音信息向前发展。是的,这几乎就像一个提示注入可以传播到整个系统中一样。
一系列代理调用,你必须确保以我们之前讨论过的方式设计你的代理,可能它甚至不是另一个LLM调用,最终是一个更强大、更基于规则的防护措施。我现在也在查看owasp.org页面上关于他们十大漏洞的内容。
我发现第一点“破坏性访问控制”非常吸引人,因为我认为很多人都在努力弄清楚如何让代理代表他们行动。而这感觉就像
WASP 尽早地指出了这一点,说:“嘿,你看,你可以尝试让代理代表你行动,但很有可能你会遇到一些访问控制问题。”是的,这是一个挑战,因为它是在自主性和安全性之间的平衡,对吧?是的,这是具有挑战性的一部分。我不知道。你已经从自己执行ER步骤的代理中看到了很多
价值。但我认为这是你应该遵循的零信任方法的一部分。因此,要确保你拥有正确的权限,对于该任务、该范围等是受限的。是的,这些事情作为机器学习工程师……
进入这个安全领域,感觉你在欺诈检测方面有一些经验,但是……
现在你肯定要学习很多关于安全方面的事情。在你开始进入这个领域时,有没有一些你希望自己知道的事情?你能分享一些你花了一段时间才弄明白的内部知识吗?但现在你知道了,你很高兴你知道了。
我甚至会进一步对它进行分类,并说,在过去的三个月中,你学到了一些作为机器学习工程师你没有意识到的事情,但现在你认为你进入安全领域时会看到这些事情?首先,欺诈者和黑客很有创造力。因此,即使作为一名机器学习工程师,你正在构建AI、LLM等等。
你不知道漏洞是什么,你知道有人可以使用base64编码方法a、b或c,但是当你把它放在路上时,很多新东西你都没有想到人们可以这样做,这非常疯狂。
我最近做的最重要的事情之一是与了解该主题的网络安全工程师一起工作,并学习他们对AI安全的看法。因为作为一名AI机器工程师或AI研究人员是不同的。他们有不同的意见。所以,比方说,当你
进行红队测试时,他们不仅仅关注LLM,还关注整个系统,例如,这很重要,而且还关于保护防护措施,他们不仅仅关注LLM,还关注整个系统,包括访问权限等等,我想
我最近的见解是,他们有不同的视角。它更广泛地关注整个AI系统。我正在研究防护措施、安全防护措施、数据。这很重要。因此,当我们构建防护措施时,
你应该拥有数据来了解黑客正在使用或应该或可能使用哪些方法来绕过IAI或T系列防护措施。数据很重要。如果你只寻找你拥有的开源数据,那就还不够。
哦,很有趣。等等,告诉我更多关于这方面的信息。所以就像你应该A,尝试对自己的系统进行红队测试,对自己的系统进行渗透测试,并将系统作为一个整体来考虑,尝试以任何可能的方式侵入它,而不仅仅是LLM。但是,如果你只这样做,你就不知道你不知道什么。当你上线一些东西时,它会被那些非常有创造力的黑客攻击。所以是……
你应该找第三方来尝试渗透测试吗?或者是你应该,就像,如果你没有数据,也不知道你不知道什么,你如何获得这些数据?是的,你应该选择,我不知道,如果你有一个在这些数据上训练的开源模型,或者你有一个,我不知道,一个在这个领域工作的工具或提供商,它收集数据,过滤这些数据来训练防护模型。
这是因为很难自己内部创建防护措施。所以它也可以使用LLM,但它也很脆弱。而且要创建小型语言模型,你应该拥有数据。所以这是一个挑战,就像一只
猫和帽子。但挑战在于,就像你应该,这里收集数据的最佳方法是与网络安全团队、合适的团队合作,以了解模式,然后实施此解决方案。是的,这是有道理的。我相信,我不知道,你还有更多,你看到更多
关于AI安全的开源、开放科学和开源模型。在这个领域,我没有很多工具和模型。比方说,一些你可以用作防护措施的模型,并确保一切正常。所以这是我正在寻找的一部分路径,就像围绕它创建更多一种开放科学一样。是的,几乎就像……
这里的诀窍是,一旦你发布了一个可以帮助你了解攻击漏洞所在的数据集,那么这个数据集就不再有价值了,因为它需要保密。它需要成为几乎不可共享或不公开的东西。是的,你是指数据,对吧?是的。是的。
是的,但这是一个收集数据、收集新合作伙伴、学习以及不断更新的挑战。所以就像我们在传统的ML中所做的那样,就像你在重新训练欺诈模型方面做了很多工作一样,你正在以一种持续收集数据然后重新训练这些LLM的方式,但你并没有重新训练它们,因为你没有进入
你不会去训练或微调LLM。你只是在更新你的,也许是你的提示,也许是LLM调用,诸如此类。是的,我相信这是一个很好的观点。围绕学习进行迭代,并进行迭代和改进,对吧?是的,这是一个必须的过程。你可以从传统的ML中获得灵感,并将其应用于AI应用程序、LLM应用程序。♪
♪ 我更特别了 ♪