Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
envsec — ネイティブOSの資格情報ストア(macOSキーチェーン、Linux Secret Service、Windows Credential Manager)を使用して環境シークレットを管理するためのセキュアなCLIツール | Kitploit
ツール/GitHubGitHub/davidnussio/envsec
認証と認可汎用ユーティリティ暗号化/復号化ツールクラウドセキュリティDevSecOpsシークレット検出
GitHubdavidnussio/envsec

envsec

ネイティブOSの資格情報ストア(macOSキーチェーン、Linux Secret Service、Windows Credential Manager)を使用して環境シークレットを管理するためのセキュアなCLIツール

リポジトリを見る
15191ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

envsec

ネイティブOS資格情報ストアを使用した安全な環境シークレット管理。

デモ

Image

機能

  • OSネイティブの資格情報ストアにシークレットを保存(プレーンテキストファイルではない)
  • クロスプラットフォーム: macOS、Linux、Windows
  • コンテキストでシークレットを整理(例: myapp.dev、stripe-api.prod、work.staging)
  • SQLiteを介してシークレットのメタデータ(キー名、タイムスタンプ)を追跡
  • グロブパターンでコンテキストとシークレットを検索
  • シークレット補間を使用してコマンドを実行
  • cmdでコマンドを保存および再実行(検索、一覧表示、実行、削除)
  • シークレットを.envファイルにエクスポート(auditによる生成追跡付き)
  • シークレットをシェル環境変数としてエクスポート(eval $(envsec env))
  • .envファイルからシークレットを読み込み(競合検出付き)
  • チームメンバー向けにGPGで暗号化されたシークレットを共有
  • コマンドを覚えずにシークレットを管理するための対話型ターミナルUI(envsec tui)

パッケージ

これは以下のパッケージを含むモノレポです:

パッケージ説明npm
envsecシークレット管理用CLIツールnpm
@envsec/sdkプログラムでシークレットを読み込むためのNode.js / Bun SDKnpm
@envsec/coreコアエンジン — OS資格情報ストアアダプター + メタデータDBnpm
@envsec/tuiシークレット管理用の対話型ターミナルUInpm

SDKクイックスタート

Node.jsまたはBunからシークレットにプログラムでアクセスするには、@envsec/sdkを使用します:```bash npm install @envsec/sdk

I need the actual content of chunk 3 to translate it. Please provide the Markdown text you want translated.```typescript
import { loadSecrets } from "@envsec/sdk";

// Load and inject into process.env
await loadSecrets({ context: "myapp.dev", inject: true });

// Or use the client for full control
import { EnvsecClient } from "@envsec/sdk";
const client = await EnvsecClient.create({ context: "myapp.dev" });
const apiKey = await client.get("api.key");
await client.close();

SDKの全API、マルチコンテキスト対応、オプションについては、完全なSDKドキュメントを参照してください。

要件

  • Node.js >= 22

macOS

追加の依存関係は不要です。security CLIツールを介して、組み込みのKeychainを使用します。

Linux

libsecret-tools(secret-toolコマンドを提供)が必要です。これは、D-Busを介してGNOME Keyring、KDE Wallet、または任意のSecret Service APIプロバイダーと通信します。```bash

Debian / Ubuntu

sudo apt install libsecret-tools

Fedora

sudo dnf install libsecret

Arch

sudo pacman -S libsecret

D-Bus セッションが実行中であり、キーリングデーモン(例: `gnome-keyring-daemon`)がアクティブである必要があります。ほとんどのデスクトップ環境では、これが自動的に処理されます。

### Windows

追加の依存関係は不要です。`cmdkey` と PowerShell を介して、組み込みの Windows 資格情報マネージャーを使用します。

## インストール

### Homebrew(macOS / Linux)```bash
brew tap davidnussio/homebrew-tap
brew install envsec

npm```bash

npm install -g envsec

### npx(インストール不要)```bash
npx envsec

mise```bash

mise use -g npm:envsec

## 使用方法

ほとんどのコマンドでは、`--context`(または `-c`)でコンテキストを指定する必要があります。
コンテキストはシークレットをグループ化するための自由形式のラベルです(例: `myapp.dev`、`stripe-api.prod`、`work.staging`)。

### グローバルオプション

以下のオプションはすべてのコマンドで利用できます:

- `--context`, `-c` — コンテキスト名(例: `myapp.dev`、`stripe-api.prod`)。`ENVSEC_CONTEXT` 環境変数も読み取ります
- `--debug`, `-d` — デバッグログを有効化
- `--json` — スクリプト用にJSON形式で出力
- `--db` — SQLiteデータベースファイルへのパス(デフォルト: `~/.envsec/store.sqlite`)。`ENVSEC_DB` 環境変数も読み取ります

### カスタムデータベースパス

デフォルトでは、メタデータは `~/.envsec/store.sqlite` に保存されます。これは `--db` または `ENVSEC_DB` 環境変数で上書きできます:```bash
# Use a project-local database
envsec --db ./local-store.sqlite -c myapp.dev list

# Or via environment variable
export ENVSEC_DB=/shared/team/envsec.sqlite
envsec -c myapp.dev list

--db フラグは ENVSEC_DB よりも優先されます。ユースケースには、プロジェクトごとのデータベース、ネットワークドライブ上のチーム共有データベース、および一時ストレージを使用した CI/CD が含まれます。

シークレットを追加する

シークレットを OS の資格情報ストアに保存します。

  • <key> — シークレットキー名(例: api.key、db.password)
  • --value、-v — 保存する値(対話型のマスクプロンプトの場合は省略)
  • --expires、-e — 有効期限(例: 30m、2h、7d、4w、3mo、1y)```bash

Store a value inline

envsec -c myapp.dev add api.key --value "sk-abc123"

Or use the short alias

envsec -c myapp.dev add api.key -v "sk-abc123"

Omit --value for an interactive masked prompt

envsec -c myapp.dev add api.key

Set an expiry duration with --expires (-e)

envsec -c myapp.dev add api.key -v "sk-abc123" --expires 30d

Supported duration units: m (minutes), h (hours), d (days), w (weeks), mo (months), y (years)

Combinable: 1y6mo, 2w3d, 1d12h

envsec -c myapp.dev add api.key -v "sk-abc123" -e 6mo

### シークレットを取得する

OSの資格情報ストアからシークレット値を取得します。

- `<key>` — 取得するシークレットキー名
- `--quiet`、`-q` — 生の値のみを出力します(警告や追加出力なし)
- `--json` — JSON形式で出力します(context、key、value、expires_atを含む)```bash
envsec -c myapp.dev get api.key

# Print only the raw value (no warnings or extra output)
envsec -c myapp.dev get api.key --quiet
envsec -c myapp.dev get api.key -q

シークレットの削除

OSの資格情報ストアからシークレットを削除します。

  • <key> — 削除するシークレットキー名(--all を使用する場合は任意)
  • --yes, -y — 確認プロンプトをスキップ
  • --all — コンテキスト内のすべてのシークレットを削除```bash envsec -c myapp.dev delete api.key

or use the alias

envsec -c myapp.dev del api.key

### シークレットの名前変更

同じコンテキスト内でシークレットキーの名前を変更します。値と有効期限のメタデータは保持されます。

- `<old-key>` — 現在のシークレットキー名
- `<new-key>` — 新しいシークレットキー名
- `--force`, `-f` — ターゲットが既に存在する場合に上書きします```bash
# Rename a key
envsec -c myapp.dev rename old.key new.key

# Overwrite target if it already exists
envsec -c myapp.dev rename old.key existing.key --force

コンテキスト内のすべてのシークレットを一覧表示

コンテキスト内のすべてのシークレットキーとメタデータを一覧表示します。

  • --json — JSON形式で出力```bash envsec -c myapp.dev list
### すべてのコンテキストを一覧表示

シークレット数を含む、利用可能なすべてのコンテキストを一覧表示します。

- `--json` — JSON形式で出力```bash
# Without --context, lists all available contexts with secret counts
envsec list

シークレットを検索

グロブパターンを使用してシークレットまたはコンテキストを検索します。

  • <pattern> — 検索するグロブパターン(例: api.*、myapp.*)
  • --json — JSON形式で出力```bash

Search secrets within a context

envsec -c myapp.dev search "api.*"

Search contexts by pattern (without --context)

envsec search "myapp.*"

### コンテキスト間でシークレットを移動する

シークレットをあるコンテキストから別のコンテキストへ移動します。移動後、元のシークレットは削除されます。

- `<pattern>` — 移動するグロブパターンまたは正確なキー(`--all` 使用時は任意)
- `--to`, `-t` — シークレットの移動先コンテキスト
- `--all` — ソースコンテキストからすべてのシークレットを移動
- `--force`, `-f` — ターゲットコンテキスト内の既存シークレットを上書き
- `--yes`, `-y` — 確認プロンプトをスキップ```bash
# Move a single secret
envsec -c myapp.dev move api.token --to myapp.prod

# Move secrets matching a glob pattern
envsec -c myapp.dev move "redis.*" --to myapp.prod -y

# Move all secrets from one context to another
envsec -c myapp.dev move --all --to myapp.prod -y

# Overwrite existing secrets in the target context
envsec -c myapp.dev move "redis.*" --to myapp.prod --force -y

コンテキスト間でシークレットをコピー

あるコンテキストから別のコンテキストへシークレットをコピーします。コピー元のシークレットはそのまま残ります。

  • <pattern> — コピーするキーのグロブパターまたは完全一致キー(--all 使用時は任意)
  • --to, -t — シークレットのコピー先コンテキスト
  • --all — コピー元コンテキストからすべてのシークレットをコピー
  • --force, -f — コピー先コンテキストの既存シークレットを上書き
  • --yes, -y — 確認プロンプトをスキップ```bash

Copy a single secret

envsec -c myapp.dev copy api.token --to myapp.staging

Copy secrets matching a glob pattern

envsec -c myapp.dev copy "redis.*" --to myapp.staging -y

Copy all secrets from one context to another

envsec -c myapp.dev copy --all --to myapp.staging -y

Overwrite existing secrets in the target context

envsec -c myapp.dev copy "redis.*" --to myapp.staging --force -y

### シークレットを使用してコマンドを実行する

プレースホルダーによるシークレット値の補間、または環境変数としての注入を行いながらコマンドを実行します。
ツールをダウンロード