mcpField
A
aegis

aegis

ローカル
github.com/getaegisセキュリティ1512 週間前に更新

aegis について

aegisは、AIエージェント向けのローカル優先の認証情報分離プロキシです。ネットワーク境界でシークレットを注入し、APIアクセスを制御・記録します。MCPサーバーも同じセキュリティ処理を通じて認証付きリクエストなどを提供します。

主な機能

  1. 01暗号化された認証情報ボルト
  2. 02ネットワーク境界での認証情報注入
  3. 03ドメイン制限とリクエスト検査
  4. 04エージェント単位の権限・範囲・レート制限
  5. 05監査ログとポリシー制御

活用シーン

  1. 01キーを見せずにエージェントからAPIを呼び出す
  2. 02認証情報の利用先を許可済みドメインやエージェントに限定する
  3. 03許可・ブロックされた認証情報リクエストを確認する

MCP 対応

MCPサーバーは、認証付きAPIリクエスト、シークレットを含まない利用可能サービス一覧、Aegisの状態確認のツールを公開します。ドメイン検査、エージェント認証、リクエスト本文の検査、レート制限、監査ログを含むGateのセキュリティ処理を適用します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの 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

AI エージェントが読み取れる場所に API キーを置くのはやめましょう。

Aegis は、AI エージェント向けのローカル優先の認証情報分離プロキシです。エージェントと、エージェントが呼び出す API の間に配置され、ネットワーク境界でシークレットを注入することで、エージェントが実際の認証情報を見たり、保存したり、送信したりすることを防ぎます。

Aegis のデモ

仕組み

Aegis の仕組み — エージェントが Gate 経由でリクエストを送信し、ネットワーク境界で認証情報が注入されます

なぜ必要なのか?

AI エージェント(Claude、GPT、Cursor、カスタムボット)は、Slack、GitHub、Stripe、データベースなどの実際の API を呼び出す機会が増えています。現在の方法には危険があります。

  1. エージェントが生の API キーを見られる — 1 回のプロンプトインジェクションでキーが流出する可能性があります
  2. ドメイン制限がない — 侵害されたエージェントは、Slack トークンを evil.com に送信できます
  3. 監査証跡がない — エージェントが認証情報を使って何をしたのか確認できません
  4. アクセス制御がない — すべてのエージェントがすべての認証情報を使用できます

Aegis はこれら 4 つすべてを解決します。エージェントはローカルプロキシ経由で 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"
本番環境のセットアップ(エージェント認証あり)
# 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 エージェントなら、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 サーバーは 3 つのツールを公開します。

ツール説明
aegis_proxy_request認証済みの API 呼び出しを行います(サービスとパスを指定すると、Aegis が認証情報を注入します)
aegis_list_services利用可能なサービスを一覧表示します(名前のみで、シークレットは表示しません)
aegis_healthAegis の状態を確認します

MCP サーバーは、Gate のセキュリティパイプライン全体(ドメイン制限、エージェント認証、本文の検査、レート制限、監査ログ)を再現します。

セットアップガイド

機能

機能説明
暗号化されたボルトPBKDF2 による鍵導出を使用した AES-256-GCM 暗号化認証情報ストレージ
HTTP プロキシ(ゲート)認証情報を透過的に注入 — エージェントは localhost:3100/{service}/path にアクセスします
ドメインガードすべての送信リクエストを認証情報の許可リストと照合します。バイパスはできません
監査台帳許可・ブロックされたすべてのリクエストを、完全なコンテキストとともに記録します
エージェント IDエージェントごとのトークン、認証情報のスコープ設定、レート制限
ポリシーエンジン宣言型 YAML ポリシー — メソッド、パス、レート制限、時間帯の制限
ボディインスペクター送信リクエストのボディをスキャンし、認証情報に類似したパターンを検出します
MCP サーバーClaude、Cursor、VS Code、Windsurf、Cline 向けのネイティブ Model Context Protocol
ウェブダッシュボードWebSocket ライブフィードを備えたリアルタイム監視 UI
Prometheus メトリクスGrafana ダッシュボード向けの /_aegis/metrics エンドポイント
Webhook アラートブロックされたリクエストや有効期限が近い認証情報を通知する HMAC 署名付き通知
RBAC16 種類の細かな権限を持つ管理者、オペレーター、閲覧者のロール
マルチボルト暗号化キーを分離した、開発/ステージング/本番環境用の個別ボルト
Shamir の秘密分散法チームのマスターキー管理向けの M-of-N 鍵分割
クロスプラットフォーム鍵ストレージデフォルトでは OS のキーチェーン(macOS、Windows、Linux)を使用し、利用できない場合はファイルにフォールバック
TLS サポート証明書/鍵を設定して、ゲートでオプションの HTTPS を利用できます
設定ファイル環境変数と CLI フラグで上書きできる aegis.config.yaml

統合例

設定ファイルとポリシーが含まれた、手順ごとのガイドです。

  • Slack Bot — ドメイン制限付きのプロキシアクセスで Slack ボットのトークンを保護します
  • GitHub Integration — エージェントごとの権限付与と読み取り専用ポリシーで GitHub PAT を保護します
  • Stripe Backend — ボディ検査とレート制限で Stripe API キーを分離します
  • OpenClaw Skill — OpenClaw パーソナル AI アシスタント向けの Aegis スキルです

セキュリティ

  • 公開済みの STRIDE 脅威モデル — 28 件の脅威を分析し、未対処の重大/高リスクな問題は 0 件です
  • 完全なセキュリティアーキテクチャのドキュメント(信頼境界、暗号化パイプライン、データフロー)
  • 保存データの暗号化に AES-256-GCM と ChaCha20-Poly1305 を使用
  • すべてのリクエストでドメインガードを適用 — バイパスはできません
  • エージェントトークンは SHA-256 ハッシュとして保存 — 復元はできず、再生成のみ可能です
  • 認証情報のパターン検出のためにリクエストボディを検査します
  • オープンソース(Apache 2.0)— コードを確認できます

Aegis の比較

.env ファイルVault/DopplerInfisicalAegis
エージェントが生のキーを参照できるはいはい(取得後)はい(取得後)いいえ — 決してありません
ドメイン制限なしなしなしあり
MCP ネイティブいいえいいえ追加中はい
ローカルファーストはいいいえいいえはい
セットアップ10 秒30 分以上15 分以上約 2 分

各アプローチとの詳しい比較については、比較の全容をご覧ください。

ドキュメント

ドキュメント説明
使用ガイド完全なリファレンス:CLI コマンド、設定、RBAC、ポリシー、Webhook、トラブルシューティング
セキュリティアーキテクチャ信頼境界、暗号化パイプライン、データフロー図
脅威モデルSTRIDE 分析 — 28 件の脅威、緩和策、残存リスク
比較.env、Vault、Doppler、Infisical との詳細な比較
FAQよくある質問と懸念事項
ロードマップ機能ロードマップ
コントリビューションコードスタイル、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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。