隐式信任的终结:为 LlamaIndex 代理引入加密身份

发布: (2026年2月13日 GMT+8 05:10)
4 分钟阅读
原文: Dev.to

Source: Dev.to

在生产环境——尤其是金融、医疗或企业数据领域——让 LLM 盲目接受来自其他代理的上下文是一种安全漏洞。 “隐式信任”(即代理 A 因为与代理 B 共享运行时而假设其友好)已经不再足够。

今天我们宣布 Agent Mesh 集成 (llama-index-agent-agentmesh)。这是一项对代理栈的根本加固,将“实验性群体”转向受治理、基于身份的网格。

核心转变:身份 vs. 凭证

大多数代理框架将身份视为静态字符串。我们采用不同的方式,将 你是谁你的行动权利 分离。

  • 持久身份CMVKIdentity 充当代理的永久、加密“灵魂”。它不会改变。
  • 短暂凭证 – 底层 Agent Mesh 核心管理生命周期。虽然身份是静态的,但用于签署请求的凭证默认有严格的 15 分钟 TTL(生存时间)。

这意味着即使代理的密钥在理论上被泄露,也会在几分钟内失效。系统会自动进行零停机时间的轮换——这曾是高端微服务的专属功能,现在也可用于 AI 代理。

协议:先验证,再信任

该集成使用 TrustedAgentWorkerTrustGatedQueryEngine 强制执行 “先验证,再信任” 工作流。

  • 握手 – 在任何数据交换之前,代理会进行加密握手。TrustHandshake 协议会根据 AgentRegistry(我们可信 DID 的“黄页”)验证对等方的签名。
  • 赞助者责任 – 每一次操作都通过委托链追溯到 sponsor_email。你可能还不知道是哪位用户触发了代理,但你始终会知道是谁部署了它以及谁对其行为负责。

工作原理

代码保持简洁,但安全姿态严格改变。下面是将标准查询引擎包装在信任层中的示例:

from llama_index.agent.agentmesh import (
    CMVKIdentity,
    TrustedAgentWorker,
    TrustGatedQueryEngine,
)

# 1. Generate a verifiable identity 
# The integration handles the persistent identity; 
# the mesh core manages the 15‑min credential rotation.
identity = CMVKIdentity.generate('research-agent', capabilities=['search'])

# 2. Create an agent that requires this identity
worker = TrustedAgentWorker.from_tools(
    tools=[search_tool],
    llm=llm,
    identity=identity,
)

# 3. Gate your data access
# The engine will now REJECT queries from agents without 
# valid, unexpired credentials.
trusted_engine = TrustGatedQueryEngine(
    query_engine=base_engine,
    identity=identity,
)

接下来:通往 OBO 的道路

虽然此版本解决了代理间的信任和赞助者责任,但我们已经在展望未来。当前架构保障了管道安全,下一步的前沿是 On‑Behalf‑Of (OBO) 流程——将最终用户的上下文通过网格传递,以实现细粒度、按用户的访问控制。

目前,此集成确保你的代理不再是暗中运行的匿名脚本。它们是可验证、可追责的服务,已准备好投入生产。

查看 Pull Request #20644 中的代码。

0 浏览
Back to Blog

相关文章

阅读更多 »

KAIzen — AI 时代对敏捷的需求

一家游戏公司的小团队如何将流效率从 32% 提升到 85%——通过改变我们提供给 AI 的内容。我们的团队严格遵循 Scrum:两周的 s...