AIProxy 是一款面向 iOS 应用开发者的 AI 接入安全服务,核心目标是保护应用所依赖的 AI API 密钥与端点。资料显示,如果应用直接与 OpenAI、Anthropic 等 AI 提供商通信,提供商 API 密钥很可能被窃取;任何随应用分发或在运行时加载的内容,都可能被观察并盗取。一旦密钥泄露,攻击者可在用户察觉并轮换密钥之前不断产生费用。AIProxy 通过托管代理解决这一问题。
主要能力包括安全、可观测性与控制。它使用拆分密钥加密、DeviceCheck 和证书固定相结合,防止密钥与端点被盗用或滥用。速率限制可防止端点滥用,超过在速率限制构建器中设置的阈值时,请求会被拒绝。仪表盘帮助用户监控使用情况,并深入了解用户如何与应用中的 AI 交互。模型覆盖功能允许直接从仪表盘更改或试验不同模型,无需更新应用。实时控制台可用于从应用测试 API 调用,发现错误并了解性能。可疑活动告警可让用户快速采取行动。资料还提到支持自带密钥,配置 AIProxy 将请求直接发送到其支持的提供商,让用户可以选择使用自己的密钥。
使用方式方面,AIProxy 提供 Swift 客户端库 AIProxySwift,支持超过 15 种不同的 AI 提供商,便于集成到应用中。资料给出了集成步骤:添加 AIProxySwift 包(https://github.com/lzell/AIProxySwift)。在开发者仪表盘中配置项目后,会获得初始化代码,用于放入 AIProxySwift 客户端。资料称可在数分钟内集成 Swift 客户端。
关于密钥保护机制,资料说明 AIProxy 实际不存储任何客户 API 密钥。它会加密密钥,并将加密结果的一部分存储在数据库中,单独这一部分无法还原出密钥;加密结果的另一部分随应用请求发送。两部分结合时,才能派生密钥并完成请求。提供给用户的密钥本身无用,可以硬编码在客户端中。在仪表盘添加 OpenAI 密钥时,不会将其存储在后端;加密后仅存储一半,另一半给用户用于客户端,请求时合并两部分并解密。
端点防滥用机制包括:1. 用户可配置代理规则,仅启用应用依赖的端点,例如仅允许 /v1/chat/completions,阻止其他端点,降低对攻击者的吸引力。2. 使用 Apple 的 DeviceCheck 服务,确保请求来自运行在合法 Apple 硬件上的应用。3. 保证 DeviceCheck 令牌仅使用一次,防止攻击者重放从网络嗅探到的令牌。
基础设施方面,代理部署在 AWS Lambda 上,可轻松在负载均衡器后水平扩展,用户可确信代理会持续运行。适用场景主要是 iOS 应用开发者希望安全接入多个 AI 提供商、保护 API 密钥、控制端点滥用并监控使用情况。限制方面,资料未提供价格、收费模式、具体支持的全部提供商名单、非 iOS 平台支持情况以及详细服务条款等信息。