Secure CLI tool for AI agents to receive secrets from humans without chat exposure, using ephemeral web forms and automatic credential storage.
基本信息
- 技能名称?Confidant
- 中文名称?安全接收用户机密 · 零聊天暴露
- 作者?ericsantos
- 分类?专业技能
- 版本?1.5.3
- 标签?secrets-management, credential-handoff, security, cli-tool, ai-agent, tunnel, localtunnel, ngrok, automation
使用方法
使用说明
核心用法
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。
显著优点
- 零聊天暴露 :敏感信息全程不经过对话历史,杜绝日志残留
- 自动化闭环 :从 URL 生成、隧道建立、轮询等待到文件保存 ( chmod 600 ) 一气呵成
- 双隧道支持 :localtunnel(免账号)与 ngrok(需账号)自动检测,适应内外网场景
- 人机协作设计 :明确区分 Agent 动作(生成/等待)与用户动作(浏览器提交),流程清晰
- 工程规范 :提供完整 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 无法感知,造成状态不一致 |
secrets-management credential-handoff security cli-tool ai-agent tunnel localtunnel ngrok automation
💬 评论 (0)
📭 还没有评论,快来抢沙发吧!