Confidant

🔐 安全接收用户机密 · 零聊天暴露

Secure CLI tool for AI agents to receive secrets from humans without chat exposure, using ephemeral web forms and automatic credential storage.

收藏
9.4k
安装
2.5k
版本
1.5.3
CLS 安全性认证2026-07-08
点击查看完整报告 >

使用说明

核心用法

Confidant 是一款专为 AI Agent 设计的敏感信息接收工具,解决"如何安全获取用户 API Key、密码、Token"这一关键场景。其核心流程为:Agent 执行脚本 → 生成安全 URL → 将 URL 发送给用户 → 用户在浏览器中提交敏感信息 → 脚本自动接收并保存至本地文件。

主要脚本 request-secret.sh 支持多种模式:

  • --service <name>:按约定保存至 ~/.config/<name>/api_key
  • --save <path>:指定显式文件路径
  • --env <varname>:同时设置环境变量
  • --tunnel:为远程用户自动启动 localtunnel 公网隧道
  • --json:结构化输出便于自动化处理

针对 Agent 运行时的超时限制,文档强调必须使用 tmux 保持长轮询进程存活,避免在 exec 中直接执行导致被 SIGKILL。

显著优点

1. 零聊天暴露:敏感信息全程不经过对话历史,杜绝日志残留
2. 自动化闭环:从 URL 生成、隧道建立、轮询等待到文件保存 (chmod 600) 一气呵成

3. 双隧道支持:localtunnel(免账号)与 ngrok(需账号)自动检测,适应内外网场景

4. 人机协作设计:明确区分 Agent 动作(生成/等待)与用户动作(浏览器提交),流程清晰

5. 工程规范:提供完整 exit code 体系、JSON 错误格式、依赖检查与服务器诊断脚本

潜在缺点与局限性

  • 依赖链较重:需预装 curljqnpm,且需全局安装 Confidant CLI
  • Node.js 生态:基于 npm/npx,对纯 Python/Go 环境不够友好
  • 隧道可靠性:localtunnel 为社区服务,无 SLA 保障,可能偶发不稳定
  • 单点阻塞--poll 模式必须等待用户交互,不适合完全无人值守场景
  • 无加密传输说明:文档未明确说明浏览器→隧道的 TLS 细节,假设依赖 localtunnel/ngrok 的默认加密

适合人群

  • 开发 AI Agent 的工程师,需安全集成第三方 API 凭证
  • 远程运维场景,需让用户安全提交服务器密码或 Token
  • 注重审计合规、要求敏感信息不落日志的企业环境

常规风险

| 风险类型 | 说明 |
|---------|------|
| 隧道中间人 | 使用公共 tunnel 服务时,理论上存在 DNS 劫持或服务商嗅探风险 |
| 文件权限误配 | 虽默认 `chmod 600`,但若用户手动修改或 umask 异常,可能导致凭证泄露 |
| 服务器残留 | 未正确关闭的 Confidant 进程可能成为本地攻击面 |
| 社交工程 | 恶意 Agent 可能伪造 Confidant URL 诱导用户提交凭证至钓鱼站点 |
| 超时处理 | 未按文档使用 tmux 时,进程被 kill 后用户提交成功但 Agent 无法感知,造成状态不一致 |

安全解读

核心用法

Confidant 采用人机分离设计解决AI场景下的敏感信息收集难题:

1. 启动脚本生成唯一安全URL → 强制在聊天中发送给用户 → 用户浏览器中提交 → 脚本自动轮询接收 → 保存至本地文件(默认 ~/.config/<service>/api_key,权限600)

2. 关键命令

  • bash {skill}/scripts/request-secret.sh --label "描述" --service <名称> 标准流程
  • 添加 --tunnel 支持远程用户(自动启动localtunnel公网隧道)
  • 支持 --env 同时设置环境变量,--save 指定自定义路径

3. 必须配合tmux:因脚本阻塞等待人工提交(可能数分钟),超时会被SIGKILL,需用tmux保持进程存活

显著优点

  • 零聊天暴露:密钥永不经过聊天历史,根治复制粘贴泄露风险
  • 文件权限硬化:自动 chmod 600,遵循最小权限原则
  • 隧道灵活:自动检测ngrok或启动localtunnel,本地/远程场景通用
  • 多输出模式:支持JSON输出便于Agent程序化解析
  • 来源可信:aiconnect-cloud GitHub组织维护,代码开源透明

潜在缺点与局限

  • 网络暴露面:localtunnel/ngrok将本地服务暴露公网,URL虽随机且24h过期,仍存在扫描/泄露风险
  • npm供应链依赖:需信任 @aiconnect/confidantlocaltunnel 包,无签名验证机制
  • 全局安装风险npm install -g 可能触发权限问题
  • 元数据残留/tmp 下的隧道URL和日志文件可能泄露服务名称等元数据
  • 人机流程硬性:必须人工浏览器提交,无法全自动化

适合人群

  • AI Agent开发者需安全收集用户API密钥
  • 远程协作场景下需传递敏感凭证
  • 对聊天历史泄露高度敏感的企业用户
  • 需标准化密钥存储路径(~/.config/<service>/)的自动化工作流

常规风险

| 场景 | 风险等级 | 说明 |
|------|---------|------|
| URL转发误发 | 中 | 用户可能将含密钥的URL转发至不安全渠道 |
| 本地网络优先 | 低 | 同一网络下应禁用 `--tunnel` 减少暴露 |
| 依赖包漏洞 | 中 | 建议定期 `npm audit` 监控 |
| tmux会话残留 | 低 | 密钥接收后应及时清理tmux会话避免敏感信息留存 |

安全建议:优先本地网络使用、URL单用户单用、接收后立即验证存储并清理临时文件。

Confidant 内容

scripts文件夹
手动下载zip · 10.2 kB
check-server.shtext/x-shellscript
请选择文件