MagicPay

🔐 安全支付与身份验证工作流

MagicPay 提供受保护的支付、登录、身份验证工作流,通过隔离敏感数据与 LLM 提示,实现显式用户授权的安全自动化。

收藏
5.9k
安装
1.9k
版本
0.1.36
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

MagicPay 是一个专为敏感用户工作流设计的 CLI 工具,主要处理登录、身份验证、结账、捐赠、订阅和支付等需要显式用户批准的场景。其核心架构采用"产品会话优先"模式:首先通过 magicpay start-session 创建受保护的工作流会话,然后绑定浏览器子资源,最后执行 Memory 填充和敏感操作。

关键工作流程包括:

  • 预检配置magicpay status 检查 API 密钥和 CLI 状态
  • 启动会话magicpay start-session [name] 创建产品工作流根会话
  • 绑定浏览器magicpay launch [url]magicpay attach <cdp-url> 在会话内创建浏览器子资源
  • Memory 规划与填充magicpay plan-fill 生成无值的字段匹配计划,magicpay apply-fill 实例化已批准的值并填充表单
  • 敏感操作授权authorize-paymentsign-messageconfirm-action 等带类型的显式批准命令
  • 会话管理magicpay end-session 完成工作流,magicpay close 清理浏览器子资源

MagicPay Memory 系统存储用户批准的登录信息、身份数据、支付卡、钱包和可复用资料字段。关键安全设计是原始值永不经过 LLM 提示plan-fill 阶段仅传递无值的描述符和模糊引用,apply-fill 阶段才在受保护通道内实例化实际值。

显著优点

1. 强数据隔离:敏感原始值(密码、支付卡号、私钥等)对调用模型完全不可见,通过 fieldRefitemRef 等模糊引用操作
2. 显式授权机制:所有后果性操作(支付提交、登录、身份验证、账户变更)都需要匹配的带类型用户批准,防止意外执行

3. 灵活的批准渠道:支持 MagicPay UI、OTP 等多种批准方式,非强制单一渠道

4. 与浏览器工具解耦:MagicPay 专注保护工作流,通用页面导航由原生浏览器自动化工具处理,架构清晰

5. 细粒度的 Memory 管理:支持创建、更新、删除 Memory 条目和字段,区分公开字段和秘密字段的显示/日志行为

6. CAPTCHA 恢复支持:内置 solve-captcha 命令处理验证挑战,作为工作流的恢复机制

潜在缺点与局限性

1. 依赖受信执行环境:MagicPay 不使不受信运行时变安全;浏览器、操作系统或 shell 被入侵时无法保护数据
2. 无法保护已泄露的聊天输入:用户已在代理聊天中输入的敏感信息不在 MagicPay 保护范围内

3. 功能范围受限:仅处理批准的工作流场景,不适合通用网页自动化;需要与浏览器工具配合使用

4. 配置依赖:需要有效的 MagicPay API 密钥和特定 npm 包安装,存在供应商锁定

5. CDP 端点安全风险attach 命令需要用户明确批准的私有 CDP 端点,共享或受损环境存在隐患

6. Memory 匹配的不确定性:依赖语义匹配而非确定性规则,可能因页面变化导致匹配失败

7. 支付卡特殊限制:提供商支持的支付卡需要预授权才能显示句柄,流程较复杂

适合人群

  • 需要自动化敏感用户工作流的 AI 代理开发者:如自动结账、订阅管理、身份验证流程
  • 注重数据隐私的终端用户:希望密码、支付信息等敏感数据隔离于 AI 模型上下文
  • 企业合规场景:需要显式审计跟踪和用户批准记录的金融、医疗等敏感操作
  • 已有 Mercuryo/MagicPay 生态的用户:已拥有 API 密钥和 Memory 数据基础

常规风险

| 风险类别 | 描述 | 缓解措施 |
|---------|------|---------|
| 密钥泄露 | `MAGICPAY_API_KEY`、配置文件、CDP 端点泄露 | 禁止打印/日志/分享;受损环境立即轮换密钥 |
| 内存引用暴露 | `itemRef`、`fieldRef` 被暴露给用户或外部工具 | 仅用于 MagicPay 命令间传递,不入报告 |
| 越权执行 | 未经 `authorize-payment` 等批准执行支付 | 严格遵循"后果性操作需匹配类型批准"规则 |
| 会话状态混淆 | 未先 `start-session` 直接 `launch` 浏览器 | 强制执行"产品会话优先"顺序 |
| CAPTCHA 误用 | 将 `solve-captcha` 用于通用等待 | 仅确认真实 CAPTCHA 存在时调用 |
| 值穿透 | 试图将原始值传入 `plan-fill` 或聊天记录 | 使用 `--secret-*` 标志,禁止原始值过提示 |
| OTP 处理不当 | 在日志/报告中记录 OTP 数字 | OTP 仅用于 `confirm-otp` 命令,不入任何记录 |

MagicPay 内容

references文件夹
手动下载zip · 28.7 kB
commands.mdtext/markdown
请选择文件