Secure Environment Variables logo

Secure Environment Variables

開く

Varlockを使うClaude Codeスキル。シークレットをエージェントのコンテキストに出さず、マスク表示で環境変数を検証し、実行時に注入、スキーマだけを参照。

共有:
代替ツールを見る

概要

Secure Environment Variables は wrsmith108/varlock-claude-skill で、DMNO のオープンソース環境変数ツール Varlock を利用する MIT ライセンスの Claude Code スキルです。エージェントがターミナルで作業すると、シークレットがコマンド出力、モデルの入出力コンテキスト、ログ、git の差分に漏れることがあります。スキルの原則はシークレットの値を Claude のコンテキストに決して出さないことで、漏えいしやすいコマンドの安全な代替を示します。

仕組み

やってはいけない 安全な代替
cat .env cat .env.schema
echo $SECRET varlock load
printenv | grep API varlock load | grep API

.env.schema に注釈付きで変数を定義します。@sensitive は全出力で値をマスク、@sensitive=false は表示を許可(公開キー向け)、@required は必須、@type= で string(startsWith=sk_)・url・enum(...) などの検証を追加します。ヘッダーに # @defaultSensitive=true と書けば既定で全変数が機密扱いになります。

さらに、よくある依頼への対応も定めています。キーの有無は varlock load | grep API_KEY、認証のデバッグは varlock load、設定確認は .env ではなくスキーマを表示し、シークレットの更新は断ってユーザー自身に変更してもらいます。

クイックスタート

# Varlock CLI をインストール
curl -sSfL https://varlock.dev/install.sh | sh -s -- --force-no-brew
export PATH="$HOME/.varlock/bin:$PATH"

# スキルをインストール
mkdir -p ~/.claude/skills/varlock && curl -sSL \
  https://raw.githubusercontent.com/wrsmith108/varlock-claude-skill/main/skills/varlock/SKILL.md \
  -o ~/.claude/skills/varlock/SKILL.md

varlock load              # 検証(値はマスク)
varlock run -- npm start  # シークレットを注入して実行

使いどころ

  • キーを表示させずにエージェントへ API 連携の不具合を調査させる。
  • サービス起動前に必須・型付きの設定を検証する。
  • エージェントの作業画面を共有・録画するチーム。

制限事項

  • エージェント向けの指針と Varlock CLI の組み合わせであり、サンドボックスではありません。コマンドが .env を読むことを技術的に防ぐものではありません。
  • .env.schema の作成と保守が必要です。

よくある質問

シークレットは暗号化されますか?

スキル自体は暗号化を追加しません。Varlock のスキーマと load/run コマンドで、値を出力上マスクし会話に入れないようにします。

Claude にシークレットを変更してもらえますか?

設計上は断り、手動で更新するよう案内します。

代替ツール

  • CC Safety Net:破壊的コマンドやシークレットへのアクセスを実行前にブロックする PreToolUse フック。
  • Claude Code Hooks:独自ルールを決定的に適用。
  • mise:mise.toml からプロジェクトの環境変数を読み込む(マスクは主目的ではない)。

関連は Skills カテゴリ と セキュリティタグ へ。

コメント

まだコメントがありません。最初のコメントを投稿してください!