mcpField
A
agent-vault

agent-vault

github.com/botiverseセキュリティ44368 回インストール36 週間前に更新
リポジトリ

agent-vault について

agent-vaultは、秘密値を露出させずに機密を含む設定ファイルを扱うスキルです。エージェントによる設定の確認・読み取り・書き込みを支援し、秘密の登録や表示はユーザーに委ねます。

主な機能

  1. 01秘密値を伏せて設定を読み書き
  2. 02秘密鍵の有無を確認
  3. 03保存済みの鍵名を一覧表示
  4. 04秘密の登録と表示はユーザーが実行

活用シーン

  1. 01認証情報を露出させずにサービス設定を更新
  2. 02必要な鍵が保存済みか確認
  3. 03不足している秘密の登録をユーザーに案内

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/botiverse/agent-vault --skill agent-vault

インストール後、Claude Code で/agent-vaultを入力して読み込まれたか確認します。

詳細

agent-vault

シークレットの値を見ることなく、設定ファイルの読み書きができます。シークレットは暗号化されたローカルの保管庫に保存されます。<agent-vault:key-name> というプレースホルダーが表示され、実際の値は透過的にディスクへ書き込まれます。

安全なコマンド(実行してかまいません)

agent-vault read <file>                   Read file, secrets → <agent-vault:key>
agent-vault write <file> --content '...'  Write file, <agent-vault:key> → real values
agent-vault has <key> [keys...]           Check if keys exist (exit 0/1)
agent-vault list                          List stored key names

機密コマンド(絶対に実行しないでください。ユーザーに実行するよう伝えてください)

agent-vault set <key>                     Prompt user to enter a secret
agent-vault import <file>                 Bulk import from .env
agent-vault rm <key>                      Remove a secret
agent-vault get <key> --reveal            Show secret value (user only)

これらのコマンドは TTY が必要であり、実行しようとすると失敗します。

ルール

  1. シークレットを含むファイルに対して、Read/Write/Edit ツールを絶対に使用しないでください。 代わりに agent-vault read と agent-vault write を使用してください。
  2. 機密コマンドを絶対に実行しないでください。 ユーザーにターミナルで実行するよう伝えてください。
  3. 必ず最初に確認してください。 ユーザーにキーの設定を求める前に agent-vault has <key> を実行し、すでに設定されている可能性を確認してください。
  4. 書き込むすべてのファイル内容に、<agent-vault:key-name> プレースホルダーを使用してください。
  5. ユーザーを案内してください。 シークレットがない場合は、実行する正確なコマンドと値の入手先を伝えてください。

ワークフロー

1. agent-vault has <key>           ← check what's available
2. (if missing) tell user:         ← "Please run: agent-vault set <key>"
3. (wait for user confirmation)
4. agent-vault read <file>         ← read config with redacted secrets
5. agent-vault write <file> ...    ← write config, secrets auto-restored

プレースホルダー形式

<agent-vault:key-name> — キー名には小文字の英数字とハイフンを使用します。

例:<agent-vault:telegram-bot-token>、<agent-vault:openai-key>、<agent-vault:db-password>

読み取り時に、保管庫に登録されていないエントロピーの高い文字列は <agent-vault:UNVAULTED:sha256:XXXXXXXX> として表示されます。ユーザーに保管庫へ登録するよう伝えてください。

例:新しいサービスを設定する

# Check what exists
agent-vault has api-key db-password --json
# → {"api-key": true, "db-password": false}

ユーザーに次のように伝えてください(テキストとして伝え、実行しないでください)。

次を実行してください:agent-vault set db-password

ユーザーの確認後:

agent-vault write config.yaml --content 'api_key: <agent-vault:api-key>
db_password: <agent-vault:db-password>
host: 0.0.0.0
port: 8080'

例:既存の設定を変更する

# Read current state
agent-vault read config.yaml
#      1  api_key: <agent-vault:api-key>
#      2  db_password: <agent-vault:db-password>
#      3  port: 3000

# Write updated version
agent-vault write config.yaml --content 'api_key: <agent-vault:api-key>
db_password: <agent-vault:db-password>
port: 9090'

例:ヒアドキュメントで書き込む(長い内容の場合)

agent-vault write docker-compose.yaml <<'EOF'
services:
  app:
    environment:
      API_KEY: <agent-vault:api-key>
      DB_PASSWORD: <agent-vault:db-password>
    ports:
      - "8080:8080"
EOF

コメント