做 AI Agent 的都知道一个痛点—— Agent 需要访问 Jira 、Slack 、Confluence 、内部 API ,但凭证怎么传?粘贴到 shell 历史里?写在 .env 里?直接丢给 Agent 的上下文窗口?每一种都是安全隐患。
所以做了 sig ,核心思路:在网络层解决认证问题,让凭证永远不暴露给 AI Agent 。
这是 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
原理很直接:
127.0.0.1 启动一个 MITM 代理( ECDSA P-256 CA + 按域名动态签发叶证书)HTTP_PROXY / HTTPS_PROXY,正常发 HTTPS 请求(curl, wget, python scripts)Cookie / Authorization / 自定义 Header 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
其他能力:
sig sync push 到远程机器| 层级 | 机制 | 效果 |
|---|---|---|
| 加密存储 | 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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.