mcpField
S
security-ai-keys

security-ai-keys

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

security-ai-keys について

security-ai-keysは、AIプロバイダーを使うアプリのAPIキー漏えいを監査するセキュリティスキルです。主な漏えい経路や対策チェック項目、スキャンスクリプトをまとめています。

主な機能

  1. 01AIキー漏えいの監査パターン
  2. 02クライアント側のキー露出確認
  3. 03ビルド成果物とソースマップのスキャン
  4. 04ログとテレメトリーのマスキング指針
  5. 05キーのローテーション確認項目
  6. 06初期スキャンスクリプト

活用シーン

  1. 01デプロイ前のアプリ監査
  2. 02ブラウザーコードからのAI API直接呼び出し確認
  3. 03ログやエラーレポートのキー漏えい確認

インストール

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

$npx skills add https://github.com/igorwarzocha/opencode-workflows --skill security-ai-keys

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

同梱ファイルscripts/scan.sh

詳細

AI プロバイダーを統合するアプリケーションにおける、AI API キー漏えいのセキュリティ監査パターンです。

基本原則

  • AI API キーは秘密情報として扱い、サーバー側に保管しなければなりません。
  • キーをブラウザーやモバイルクライアントに含めてはなりません。
  • キーのログ出力は避け、ログやエラー報告の前に必ずマスキングしてください。
  • 漏えいが疑われる場合は、直ちにキーをローテーションしてください。

よくある漏えい経路

1) クライアント側での露出
  • AI キーを含む NEXT_PUBLIC_* / VITE_* 環境変数
  • ブラウザーコードから AI プロバイダーのエンドポイントへの直接呼び出し
2) ビルド成果物
  • バンドル(dist/、build/、.next/)に埋め込まれたキー
  • キーを含むサーバーコードを露出させるソースマップ
3) ログとテレメトリー
  • キーの値を含む console.log /ロガーのステートメント
  • ヘッダーが含まれるエラー追跡のペイロード(Sentry、Datadog)

クイック監査コマンド

# Env files: AI keys accidentally exposed to client
rg -n "(NEXT_PUBLIC_|VITE_).*(OPENAI|OPENROUTER|ANTHROPIC|GEMINI|GOOGLE|VERTEX|BEDROCK|AWS|AZURE|MISTRAL|COHERE|GROQ|PERPLEXITY|TOGETHER|REPLICATE|FIREWORKS|HUGGINGFACE|HF_)" . -g "*.env*"

# Client code calling AI APIs directly (check for browser use)
rg -n "api\.openai\.com|openrouter\.ai|api\.anthropic\.com|generativelanguage\.googleapis\.com|aiplatform\.googleapis\.com|bedrock.*amazonaws\.com|api\.mistral\.ai|api\.cohere\.ai|api\.groq\.com|api\.together\.xyz|api\.perplexity\.ai|api\.replicate\.com|api\.fireworks\.ai|openai\.azure\.com" . -g "*.js" -g "*.ts" -g "*.jsx" -g "*.tsx" -g "*.vue"

# Scan build outputs for likely keys (heuristic)
rg -a "sk-[A-Za-z0-9]{20,}|sk-ant-[A-Za-z0-9-]{20,}|sk-or-[A-Za-z0-9-]{20,}|AIza[0-9A-Za-z_-]{35}|hf_[A-Za-z0-9]{20,}" dist/ build/ .next/ 2>/dev/null

# Service account credentials and cloud auth files
rg -n "\"type\"\s*:\s*\"service_account\"|GOOGLE_APPLICATION_CREDENTIALS|AWS_ACCESS_KEY_ID|AWS_SECRET_ACCESS_KEY|AZURE_OPENAI_API_KEY" . -g "*.env*" -g "*.json"

セキュリティ強化チェックリスト

  • AI プロバイダーのキーはサーバーのランタイムのみに配置する(ブラウザーには絶対に配置しない)
  • .env.local と .env.*.local が Git の追跡対象外になっている
  • ログでシークレットをマスキングまたは除外する(リクエストヘッダー、環境変数の値)
  • デプロイ前にビルド成果物をスキャンする
  • 漏えいが疑われる場合はキーをローテーションする

スクリプト

  • scripts/scan.sh - AI キー漏えいの初回スキャン

コメント