env-secrets-manager について
プロジェクトの環境変数とシークレットをライフサイクル全体で管理するセキュリティスキルです。.env の作成・検証、漏えいスキャン、認証情報のローテーション、環境差分の確認に対応し、複数のシークレット管理ツールと連携します。
主な機能
- 01.env の作成と検証
- 02ファイルと Git のシークレット検査
- 03認証情報のローテーション手順
- 04Vault、AWS SSM、1Password CLI、Doppler との連携
- 05環境設定の差分検出
活用シーン
- 01プロジェクト用環境ファイルの設定
- 02変更内容におけるシークレット露出の確認
- 03漏えい後の認証情報ローテーション
- 04ステージングと本番の変数比較
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ borghei/ claude-skills --skill env-secrets-managerインストール後、Claude Code で/env-secrets-managerを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/best-practices-and-troubleshooting.mdenv-file-structure.mdleak-detection-and-rotation.mdsecret-manager-integration.mdscripts/env_sync_checker.pyenv_validator.pysecret_scanner.py詳細
環境変数とシークレットの管理
環境変数とシークレットのライフサイクル全体を管理します。開発/ステージング/本番環境ごとの .env ファイル構成、機密値を除去した .env.example の自動生成、起動時の必須変数検証、git 履歴内のシークレット漏えい検出、認証情報のローテーション手順、環境間の差異検出、および HashiCorp Vault、AWS SSM、1Password CLI、Doppler との連携に対応します。
主な機能
- .env のライフサイクル — カテゴリ別セクションを備えた構造化レイアウト、シークレットを除去した
.env.exampleの自動生成、環境別ファイル、起動時のフェイルファスト検証に対応します。 - シークレット漏えい検出 — git 履歴、作業ツリー、ステージング済みファイルを正規表現でスキャンします。コミット前フックと、API キー、トークン、パスワード、秘密鍵のパターンに対応します。
- 認証情報のローテーション — シークレットごとの手順、スコープ分析、ダウンタイムのない二重読み取りローテーション、ローテーション後の検証と監視に対応します。
- シークレットマネージャーとの連携 — HashiCorp Vault(KV v2 + OIDC)、AWS SSM Parameter Store(KMS)、1Password CLI(テンプレートへの注入)、Doppler(プロジェクト/構成)に対応します。
- ドリフト検出 — ステージング環境と本番環境の変数キーセットを比較し、不足または余分なキーを報告します。
使用するタイミング
- 新しいプロジェクトのセットアップ —
.env.exampleと検証機能を用意します。 - コミットの前 — 誤ってステージングされたシークレットをスキャンします。
- インシデント発生後 — 漏えいした認証情報を体系的にローテーションします。
- 開発者のオンボーディング — 環境のセットアップに必要な情報をすべて提供します。
- 監査 — ステージング環境と本番環境の差異を検出します。
- コンプライアンス — シークレット管理の実践状況を示します。
先に確認すること
実行する前に、以下の入力内容を確認してください。不明確な項目があれば、推測せずに質問してください。
- タスク —
.envのひな形作成/検証、漏えいしたシークレットのスキャン、または環境間の差異確認(env_validator.py、secret_scanner.py、env_sync_checker.pyのいずれを使うかが決まります) - 対象パス — スキャンする
.env/.env.exampleファイル、またはディレクトリ(ツールが読み取る入力) - シークレットマネージャー — Vault、AWS SSM、1Password、Doppler(生成する連携用コマンドとローテーション用コマンドが決まります)
停止ルール:出力を大きく左右する項目を2〜3個だけ質問してください。ユーザーが「そのまま下書きして」と言った場合は、作業を進め、成果物の冒頭に前提条件を列挙してください。
ツール
| ツール | 用途 | コマンド |
|---|---|---|
env_validator.py | .env を .env.example と照合し、不足/余分な変数、空のシークレット、漏えいした認証情報を検証します | python scripts/env_validator.py .env.example .env --strict --check-secrets |
secret_scanner.py | パターンマッチングでディレクトリ/ファイル内のハードコードされたシークレットをスキャンします | python scripts/secret_scanner.py ./src --severity high --json |
env_sync_checker.py | 開発/ステージング/本番環境の環境設定を比較し、差異を報告します | python scripts/env_sync_checker.py .env.* --baseline .env.example |
参考資料
タスクに合った参考資料を読み込んでください。このファイルは簡潔に保ち、必要な詳細をその都度参照します。
- references/env-file-structure.md — 標準の
.envレイアウト、.env.*ファイルの階層、必須の.gitignoreパターン、Python による起動時検証スクリプトの全容を説明します。プロジェクトのひな形を作成するとき、または検証機能を組み込むときに読みます。 - references/leak-detection-and-rotation.md — git 履歴のシークレットスキャナー、コミット前フック、認証情報ローテーションの4ステップ手順(スコープ確認、生成、二重書き込み、検証)、環境間の差異検出スクリプトを説明します。漏えいのスキャンや認証情報のローテーションを行うときに読みます。
- references/secret-manager-integration.md — シークレットの保存、読み取り、ローテーションに使う Vault、AWS SSM、Doppler の具体的なコマンドを説明します。シークレットマネージャーを連携するときに読みます。
- references/best-practices-and-troubleshooting.md — よくある落とし穴、8つのベストプラクティス、トラブルシューティング表、成功基準を説明します。セットアップをレビューするとき、または問題をデバッグするときに読みます。
対象範囲と制限事項
このスキルの対象:
- あらゆる言語/フレームワーク向けの
.envファイルのひな形作成、階層化、検証 - Gitの履歴、ステージング済みファイル、作業ツリーにおけるシークレット漏えいの検出
- ゼロダウンタイムのデュアルリード方式を用いた認証情報ローテーション手順
- HashiCorp Vault、AWS SSM、1Password CLI、Dopplerとの統合パターン
このスキルの対象外:
- Kubernetesにおける実行時のシークレット注入(デプロイパイプラインのシークレットについては
engineering/ci-cd-pipeline-builderを参照) - VaultクラスターまたはSSMポリシーをプロビジョニングするためのInfrastructure-as-Code(
engineering/ci-cd-pipeline-builderを参照) - アプリケーションレベルでの保存時または転送時の暗号化(APIセキュリティのパターンについては
engineering/api-design-reviewerを参照) - Identity and Access Management(IAM)ロールの設計、またはSSO/OIDCプロバイダーの設定(アクセス制御のフレームワークについては
ra-qm-team/のコンプライアンススキルを参照)
統合ポイント
| スキル | 統合内容 | データフロー |
|---|---|---|
engineering/ci-cd-pipeline-builder | Vault/SSM/DopplerからCI/CDパイプラインの各ステージにシークレットを注入します | ローテーション手順の出力を、パイプラインのシークレット更新ステップに渡します |
engineering/dependency-auditor | ハードコードされた認証情報を同梱または必要とする依存関係を検出します | 依存関係監査で問題が見つかった場合、該当リポジトリに対するシークレット漏えいスキャンを実施します |
engineering/skill-security-auditor | スキルパッケージに埋め込みのシークレットや認証情報が含まれていないことを検証します | セキュリティ監査では、このスキルの検出用正規表現パターンを参照します |
engineering/codebase-onboarding | オンボーディングのチェックリストに、.env.exampleのセットアップとシークレットマネージャーへのアクセスを含めます | オンボーディングのワークフローで、.envの階層と検証スクリプトを使用します |
engineering/observability-designer | ローテーション後の認証失敗を監視し、異常なシークレットアクセスをアラートで通知します | ローテーション後の検証メトリクスを可観測性ダッシュボードに送ります |
ra-qm-team/soc2-compliance-auditor | SOC 2のCC6.1およびCC6.6基準に対するシークレット管理統制を提示します | ローテーション監査ログとアクセスポリシーをSOC 2の証跡として使用します |
コメント
Markdown 対応