mcpField
S
secrets-management

secrets-management

github.com/autumnsgroveセキュリティ667 回インストール4 日前に更新
リポジトリ

secrets-management について

プロジェクトの認証情報を安全に保存し、読み込むためのスキルです。secrets.json、環境変数へのフォールバック、Git の除外設定を扱い、API キー設定や外部 API 連携に利用できます。

主な機能

  1. 01secrets.json でキーを保存
  2. 02環境変数へのフォールバック
  3. 03テンプレートと Git 除外設定
  4. 04認証情報のコミットや記録を防止
  5. 05キーのローテーションを案内

活用シーン

  1. 01プロジェクトの API キー設定
  2. 02認証が必要な外部 API との連携
  3. 03認証情報が Git に入らないか確認

インストール

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

$npx skills add https://github.com/autumnsgrove/lattice --skill secrets-management

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

詳細

シークレット管理スキル

有効にするタイミング

以下の場合にこのスキルを有効にします:

  • API キーまたは認証情報を設定するとき
  • secrets.json ファイルを作成するとき
  • シークレットの読み込みパターンを実装するとき
  • .env ファイルを扱うとき
  • 認証が必要な外部 API を統合するとき
  • 認証情報が git にコミットされないようにするとき

基本原則

セキュリティの基本
  • API キーをソースコードにハードコードすることは絶対にしないでください
  • secrets.json は必ずすぐに .gitignore に追加してください
  • セットアップの参考用に secrets_template.json を必ず用意してください
  • CI/CD との互換性を確保するため、環境変数へのフォールバックを使用してください
標準ファイル構成
project/
├── secrets.json          # Actual secrets (NEVER commit)
├── secrets_template.json # Template with placeholder values (commit this)
├── .gitignore           # Must include secrets.json
└── .env                 # Alternative for env vars (also gitignored)

実装パターン

secrets.json の形式
{
  "anthropic_api_key": "sk-ant-api03-...",
  "openrouter_api_key": "sk-or-v1-...",
  "openai_api_key": "sk-...",
  "database_url": "postgresql://user:pass@localhost/db",
  "comment": "Add your API keys here. Keep this file private."
}
Python での読み込みパターン
import os
import json
from pathlib import Path

def load_secrets():
    """Load secrets from secrets.json with env var fallback."""
    secrets_path = Path(__file__).parent / "secrets.json"
    try:
        with open(secrets_path, 'r') as f:
            return json.load(f)
    except (FileNotFoundError, json.JSONDecodeError):
        return {}

SECRETS = load_secrets()

# Use with environment variable fallback
API_KEY = SECRETS.get("anthropic_api_key", os.getenv("ANTHROPIC_API_KEY", ""))

セットアップチェックリスト

  1. プレースホルダー値を含む secrets_template.json を作成する
  2. secrets.json にコピーし、実際の認証情報を追加する
  3. secrets.json を .gitignore に追加する
  4. アプリケーションにシークレットの読み込み処理を実装する
  5. git status で secrets.json が未追跡として表示されることを確認する

セキュリティのベストプラクティス

推奨 ✅
  • キーを secrets.json に保存する
  • すぐに .gitignore に追加する
  • セットアップ用のテンプレートファイルを用意する
  • 環境変数へのフォールバックを使用する
  • チームの変更後にキーをローテーションする
禁止 ❌
  • API キーをハードコードする
  • 実際の認証情報をコミットする
  • API キー全体をログに記録する
  • メールやチャットでキーを共有する

キー形式のリファレンス

プロバイダー形式
Anthropicsk-ant-api03-...
OpenRoutersk-or-v1-...
OpenAIsk-...
AWS AccessAKIA...

関連リソース

以下を含む詳細なドキュメントについては、AgentUsage/secrets_management.md を参照してください:

  • 検証を含む高度な読み込みパターン
  • .env ファイルとの連携
  • 自動テストのパターン
  • 緊急時のキーのローテーション手順
  • 本番環境へのデプロイ戦略

コメント