mcpField
A
aegis

aegis

本地服务
github.com/getaegis安全1512 周前更新

关于 aegis

aegis 是面向 AI Agent 的本地优先凭据隔离代理,在网络边界注入密钥,并控制和记录 API 访问。其 MCP 服务通过同一安全流程提供认证请求和服务状态查询。

主要功能

  1. 01加密凭据保险库
  2. 02在网络边界注入凭据
  3. 03域名限制与请求检查
  4. 04按 Agent 授权、限定范围和速率
  5. 05审计日志与策略控制

适用场景

  1. 01让 Agent 调用 API 而不暴露密钥
  2. 02将凭据限制给获准域名和 Agent
  3. 03检查允许和拦截的凭据请求

MCP 相关

MCP 服务提供工具,用于发起认证 API 请求、列出可用服务(不显示密钥)以及检查 Aegis 状态。它采用 Gate 安全流程,包括域名检查、Agent 身份验证、请求体检查、速率限制和审计日志。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"getaegis-aegis": {
"command": "npx",
"args": [
"-y",
"@getaegis/cli"
],
"env": {
"AEGIS_MASTER_KEY": "<AEGIS_MASTER_KEY>",
"AEGIS_SALT": "<AEGIS_SALT>",
"AEGIS_DATA_DIR": "<AEGIS_DATA_DIR>",
"AEGIS_PORT": "<AEGIS_PORT>",
"AEGIS_LOG_LEVEL": "<AEGIS_LOG_LEVEL>",
"AEGIS_LOG_FORMAT": "<AEGIS_LOG_FORMAT>",
"AEGIS_VAULT": "<AEGIS_VAULT>",
"AEGIS_REQUIRE_AGENT_AUTH": "<AEGIS_REQUIRE_AGENT_AUTH>",
"AEGIS_POLICY_MODE": "<AEGIS_POLICY_MODE>",
"AEGIS_POLICIES_DIR": "<AEGIS_POLICIES_DIR>",
"AEGIS_METRICS": "<AEGIS_METRICS>"
}
}
}
}
启动命令npx -y @getaegis/cli
需要配置的环境变量
AEGIS_MASTER_KEY密钥Master encryption key for the credential vault
AEGIS_SALT密钥Hex-encoded 32-byte salt for key derivation (generated by aegis init)
AEGIS_DATA_DIRDirectory for vault databases and registry (default: .aegis/)
AEGIS_PORTGate proxy port (default: 3100)
AEGIS_LOG_LEVELLog verbosity: debug, info, warn, error (default: info)
AEGIS_LOG_FORMATLog output format: json or pretty (default: json)
AEGIS_VAULTNamed vault to use (default: default)
AEGIS_REQUIRE_AGENT_AUTH密钥Require agent authentication on every request (true/false, default: false)
AEGIS_POLICY_MODEPolicy enforcement mode: enforce, dry-run, or off (default: enforce)
AEGIS_POLICIES_DIRDirectory containing YAML policy files
AEGIS_METRICSEnable Prometheus metrics endpoint (true/false, default: true)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@getaegis/cli1.0.5

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Aegis

CI npm version Docker License

别再把 API 密钥放在 AI Agent 能读取的地方。

Aegis 是一个本地优先的 AI Agent 凭据隔离代理。它位于你的 Agent 与其调用的 API 之间,在网络边界注入机密信息,让 Agent 永远无法看到、存储或传输真实凭据。

Aegis 演示

工作原理

Aegis 的工作原理 — Agent 通过 Gate 发送请求,凭据在网络边界注入

为什么?

AI Agent(Claude、GPT、Cursor、自定义机器人)越来越多地调用真实 API,例如 Slack、GitHub、Stripe 和数据库。当前的做法很危险:

  1. Agent 能看到原始 API 密钥 — 一次提示词注入就能窃取这些密钥
  2. 没有域名防护 — 被攻陷的 Agent 可以将你的 Slack 令牌发送到 evil.com
  3. 没有审计跟踪 — 你无法查看 Agent 如何使用你的凭据
  4. 没有访问控制 — 每个 Agent 都能使用每项凭据

Aegis 一举解决以上四个问题。你的 Agent 通过本地代理发起 HTTP 调用。Aegis 负责身份验证、强制执行域名限制,并记录所有操作。

快速开始

# Install
npm install -g @getaegis/cli

# Initialize (stores master key in OS keychain by default)
aegis init

# Add a credential
aegis vault add \
  --name slack-bot \
  --service slack \
  --secret "xoxb-your-token-here" \
  --domains slack.com

# Start the proxy
aegis gate --no-agent-auth

# Test it — Aegis injects the token, forwards to Slack, logs the request
# X-Target-Host tells Gate which upstream server to forward to (optional if credential has one domain)
curl http://localhost:3100/slack/api/auth.test \
  -H "X-Target-Host: slack.com"
生产环境设置(含 Agent 身份验证)
# Create an agent identity
aegis agent add --name "my-agent"
# Save the printed token — it's shown once only

# Grant it access to specific credentials
aegis agent grant --agent "my-agent" --credential "slack-bot"

# Start Gate (agent auth is on by default)
aegis gate

# Agent must include its token
curl http://localhost:3100/slack/api/auth.test \
  -H "X-Target-Host: slack.com" \
  -H "X-Aegis-Agent: aegis_a1b2c3d4..."

MCP 集成

Aegis 是一流的 MCP 服务。任何兼容 MCP 的 AI Agent 都可以直接使用,无需 HTTP 调用。

之前(配置中使用明文密钥):

{
  "mcpServers": {
    "slack": {
      "command": "node",
      "args": ["slack-mcp-server"],
      "env": { "SLACK_TOKEN": "xoxb-1234-real-token-here" }
    }
  }
}

之后(使用 Aegis,不会显示密钥):

{
  "mcpServers": {
    "aegis": {
      "command": "npx",
      "args": ["-y", "@getaegis/cli", "mcp", "serve"]
    }
  }
}

为你的 AI 主机生成配置:

aegis mcp config claude   # Claude Desktop
aegis mcp config cursor   # Cursor
aegis mcp config vscode   # VS Code
aegis mcp config cline    # Cline
aegis mcp config windsurf # Windsurf

MCP 服务提供三个工具:

工具描述
aegis_proxy_request发起经过身份验证的 API 调用(提供服务名称和路径,Aegis 会注入凭据)
aegis_list_services列出可用服务(仅名称,绝不显示机密信息)
aegis_health检查 Aegis 状态

MCP 服务复现了完整的 Gate 安全流程:域名防护、Agent 身份验证、请求正文检查、速率限制和审计日志记录。

设置指南

功能

功能描述
加密保险库使用 AES-256-GCM 加密凭据存储,并通过 PBKDF2 派生密钥
HTTP 代理(Gate)透明注入凭据——Agent 通过 localhost:3100/{service}/path 访问
域名防护根据凭据允许列表检查每个出站请求,不可绕过
审计账本记录每个请求(允许和拦截),并附带完整上下文
Agent 身份每个 Agent 独立的令牌、凭据范围和速率限制
策略引擎声明式 YAML 策略——限制方法、路径、速率和时段
请求体检查器扫描出站请求体,检测类似凭据的模式
MCP 服务原生支持 Model Context Protocol,可用于 Claude、Cursor、VS Code、Windsurf、Cline
Web 控制面板实时监控界面,支持 WebSocket 实时动态
Prometheus 指标/_aegis/metrics 端点,可用于 Grafana 控制面板
Webhook 告警对被拦截的请求和即将过期的凭据发送 HMAC 签名通知
RBAC管理员、操作员、查看者角色,包含 16 项细粒度权限
多保险库为开发、预发布和生产环境设置独立保险库,使用相互隔离的加密密钥
Shamir 秘密共享通过 M-of-N 密钥拆分管理团队主密钥
跨平台密钥存储默认使用操作系统密钥链(macOS、Windows、Linux),并提供文件回退方案
TLS 支持可选为 Gate 启用 HTTPS,并配置证书和密钥
配置文件使用 aegis.config.yaml,支持通过环境变量和 CLI 标志覆盖配置

集成示例

提供分步指南、配置文件和策略:

  • Slack Bot — 通过限制域名的代理访问保护 Slack Bot 令牌
  • GitHub 集成 — 使用按 Agent 授权和只读策略保护 GitHub PAT
  • Stripe 后端 — 通过请求体检查和速率限制隔离 Stripe API 密钥
  • OpenClaw 技能 — 面向 OpenClaw 个人 AI 助手的 Aegis 技能

安全

  • 已发布 STRIDE 威胁模型——分析了 28 项威胁,未缓解的严重/高危问题为 0 项
  • 完整的安全架构文档(信任边界、加密流程、数据流)
  • 使用 AES-256-GCM 和 ChaCha20-Poly1305 加密静态数据
  • 对每个请求强制执行域名防护——不可绕过
  • Agent 令牌以 SHA-256 哈希形式存储——无法恢复,只能重新生成
  • 检查请求体以检测凭据模式
  • 开源(Apache 2.0)——可阅读代码

Aegis 对比

.env 文件Vault/DopplerInfisicalAegis
Agent 能看到原始密钥是是(获取后)是(获取后)否——始终不可见
域名限制否否否是
原生支持 MCP否否正在添加是
本地优先是否否是
设置耗时10 秒30 分钟以上15 分钟以上约 2 分钟

请参阅完整对比,了解与各类方案的详细比较。

文档

文档描述
使用指南完整参考:CLI 命令、配置、RBAC、策略、Webhook、故障排除
安全架构信任边界、加密流程、数据流图
威胁模型STRIDE 分析——28 项威胁、缓解措施和剩余风险
对比与 .env、Vault、Doppler、Infisical 的详细对比
常见问题常见问题和疑虑
路线图功能路线图
贡献指南代码风格、PR 流程、架构概览

安装

# npm
npm install -g @getaegis/cli

# Homebrew
brew tap getaegis/aegis && brew install aegis

# Docker
docker run ghcr.io/getaegis/aegis --help

需要 Node.js ≥ 20——使用 node -v 检查

开发

git clone https://github.com/getaegis/aegis.git
cd aegis
yarn install
yarn build
yarn test

有关代码风格、PR 流程和架构概述,请参阅 CONTRIBUTING.md。

许可证

Apache 2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。