Secure CLI tool for AI agents to receive secrets from humans without chat exposure, using ephemeral web forms and automatic credential storage.
说明:
## 核心用法
Confidant 是一款专为 AI Agent 设计的敏感信息接收工具,解决”如何安全获取用户 API Key、密码、Token”这一关键场景。其核心流程为:Agent 执行脚本 → 生成安全 URL → 将 URL 发送给用户 → 用户在浏览器中提交敏感信息 → 脚本自动接收并保存至本地文件。
主要脚本 `request-secret.sh` 支持多种模式:
– `–service `:按约定保存至 `~/.config//api_key`
– `–save `:指定显式文件路径
– `–env `:同时设置环境变量
– `–tunnel`:为远程用户自动启动 localtunnel 公网隧道
– `–json`:结构化输出便于自动化处理
针对 Agent 运行时的超时限制,文档强调必须使用 tmux 保持长轮询进程存活,避免在 `exec` 中直接执行导致被 SIGKILL。
## 显著优点
1. **零聊天暴露**:敏感信息全程不经过对话历史,杜绝日志残留
2. **自动化闭环**:从 URL 生成、隧道建立、轮询等待到文件保存 (`chmod 600`) 一气呵成
3. **双隧道支持**:localtunnel(免账号)与 ngrok(需账号)自动检测,适应内外网场景
4. **人机协作设计**:明确区分 Agent 动作(生成/等待)与用户动作(浏览器提交),流程清晰
5. **工程规范**:提供完整 exit code 体系、JSON 错误格式、依赖检查与服务器诊断脚本
## 潜在缺点与局限性
– **依赖链较重**:需预装 `curl`、`jq`、`npm`,且需全局安装 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 无法感知,造成状态不一致 |









