GoForum🌐 V2EX

开源了一个 AI Agent 认证工具 sig —— 让 AI Agent 安全访问外部系统

YuanJiwei · 2026-04-21 21:50 · 0 次点赞 · 4 条回复

做 AI Agent 的都知道一个痛点—— Agent 需要访问 Jira 、Slack 、Confluence 、内部 API ,但凭证怎么传?粘贴到 shell 历史里?写在 .env 里?直接丢给 Agent 的上下文窗口?每一种都是安全隐患。

所以做了 sig ,核心思路:在网络层解决认证问题,让凭证永远不暴露给 AI Agent 。

MITM 代理——最安全的方式

这是 sig 最核心的能力。一条命令启动本地 HTTPS 代理:

sig proxy start
# Proxy: running  pid=26676  port=60702
#   http_proxy=http://127.0.0.1:60702
#   https_proxy=http://127.0.0.1:60702

原理很直接:

  1. sig 在 127.0.0.1 启动一个 MITM 代理( ECDSA P-256 CA + 按域名动态签发叶证书)
  2. AI Agent 的 Agent Skill 只需设置 HTTP_PROXY / HTTPS_PROXY,正常发 HTTPS 请求(curl, wget, python scripts)
  3. MITM 代理拦截请求,根据目标域名匹配 provider ,自动注入 Cookie / Authorization / 自定义 Header
  4. AI Agent 从头到尾不知道凭证的存在——它发的是代理请求,凭证注入在网络层透明完成
  AI Agent                    sig proxy (127.0.0.1)              Target API
     │                              │                               │
     │  GET /api/myself             │                               │
     │  (no auth headers)      ──→  │  + Cookie: SESSION=xxx        │
     │                              │  + Authorization: Bearer yyy  │
     │                              │  ──────────────────────────→  │
     │                              │                               │
     │         ← 200 OK ────────────│  ← 200 OK ────────────────────│

MITM 代理模式下,凭证只存在于代理进程内存中,AI Agent 的进程空间里根本没有凭证。

适合场景:

  • 长期运行的 Agent 守护进程
  • 多个 Agent 共享同一份凭证(都指向同一个代理)
  • 极致安全要求——凭证不能出现在任何进程的环境变量或内存中

完整功能

npm install -g @sigcli/cli

sig init                              # 初始化配置
sig login https://jira.example.com    # 浏览器 SSO 登录一次

# 方式一:MITM 代理(推荐,最安全)
sig proxy start
sig proxy trust                       # 信任 CA 证书
export https_proxy=http://127.0.0.1:60702
curl https://jira.example.com/rest/api/2/myself   # 自动注入凭证

# 方式二:环境变量注入
sig run my-jira -- claude "把所有 P1 Bug 整理成摘要"

# 方式三:直接请求
sig request https://jira.example.com/rest/api/2/myself

其他能力:

  • 浏览器 SSO — 支持任何网站、任何登录流程,无头→可视自动切换
  • AES-256-GCM 加密存储 — 凭证不出现在代码仓库或 shell 历史中
  • 4 种策略 — cookie 、oauth2 、api-token 、basic
  • SSH 同步 — 笔记本登录,sig sync push 到远程机器
  • AI Agent Skills — 内置 Slack 、Outlook 、MS Teams 、V2EX 技能
  • TypeScript & Python SDK

安全模型

层级 机制 效果
加密存储 AES-256-GCM 凭证文件即使被读取也无法解密
进程隔离 sig run 环境变量注入 不出现在 shell 历史或 ps 输出
输出脱敏 stdout/stderr 自动替换 [REDACTED] AI 上下文窗口看不到真实令牌
零信任代理 MITM 代理在网络层注入 AI 进程内存中根本没有凭证

一起来做

项目刚起步,还有很多可以做的方向:更多浏览器适配器、更多 AI Agent Skills (欢迎给你常用的系统写一个)、OAuth2 PKCE 流程优化、Web UI 管理面板……

如果你对 AI Agent 基础设施这个方向感兴趣,欢迎来一起维护。一个人走得快,一群人走得远。

项目完全 MIT 开源,TypeScript 实现。

GitHub: https://github.com/sigcli/sigcli 网站: https://sigcli.ai

Issue 、PR 、讨论都欢迎: https://github.com/sigcli/sigcli

也可以微信交流: eXVhbnNkdQ==( base64 )或者 cHlsb25wZW5n( base64)

Star 一下也是支持 ⭐️ https://github.com/sigcli/sigcli

4 条回复
crime1024 · 2026-04-21 21:55
#1

有点意思,有 GO 版本的么

YuanJiwei · 2026-04-21 22:10
#2

@crime1024 你需要 Goland 的 SDK 还是想要 Golang 版本 CLI 呀,因为这个工具是 CLI ,和编程语言无关的

gbin · 2026-04-21 22:50
#3

@crime1024 感谢关注,这个主要是个人开发者使用,如果你需要 go sdk 可以提个 issue

gbin · 2026-04-21 22:55
#4

感谢 jiwei ,作为这个作品的开发者之一,也谈谈我对 sigcli 的看法。

过去,人使用浏览器登录系统然后操控系统,浏览器负责管理用户身份和提供用户操作接口。 未来,所有系统提供 Agent 操作接口,Agent 接管身份管理和系统操控。 在那个“未来”到来之前,sig 就是这个桥梁,帮 Agent 管理用户身份,打通 Agent 和系统的连接,让 AI 更懂你的系统。

还是那句话:Sign in your way, AI works on your behalf

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: YuanJiwei
发布: 2026-04-21
点赞: 0
回复: 0