AI认证网关(AAG)
这 AI认证网关 是一个使用TypeScript构建的模型上下文协议(MCP)代理服务器。它聚合多个下游MCP服务器,并动态、安全地将凭据注入API请求。这允许AI客户端(如Claude Desktop或Cursor)安全地访问远程外部工具,而无需在其本地配置文件中暴露敏感的API密钥或JWT。
](https://github.com/Cyber-Sec-Space/ai-auth-gateway/blob/main/CHANGELOG.md) ](https://www.npmjs.com/package/@cyber-sec.space/ai-auth-gateway)  
通知:这是 社区版(开源) 根据许可 AGPLv3对于企业部署、白标或使用此网关构建商业非开源服务 商业许可证 很快就会上市。如需商业许可咨询,请联系作者。
特性
- 🛡️ 安全秘密管理:与操作系统钥匙链集成(
keytar)以及AES-256-GCM,以安全地存储和注入API密钥。 - ⏳ 智能速率限制:内置令牌桶算法,设置每个AI客户端的动态RPM(每分钟请求数)限制,保护您的下游API配额。
- 🎭 自动数据屏蔽:自动检测并屏蔽下游结果中的API密钥或敏感信息,防止泄露到AI模型。
- 🔀 协议多路复用:无缝连接
stdio,sse,或http通过内置连接池、空闲超时和自动心跳监控,将数据传输到下游服务器。 - 🔒 粒度RBAC:具体控制哪个连接的AI客户端可以访问哪些服务器上的哪些工具。
- 📦 模块化核心:建立在
@cyber-sec.space/aag-core图书馆。完全注入依赖性,便于企业采用(例如用Hashicorp Vault替换Keytar)。 - 🕵️ 审计和记录:屏蔽和安全日志跟踪AIID、连接时间和工具执行状态(
logs/proxy.log).
______________________________________________________________________
🚀 安装
1.先决条件
- (v16+推荐)
npm或yarn
2.通过NPM安装
全局安装AI Auth网关,以便 aagcli 命令在系统上的任何位置都可用:
npm install -g @cyber-sec.space/ai-auth-gateway*NPM页面: @网络安全、空间/身份验证网关*
3.更新网关
要将全局安装更新到最新版本,请执行以下操作:
npm update -g @cyber-sec.space/ai-auth-gateway______________________________________________________________________
⚙️ 配置和使用
网关由以下驱动 mcp-proxy-config.json.示例文件(mcp-proxy-config.sample.json)包含在根目录中。
快速入门:运行服务器
要在端口3000本地启动代理服务器,请执行以下操作:
npm start*代理将监听: http://localhost:3000/sse*
连接您的AI客户端
要连接您的AI客户端(例如,Claude Desktop、Cursor),请将其配置为与网关通信。通过 AI_ID 和 AI_KEY 要进行身份验证的环境变量。
方法1:直接STDIO网桥(适用于Claude桌面/本地客户端) 如果您希望AI客户端直接在内部启动Gateway进程,而不依赖于后台守护进程,只需将其指向已编译的 stdio.js: *(💡 小贴士:你可以跑步 sudo aagcli stdio-path 随时获取此文件的确切绝对路径)*
{
"mcpServers": {
"ai-auth-gateway": {
"command": "node",
"args": ["/absolute/path/to/ai_auth_gateway/build/stdio.js"],
"env": {
"AI_ID": "my-ai",
"AI_KEY": "key_hash_generated_by_aagcli"
}
}
}
}方法2:本机SSE连接(适用于本机支持SSE的游标/客户端) 如果您的AI客户端支持本地SSE URL(如通过Cursor的GUI或本地配置文件进行配置),您可以将其直接指向网关,并通过URL查询参数或Header传递凭据:
{
"mcpServers": {
"ai-auth-gateway-sse": {
"transport": "sse",
"url": "http://localhost:3000/sse?aiid=my-ai&key=your_secure_hash_here"
}
}
}*(注意:一些客户端支持直接传递标头,您可以在其中注入 Authorization: Bearer your_secure_hash_here 一起 AI-ID: my-ai)*
______________________________________________________________________
🛠️ CLI(aagcli)
要管理网关配置、权限和机密,请使用内置CLI。 所有CLI命令都需要 sudo 特权。
1.服务器生命周期管理(代理守护进程)
您可以在后台无缝运行代理网关,而无需保持终端打开。只有当您不使用本地时,才需要这样做 stdio 节点启动器。
# Start the Gateway Server in the background
sudo aagcli server start
# Check if the server is running
sudo aagcli server status
# Stop the background server safely
sudo aagcli server stop2.系统配置
动态管理代理端口或日志级别,而无需接触JSON文件。
# View current settings
sudo aagcli config view
# Change the proxy port (requires restart to apply)
sudo aagcli config set port 8080
sudo aagcli config set logLevel DEBUG
# Configure Scale-to-Zero Connection Pooling timeouts (v2.1.0 feature)
sudo aagcli config set pingIntervalMs 60000
sudo aagcli config set idleTimeoutMs 3000002.钥匙链(秘密金库)管理
将API密钥存储在主机操作系统的本地安全飞地(例如,macOS Keychain、Linux libsecret)中。
# Store a new Personal Access Token (PAT) for GitHub
sudo aagcli keychain set github pat my_secret_token_123
# The value can then be referenced in mcp-proxy-config.json as:
# "value": "keytar://github/pat"3.人工智能客户端管理和RBAC
注册新的AI客户端,并管理其对下游服务器和工具的精细权限。
# Register a new AI key
sudo aagcli ai register my-new-agent "Agent for testing"
# Review connected AI keys
sudo aagcli ai list
# Allow 'my-new-agent' to use only a specific github tool
sudo aagcli ai permit my-new-agent --tool github_mcp___get_me
# Set rate limit for 'my-new-agent' to 100 RPM or 500 RPH
sudo aagcli ai ratelimit my-new-agent 100 rpm
# Instantly reset the rate limit to global defaults
sudo aagcli ai ratelimit my-new-agent default4.MCP发现
发现下游服务器上当前可用的实时工具。
# List all active downstream MCP servers connected to the proxy
sudo aagcli mcp list
# View all live tools (and their descriptions) available on 'github_mcp'
sudo aagcli mcp tools github_mcp5.实用程序命令
当通过以下方式集成本地AI客户端(如Cursor或Claude Desktop)时 stdio 连接方法,您可以使用此辅助命令立即检索构建的绝对路径 stdio.js 发射器。
# Get the absolute path to the local stdio proxy script
sudo aagcli stdio-path______________________________________________________________________
📖 建筑与深潜
有关数据如何流动、双加密模型如何工作等的深入解释,请参考:
______________________________________________________________________
🐞 问题与贡献
发现错误、有功能请求或需要帮助?请不要犹豫 ****.
拉取请求总是受欢迎的。让我们一起让企业级AI工具执行安全且可访问!
