Confidant

🔐 安全传递 API 密钥与密码的人机协作工具

为 AI 代理提供安全的秘密传递通道,通过浏览器表单接收 API 密钥、密码等敏感信息,避免聊天记录泄露风险

收藏
8.3k
安装
2.5k
版本
1.5.2
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Confidant 是一个面向 AI 代理的安全凭证交接工具,解决"如何在不暴露于聊天上下文的前提下获取用户敏感信息"这一关键安全问题。其工作流程遵循严格的人机协作模式:代理运行脚本生成安全 URL → 在聊天中发送 URL 给用户 → 用户浏览器中填写并提交秘密 → 脚本自动接收并保存到本地文件(权限 600)→ 服务器端立即销毁副本。

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

  • --service <name>:自动保存到 ~/.config/<name>/api_key
  • --save <path>:指定自定义保存路径
  • --env <varname>:同时设置环境变量
  • --tunnel:为远程用户自动启动 localtunnel 公网隧道
  • --json:机器可读的 JSON 输出

显著优点

1. 零聊天暴露:秘密全程不经过对话上下文,杜绝日志、历史记录、截图等泄露渠道
2. 端到端加密:传输过程受 TLS 保护,服务器端不持久存储(接收即删除)

3. 无缝隧道支持:自动检测或启动 ngrok/localtunnel,无需公网 IP 或防火墙配置

4. 权限最小化:保存文件默认 600 权限,符合安全基线

5. 人机界限清晰:强制代理不得自行访问 URL、不得轮询检查,必须由真实用户完成提交

潜在局限与风险

1. 依赖外部隧道服务:localtunnel 为第三方开源服务,虽无需账户但存在服务可用性风险;ngrok 需注册且免费层有速率限制
2. 本地服务器攻击面:3000 端口监听期间,同一网络内的其他实体可能探测到服务(虽请求 ID 随机且 24h 过期)

3. 无客户端身份验证:URL 本身即为唯一凭证,若被中间人截获链接,理论上可抢先提交(建议结合短有效期使用)

4. Node/npm 依赖链:需安装 npm 包 @aiconnect/confidant,存在供应链攻击潜在风险

5. 进程残留风险:脚本虽会复用现有服务器,但异常退出时可能留下孤儿进程

适合人群

  • 需要频繁配置 API 密钥的 AI 代理工作流(如 OpenAI、SerpAPI、数据库连接字符串等)
  • 远程/多用户协作场景,代理与用户不在同一机器或网络
  • 对聊天记录合规性有严格要求的企业环境(防止敏感信息进入审计日志)

常规风险

  • 钓鱼 URL 风险:恶意代理可能伪造类似链接诱导用户提交秘密至错误端点,需用户验证域名
  • 浏览器环境安全:用户端可能存在键盘记录器、恶意浏览器扩展等,超出本工具防护范围
  • 文件系统权限误配:若 umask 设置异常或手动修改权限,可能导致其他用户可读

Confidant 内容

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