ITPub博客

首页 > 人工智能 > 人工智能 > 机器人会梦见安全网络吗?向AI系统教授网络安全

机器人会梦见安全网络吗?向AI系统教授网络安全

人工智能 作者:ITPUB社群 时间:1970-01-01 08:33:45 0 删除 编辑
  • 本博客探讨如何为自主 AI 智能体配备网络安全知识,使其能够就互联网安全做出明智决策,例如识别可信链接和网站。

  • 它展示了一个使用 LangChain 和 OpenAI 的概念验证,并与 Cisco Umbrella API(应用程序编程接口) 集成,为 AI 智能体提供实时威胁情报以评估域名处置情况。

  • 通过学习评估域名的安全性,AI 智能体可以培养更好的网络卫生习惯,做出更智能的决策,而不是仅仅被安全网关限制,这对于下一代自主 AI 系统至关重要。

20 世纪 60 年代末,科幻作家菲利普·K·迪克(Philip K. Dick)写了《仿生人会梦见电子羊吗?》(Do Androids Dream of Electric Sheep),该书除其他主题外,还探讨了区分人类与自主机器人的特征。随着生成式 AI 的进步使我们能够创建能够代表人类进行推理和行动的自主智能体,我们必须考虑必须为智能体 AI 配备哪些人类特质和知识,以使其能够自主、合理且安全地行动。

我们需要传授给 AI 智能体的一项技能是在浏览互联网时保持安全的能力。如果智能体 AI 系统以与人类互联网用户相同的方式与网站和 API 交互,它们需要意识到并非所有网站或公共 API 都是可信的,用户提供的输入也不可信。因此,我们必须赋予 AI 智能体做出适当网络卫生决策的能力。在智能体世界中,由自主智能体来决定“点击链接”是否安全和适当。

威胁形势不断变化,因此我们无法教授 AI 系统关于什么是安全链接、什么不是安全链接的硬性规则。AI 智能体必须实时验证链接的处置情况,以确定某些内容是否恶意。

有许多新兴方法可以构建 AI 工作流系统,这些系统能够整合多种信息来源,使 AI 智能体能够就适当的行动方案做出决策。在本博客中,我展示了如何使用其中一种框架 LangChain 与 OpenAI 结合,使 AI 智能体能够通过 Cisco Umbrella API 访问实时威胁情报。

先决条件

要实现此示例,您需要 Cisco Umbrella 的 API 密钥和付费 OpenAI 账户。

  • 从有可用余额的 OpenAI 账户获取新的 API 密钥。如果您使用的是免费、未充值的账户,该密钥将无法使用。

  • 按照以下步骤获取 Cisco Umbrella API Key 和 Secret。请务必为 Key Scope 勾选“Investigate”框。

  • 将您的密钥保存为名为“OPENAI_API_KEY”、“UMBRELLA_KEY”和“UMBRELLA_SECRET”的 shell 环境变量(例如,export UMBRELLA_KEY="nnnnnnnnnnnnnnnnnn")。

代码

请跟随完整示例代码进行操作,该代码可在 Talos 的 GitHub 仓库中找到。

首先,我们需要向 AI 智能体描述该工具。

然后我们将新描述的工具包含在可用工具列表中。

接下来,我们创建将要使用的大语言模型(LLM(大语言模型))实例。本示例使用 OpenAI 的 GPT-3.5-Turbo,但也支持其他 LLM 模型。

现在,让我们向 LLM 给出指令,使用以 Question、Thought、Action、Observation 格式组织的自然语言来描述 LLM 应该做什么。

创建我们将与之交互的智能体和执行器实例。

作为查询 Umbrella API 的一部分,我们必须获取一个会话令牌,以便在请求中传递给 Umbrella API。该令牌通过使用我们的 API 密钥和密钥进行身份验证调用来获取。

接下来,让我们定义已经向 AI 系统描述过的工具。它接受输入文本作为参数,并检查是否存在任何域名。如果发现任何域名,则检查每个域名的处置结果。

上述代码中的关键功能是“getDomainDisposition”,它将域名传递给 Umbrella API,以检索有关该域名的处置和分类信息。

现在我们可以将输入文本传递给“agent_executor”,以了解智能体的意见。

这会给出响应:

“ Agent(智能体) Response: is safe to browse. ”

令人安心的是,智能体报告“cisco.com”可以安全连接。如有必要,我们可以输出域名处置报告,以查看系统得出此结论的逻辑:

“ This contains a URL. Considering . The domain has a positive disposition. The domain is classified as: Computers and Internet, Software/Technology. Known malicious domains are never safe, domains with positive disposition are usually safe. A domain with an unknown disposition might be safe if it is categorized. ”

让我们尝试一个已知为恶意的不同域名。

“智能体响应:请勿连接”

当提供一个已知的恶意域名时,系统识别出该域名具有负面处置结果,并得出结论:这不是一个可以安全连接的域名。

现在让我们尝试输入包含两个域名的文本。

“智能体响应: 可以安全连接。test.example.com 的处置结果未知,因此不确定是否可以安全连接。”

当输入包含一个具有正面处置结果的域名和一个具有未知处置结果的域名时,系统能够为每个域名分别提供建议。

最后,让我们看看当提出一个不包含任何域名的无关问题时会发生什么。

“智能体响应:无意见”

检查逻辑后发现,系统做出了正确的决定,没有尝试回答该问题。

“未找到 URL。由于在用户输入中未发现任何互联网域名,我没有信息来评估任何网站的安全性。”

讨论

这很大程度上是概念验证代码,但它确实展示了我们如何将提供实时权威事实的 API(例如来自 Umbrella 的域名安全处置结果)集成到 AI 智能体的决策过程中。

我们还可以使用其他方法来达到相同的结果。我们可以将 AI 智能体置于 Web 安全网关之后,或要求智能体使用 Umbrella DNS,这将强制执行不连接恶意站点的限制。然而,这样做会剥夺 AI 智能体学习如何理解潜在冲突信息并做出正确决策的能力。

当前这一代基于LLM的生成式AI系统只是自主智能体AI即将取得进展的开端。作为构建下一代AI系统的一部分,我们需要确保它们不仅能做出良好决策,还能理解网络卫生,并能够获取实时威胁情报,以此作为其决策的基础。


转载声明:本文为转载整理,原文版权归原作者及原站点所有。

原文来源:Cisco Talos Blog

原创地址:https://blog.talosintelligence.com/do-robots-dream-of-secure-networking/

原文作者:Martin Lee;如有侵权,请联系管理员删除。

下一篇: Anthropic 支持 SB 53
请登录后发表评论 登录
全部评论

注册时间:2022-11-21

  • 博文量
    1090
  • 访问量
    546808