Skip to content

[Feature] [Service][Adapters] Adapters 安全加固 #30

Description

🚀 背景描述

Adapters 层对 MCP/Remote(A2A)/Sandbox 三类外部服务仅有超时/重试/熔断/审计治理(ExternalCallExecutor 等),无传输安全与鉴权:AgentCoreExternalProperties 中 server 配置只有 URL/timeout,未含 TLS 证书与认证凭据。外部服务若开启 mTLS 或自定义鉴权(如 Token/签名),当前无法对接。需补充出站 mTLS 支持与鉴权扩展能力。

设计思路

  • 在 AgentCoreExternalProperties 的 McpServer/RemoteClientEndpoint/SandboxServer 增加安全子配置(tls.keystore/truststore/client-auth、auth.type/token/header/credentials-ref)。
  • 出站 HTTP client(MCP transport、A2A SDK client、Sandbox client)注入统一构建的 SSLContext 与鉴权拦截器;复用 common 层证书加载工具。
  • 为各类Client提供鉴权扩展 SPI(如 ExternalAuthenticator),支持开发者按 Server 维度注入自定义鉴权所需要准备的header/参数的逻辑。

涉及到的对外API

  • 新增 openjiuwen.service.external.{mcp,remote,sandbox}.servers[].tls.* 与 servers[].auth.* 配置。
  • 无 Java 公共 API 破坏性变更。

与其他模块的相关性描述

  • 与"App 安全加固"共用证书/TrustStore 抽象。
  • DecoratingMcpClient/DecoratingRemoteClient/DecoratingSandboxClient 透传安全配置。
  • CredentialDecryptor(common 层已有)可复用于凭据解密。

测试设计与测试计划

  • 功能:对接开启 mTLS 的 mo

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions