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
Authentication & AuthorizationGeneral Purpose UtilitiesEncryption/Decryption ToolsCloud SecurityDevSecOpsSecret Detection
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'd like 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();

전체 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

### Get a secret

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

Search secrets

글로브 패턴을 사용하여 시크릿 또는 컨텍스트를 검색합니다.

  • <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>` — 이동할 Glob 패턴 또는 정확한 키 (`--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> — 복사할 키의 Glob 패턴 또는 정확한 키 (--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

### 비밀 값으로 명령 실행

비밀 값을 플레이스홀더로 보간하거나 환경 변수로 주입하여 명령을 실행합니다.
도구 다운로드