AI时代的非人类身份安全

AI时代的非人类身份安全

随着AI在企业中的崛起,攻击面也在不断扩展。了解如何保护非人类身份(Non-Human Identities, NHIs)并防止未经授权的访问。

AI时代的非人类身份安全


非人类身份(NHIs)近期成为焦点并非偶然——随着AI工具和自主代理的快速普及,企业的NHI数量正呈爆炸式增长。这一趋势也引发了关于机器身份与治理的大量研究和讨论。

与系统的普通用户类似,NHI(如AI代理、机器人、脚本和云工作负载)通过密钥(secrets)进行操作。这些凭证赋予其访问敏感系统和数据的权限,可能以多种形式存在,且必须从创建到销毁全程受控。然而,机器无法使用多因素认证或通行密钥(passkeys),而开发者在部署应用时可能生成数百个此类凭证。


AI加速NHI的扩张与风险

企业AI的采用速度惊人,迫使开发者以前所未有的速度推出NHI。AI虽能提升效率,但也带来隐私泄露、密钥暴露和不安全代码等风险。大型语言模型(LLMs)的应用场景令人兴奋,但需谨记:技术引入越多,攻击面越大——尤其是当AI代理被赋予自主权时。


AI代理带来的NHI风险

1. AI代理与密钥泛滥(Secrets Sprawl)

“AI代理”是基于LLM的系统,可自主决策如何完成任务。它们不同于传统的确定性机器人(仅按开发者预设的步骤执行),而是能访问内部数据源、搜索互联网,并代表用户与其他应用交互。

例如,一个AI采购代理可以分析需求、通过电商平台比价、与AI聊天机器人议价,甚至自主下单。每个安全通信都需要凭证,而这类代理需通过DevOps流程部署,导致更多跨环节的身份验证需求。密钥往往在系统、日志和仓库中意外散落。

企业常为AI代理赋予比传统机器人更广泛的读写、甚至创建和删除权限。由于AI代理的自主性,若权限限制过严,其任务可能受阻;但宽松权限又易导致过度授权。

风险点:任一密钥泄露都可能引发数据泄露或未经授权的交易。需通过最小权限访问、API密钥保护和审计日志来强化NHI治理,并关注密钥存储之外的暴露风险。

2. 孤立的API密钥(Orphaned API Keys)

孤立API密钥指不再与用户账户关联的密钥(如员工离职后未被删除的密钥)。在NHI场景中,密钥的“归属权”模糊(开发者?运维团队?),导致其极易被遗忘却仍有效。

关键问题:谁应对这些密钥引发的安全漏洞负责?

3. 基于提示的架构与敏感数据暴露

AI助手(如ChatGPT、Gemini、GitHub Copilot)依赖提示(prompt)架构,通过上下文、命令和数据与LLM交互。这种模式虽简化了开发,但也可能导致敏感信息(如API密钥)被写入提示或日志。

案例:财务团队用AI聊天机器人处理发票时,若提示中包含API key ABC123,该密钥可能被明文记录。若日志未加密,攻击者可借此入侵发票系统。

防护措施:需阻止开发者及用户将敏感数据嵌入提示或日志,并扫描LLM输出中的异常信息。

4. AI代理与数据收集风险

AI代理常从以下来源收集数据:

  • 云存储(如AWS S3、Google Drive)
  • 企业应用(如Jira、Confluence、Salesforce)
  • 通信系统(如Slack、Microsoft Teams)

风险:若AI代理可访问这些系统中的任何数据,攻击者亦可滥用其NHI权限。需定期轮换所有内部系统的密钥,并清理日志。

5. AI生成代码与嵌入式密钥

GitHub Copilot、Amazon CodeWhisperer等AI编码工具已被超50%的开发者使用。然而,AI生成的代码可能诱导开发者硬编码密钥(如API密钥、数据库凭证)。

案例:开发者要求Copilot生成调用云服务的代码时,可能得到:

import requests  
API_KEY = "sk_live_ABC123XYZ"  
response = requests.get("https://api.example.com/data", headers={"Authorization": f"Bearer {API_KEY}"})  

若匆忙中替换为真实密钥并提交至代码仓库,凭证可能被泄露。

防护:通过预提交钩子(pre-commit hooks)等工具扫描代码,防止密钥泄露。


未来方向:如何保护非人类身份

  1. 发现密钥:自动识别企业环境中的所有AI代理凭证(包括存储库内外)。
  2. 评估风险:明确密钥的用途、访问范围及关联的关键系统。
  3. 动态防护:实时监控提示和日志,防止敏感数据嵌入。

让NHI治理跟上AI速度

AI代理的部署速度与复杂性并存,既带来效率提升,也伴随风险。随着AI普及,保护机器身份已非可选,而是必需。唯有通过系统化的密钥管理、权限控制和持续监测,才能在AI时代实现安全与创新的平衡。


【注】本文译自:
Non-Human Identity Security in the Age of AI

评估您的数据是否可用于人工智能的三个考虑因素

评估您的数据是否可用于人工智能的三个考虑因素

​ 多数组织正在人工智能和生成性人工智能的炒作中迷失方向。在许多情况下,他们并没有准备好人工智能项目所需的数据基础。三分之一的高管认为,只有不到50%的组织有了人工智能所需的数据,而多数组织并未准备好。因此,在开展人工智能项目之前,奠定正确的基础至关重要。在评估准备情况时,主要考虑因素如下:

  • 可用性:您的数据在哪里?
  • 类目:您将如何记录和协调您的数据?
  • 质量:优质数据是人工智能项目成功的关键。

​ 人工智能存在“垃圾进,垃圾出”的问题:如果您输入的数据质量差、不准确或无关紧要,那么输出也会如此。这些项目涉及的工作量和费用都非常高,风险也很大,因此从错误的数据开始是不可取的。

数据对人工智能的重要性

​ 数据是人工智能的基本要素;它是基于数据进行训练的,然后为特定目的处理数据。当您计划使用人工智能解决问题时——即使是使用现有的大型语言模型,如ChatGPT这样的生成性人工智能工具——您也需要为其提供业务的正确上下文(即优质数据),以便根据您的业务上下文定制答案(例如,用于检索增强生成)。而并不只是简单地将数据塞到模型中。

​ 如果您正在构建新模型,您必须知道将使用什么数据进行训练和验证。这些数据需要进行分离,以便您可以在一个数据集上进行训练,然后在不同的数据集上进行验证,来确定模型是否有效。

建立正确数据基础的挑战

​ 对于许多公司来说,知道数据在哪里以及数据的可用性是第一项重大挑战。如果您对自己的数据有一定的了解——数据的存在情况、数据所在的系统、数据的规则等——这已经是一个良好的起点。然而,事实是,许多公司并没有达到这种理解水平。

​ 数据并不总是随时可用;它可能分散在许多系统和信息孤岛中。尤其是大型公司,往往拥有非常复杂的数据环境。他们没有一个单一的、经过整理的数据库,所有模型所需的数据都整齐地组织在行和列中,可以直接检索和使用。

​ 另一个挑战是数据不仅存在于许多不同的系统中,而且格式各异。存在SQL数据库、NoSQL数据库、图数据库、数据湖,有时数据只能通过专有应用程序API访问。还有结构化数据和非结构化数据。一些数据存放在文件中,可能还有一些来自工厂传感器的实时数据,等等。根据您所在的行业,数据可能来自不同系统和格式的众多来源。协调这些数据是困难的;大多数组织没有相应的工具或系统来统一维护。

​ 即使您能够找到数据并将其转换为业务理解的统一格式(规范模型),您还需要考虑数据质量。数据是杂乱的;粗略看似乎没有问题,但仔细观察时,数据中会出现错误和重复,因为您是从多个系统中获取数据,不一致是不可避免的。您不能用低质量的训练数据来训练人工智能模型,然后期待高质量的结果。

如何奠定正确的基础:成功的三个步骤

​ 人工智能项目基础的第一块砖是了解您的数据。您必须能够清晰地表达业务正在捕获什么数据,这些数据存放在哪些系统中,数据的物理实现与业务的逻辑定义有何不同,以及业务规则是什么……

​ 接下来,您必须能够评估您的数据。就是要问:“对我的业务来说,什么是优质数据?”您需要定义优质数据的标准,并制定验证和清洗数据的规则,以及维护数据质量的策略。

​ 如果您能够从异构系统中获取数据并将其转换为规范模型,并对其进行整理以提高质量,您仍然需要关注可扩展性。这是第三个基础步骤。许多模型需要大量数据进行训练;您还需要大量数据用于检索增强生成,这是提高生成性人工智能模型性能的一种技术,它使用未包含在训练模型中的外部信息。所有这些数据都是不断变化和发展的。

​ 您需要一种方法来创建合适的数据管道,以适应您可能输入的数据的负载和体积。最初,您可能会被弄得不知所措,忙于寻找数据来源、清洗数据等,以至于没有充分考虑到对于不断演变的数据进行扩展将面临的挑战。因此,您必须考虑使用哪个平台来构建该项目,以便该平台能够扩展到您将引入的数据量。

为可信数据创造环境

​ 在进行人工智能项目时,将数据视为事后考虑因素必然会导致糟糕的商业结果。任何认真对待通过开发和使用人工智能来建立和维持商业优势的人都必须首先关注数据。主要问题在于:整理和准备用于商业目的数据具有相当的复杂性和挑战性,首当其冲的是时间因素。也就是说不给您范错的时间;最起码您要有一个帮助您维护高质量数据的平台和方法。了解和评估您的数据,然后规划可扩展性,您就会朝着更好的商业结果迈出一步。


【注】本文译自:https://sdtimes.com/ai/three-considerations-to-assess-your-datas-readiness-for-ai