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

4 月 21 日
 YuanJiwei

做 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 的进程空间里根本没有凭证。

适合场景:

完整功能

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

其他能力:

安全模型

层级 机制 效果
加密存储 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

981 次点击
所在节点    程序员
6 条回复
crime1024
4 月 21 日
有点意思,有 GO 版本的么
YuanJiwei
4 月 21 日
@crime1024 你需要 Goland 的 SDK 还是想要 Golang 版本 CLI 呀,因为这个工具是 CLI ,和编程语言无关的
gbin
4 月 21 日
@crime1024 感谢关注,这个主要是个人开发者使用,如果你需要 go sdk 可以提个 issue
gbin
4 月 21 日
感谢 jiwei ,作为这个作品的开发者之一,也谈谈我对 sigcli 的看法。

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

还是那句话:Sign in your way, AI works on your behalf
beyondstars
4 月 22 日
你相当于把 surge / charles proxy 的 mitm 功能单独拿出来给 ai agent 做了特化。
gbin
4 月 22 日
@beyondstars 我们做了比这个多一些,我们相当于把浏览器的用户身份管理能力提取出来了,然后 AI Agent 可以通过 Sigcli 代表用户操控任意系统。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1207593

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX