jpskill.com
🛠️ 開発・MCP コミュニティ

infisical

Infisicalは、アプリケーションの機密情報や環境変数を安全に管理し、チーム共有、自動ローテーション、CI/CD連携などを実現することで、開発効率とセキュリティを向上させるオープンソースのシークレット管理プラットフォームを扱うSkill。

📜 元の英語説明(参考)

Manage application secrets and environment variables with Infisical — open-source secrets management platform. Use when someone asks to "manage secrets", "Infisical", "centralize environment variables", "secrets manager", "replace .env files", "rotate API keys", or "sync secrets to CI/CD". Covers secret storage, team sharing, auto-rotation, CI/CD injection, and Kubernetes integration.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Infisicalは、アプリケーションの機密情報や環境変数を安全に管理し、チーム共有、自動ローテーション、CI/CD連携などを実現することで、開発効率とセキュリティを向上させるオープンソースのシークレット管理プラットフォームを扱うSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o infisical.zip https://jpskill.com/download/15007.zip && unzip -o infisical.zip && rm infisical.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15007.zip -OutFile "$d\infisical.zip"; Expand-Archive "$d\infisical.zip" -DestinationPath $d -Force; ri "$d\infisical.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して infisical.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → infisical フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Infisical

概要

Infisical は、オープンソースのシークレット管理プラットフォームです。チームやインフラストラクチャ全体でシークレット(API キー、データベース URL、トークン)を保存、同期、ローテーションするための一元化された場所です。Infisical は、リポジトリ全体に散在する .env ファイルや、パスワードが記載された Slack メッセージの代わりに、シークレットを暗号化して保存し、環境に同期させ、CI/CD に注入し、自動的にローテーションします。

どのような時に使うか

  • チームが Slack/メールでシークレットを共有している場合(安全でない)
  • リポジトリまたは共有ドライブに .env ファイルがある場合
  • ハードコーディングせずに CI/CD でシークレットが必要な場合
  • API キーとデータベースのパスワードをローテーションする必要がある場合
  • 複数環境構成(開発/ステージング/本番)
  • シークレット監査証跡のコンプライアンス要件

手順

セットアップ

# CLI をインストール
npm install -g @infisical/cli

# またはセルフホスト
docker compose up -d  # infisical/infisical リポジトリから

# ログイン
infisical login

シークレットの保存と取得

# プロジェクトで初期化
infisical init

# .env ファイルからシークレットをプッシュ
infisical secrets set DATABASE_URL="postgresql://..." API_KEY="sk-..."

# シークレットをリスト表示
infisical secrets list --env=dev

# 注入されたシークレットでアプリを実行
infisical run -- npm start
# ^ すべてのシークレットを環境変数として注入

# 特定の環境で実行
infisical run --env=production -- node server.js

SDK の使用法

// config.ts — プログラムでシークレットを取得
import { InfisicalClient } from "@infisical/sdk";

const infisical = new InfisicalClient({
  clientId: process.env.INFISICAL_CLIENT_ID,
  clientSecret: process.env.INFISICAL_CLIENT_SECRET,
  siteUrl: "https://infisical.mycompany.com", // セルフホストされた URL
});

// 環境のすべてのシークレットを取得
const secrets = await infisical.listSecrets({
  environment: "production",
  projectId: "proj_xxx",
  path: "/",
});

// 特定のシークレットを取得
const dbUrl = await infisical.getSecret({
  environment: "production",
  projectId: "proj_xxx",
  secretName: "DATABASE_URL",
});

console.log(dbUrl.secretValue);

CI/CD 統合

# .github/workflows/deploy.yml — GitHub Actions でシークレットを注入
name: Deploy
on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: Infisical/secrets-action@v1
        with:
          client-id: ${{ secrets.INFISICAL_CLIENT_ID }}
          client-secret: ${{ secrets.INFISICAL_CLIENT_SECRET }}
          project-id: proj_xxx
          env-slug: production

      # すべてのシークレットが環境変数になりました
      - run: npm run deploy

Kubernetes 統合

# infisical-secret.yaml — Kubernetes シークレットに同期
apiVersion: secrets.infisical.com/v1alpha1
kind: InfisicalSecret
metadata:
  name: my-app-secrets
spec:
  hostAPI: https://infisical.mycompany.com
  authentication:
    universalAuth:
      credentialsRef:
        secretName: infisical-credentials
        secretNamespace: default
  managedSecretReference:
    secretName: my-app-env          # 作成/同期された K8s シークレット
    secretNamespace: default
    creationPolicy: Owner
  resyncInterval: 60                # 60 秒ごとに更新

シークレットのローテーション

# データベースの認証情報を自動ローテーション
infisical secrets rotation create \
  --provider=postgres \
  --interval=30d \
  --secret-name=DATABASE_URL \
  --env=production

例 1: .env ファイルを集中管理されたシークレットに置き換える

ユーザープロンプト: 「私たちのチームは Slack 経由で .env ファイルを共有しています。適切なシークレット管理を設定してください。」

エージェントは Infisical をセットアップし、既存の .env ファイルをインポートし、環境ごとのシークレットを構成し、infisical run を使用するように開発ワークフローを更新します。

例 2: シークレットを CI/CD パイプラインに注入する

ユーザープロンプト: 「私たちの GitHub Actions ワークフローは、リポジトリのシークレットに API キーをハードコードしています。それらを集中管理してください。」

エージェントは、CI 用のマシン ID を使用して Infisical をセットアップし、シークレットを注入するように GitHub Action を構成し、ハードコードされた値を削除します。

ガイドライン

  • infisical run -- は .env ファイルを置き換えます — シークレットを環境変数として注入
  • 環境ごとのシークレット — 異なる値を持つ開発、ステージング、本番
  • CI 用のマシン ID — 人間以外のアクセス用のクライアント ID + シークレット
  • 監査証跡 — すべてのシークレットアクセスがログに記録されます
  • セルフホスト可能 — コンプライアンスのためにインフラストラクチャ上で実行
  • Kubernetes オペレーター — シークレットを K8s に自動同期
  • シークレットのローテーション — データベースのパスワード、API キーを自動ローテーション
  • RBAC — 誰がどの環境にアクセスできるかを制御
  • バージョン履歴 — 誰がいつ何を変更したかを確認
  • 特定の時点への復元 — 以前のシークレット値にロールバック
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Infisical

Overview

Infisical is an open-source secrets management platform — a centralized place to store, sync, and rotate secrets (API keys, database URLs, tokens) across your team and infrastructure. Instead of .env files scattered across repos and Slack messages with passwords, Infisical stores secrets encrypted, syncs them to environments, injects them into CI/CD, and rotates them automatically.

When to Use

  • Team sharing secrets via Slack/email (insecure)
  • .env files in repos or shared drives
  • Need secrets in CI/CD without hardcoding
  • Rotating API keys and database passwords
  • Multi-environment config (dev/staging/prod)
  • Compliance requirement for secrets audit trail

Instructions

Setup

# Install CLI
npm install -g @infisical/cli

# Or self-host
docker compose up -d  # From infisical/infisical repo

# Login
infisical login

Store and Retrieve Secrets

# Initialize in your project
infisical init

# Push secrets from .env file
infisical secrets set DATABASE_URL="postgresql://..." API_KEY="sk-..."

# List secrets
infisical secrets list --env=dev

# Run your app with injected secrets
infisical run -- npm start
# ^ Injects all secrets as environment variables

# Run with specific environment
infisical run --env=production -- node server.js

SDK Usage

// config.ts — Fetch secrets programmatically
import { InfisicalClient } from "@infisical/sdk";

const infisical = new InfisicalClient({
  clientId: process.env.INFISICAL_CLIENT_ID,
  clientSecret: process.env.INFISICAL_CLIENT_SECRET,
  siteUrl: "https://infisical.mycompany.com", // Self-hosted URL
});

// Get all secrets for an environment
const secrets = await infisical.listSecrets({
  environment: "production",
  projectId: "proj_xxx",
  path: "/",
});

// Get a specific secret
const dbUrl = await infisical.getSecret({
  environment: "production",
  projectId: "proj_xxx",
  secretName: "DATABASE_URL",
});

console.log(dbUrl.secretValue);

CI/CD Integration

# .github/workflows/deploy.yml — Inject secrets in GitHub Actions
name: Deploy
on: push

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - uses: Infisical/secrets-action@v1
        with:
          client-id: ${{ secrets.INFISICAL_CLIENT_ID }}
          client-secret: ${{ secrets.INFISICAL_CLIENT_SECRET }}
          project-id: proj_xxx
          env-slug: production

      # All secrets are now environment variables
      - run: npm run deploy

Kubernetes Integration

# infisical-secret.yaml — Sync to Kubernetes secrets
apiVersion: secrets.infisical.com/v1alpha1
kind: InfisicalSecret
metadata:
  name: my-app-secrets
spec:
  hostAPI: https://infisical.mycompany.com
  authentication:
    universalAuth:
      credentialsRef:
        secretName: infisical-credentials
        secretNamespace: default
  managedSecretReference:
    secretName: my-app-env          # Created/synced K8s Secret
    secretNamespace: default
    creationPolicy: Owner
  resyncInterval: 60                # Refresh every 60 seconds

Secret Rotation

# Auto-rotate database credentials
infisical secrets rotation create \
  --provider=postgres \
  --interval=30d \
  --secret-name=DATABASE_URL \
  --env=production

Examples

Example 1: Replace .env files with centralized secrets

User prompt: "Our team shares .env files via Slack. Set up proper secrets management."

The agent will set up Infisical, import existing .env files, configure per-environment secrets, and update the dev workflow to use infisical run.

Example 2: Inject secrets into CI/CD pipeline

User prompt: "Our GitHub Actions workflow hardcodes API keys in repository secrets. Centralize them."

The agent will set up Infisical with a machine identity for CI, configure the GitHub Action to inject secrets, and remove hardcoded values.

Guidelines

  • infisical run -- replaces .env files — inject secrets as env vars
  • Per-environment secrets — dev, staging, production with different values
  • Machine identities for CI — client ID + secret for non-human access
  • Audit trail — every secret access is logged
  • Self-hostable — run on your infrastructure for compliance
  • Kubernetes operator — auto-sync secrets to K8s
  • Secret rotation — auto-rotate database passwords, API keys
  • RBAC — control who can access which environments
  • Version history — see who changed what and when
  • Point-in-time recovery — rollback to previous secret values