← 스킬 목록으로 돌아가기

env-secrets-vault

v1.0.0 approved Security ⬇ 4 1일 전
USK v3 ✅ Verified ⚡ Auto-Convert
⬇ 다운로드
설치 가이드↓
🤖 에이전트용 설치 명령 (curl / MCP / Claude Desktop)
▸ curl 한 줄 다운로드
curl -L -o env-secrets-vault.skill   "https://aiskillstore.io/v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=ClaudeCode"
▸ MCP 도구 호출 (Skill Store MCP 등록 시)
{
  "tool": "download_skill",
  "arguments": {
    "skill_id": "0e68967f-a934-400a-a752-0a31598a1de3",
    "platform": "ClaudeCode"
  }
}
▸ Claude Desktop / Cursor MCP 설정 (1회)
{
  "mcpServers": {
    "skill-store": {
      "url": "https://aiskillstore.io/mcp/"
    }
  }
}
📖 에이전트용 전체 API 가이드: /llms.txt  ·  MCP server card

Encrypt, decrypt, rotate, audit, and validate .env secrets locally using AES-256-GCM (Fernet). Zero secret exposure in logs or stdout.

# secrets # encryption # env-file # vault # aes-256 # fernet # security # dotenv

기본 정보

소유자 👤 aiskillstore-team 카테고리 Security 등록일 2026-05-13 최종 업데이트 2026-05-14 최신 버전 1.0.0 패키지 날짜 2026-05-14 검증 상태 approved 다운로드 수 4회 체크섬 (SHA256) 317262c8f751de73db38a49bd8a64e741c147f471f29ddf13623e251d73c660d

⚡ AGENT INFO USK v3

Capabilities
secret_encryption env_file_management key_rotation secret_audit vault_integrity_check
Permissions
✗ network
✗ filesystem
✗ subprocess
Interface
type: cli   entry_point: main.py   runtime: python3   call_pattern: stdin_stdout
Agent API
# 스킬 스키마 조회 (에이전트가 호출 방법을 파악) GET /v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/schema # 플랫폼별 자동 변환 다운로드 GET /v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=OpenClaw GET /v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=ClaudeCode GET /v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=ClaudeCodeAgentSkill GET /v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=Cursor GET /v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=GeminiCLI GET /v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=CodexCLI GET /v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=CustomAgent

설치 방법

호환 플랫폼: any

1
openclaw_skill_manager.py로 스킬을 설치합니다.
python openclaw_skill_manager.py --install env-secrets-vault
2
설치 확인
python openclaw_skill_manager.py --list-installed
3
특정 버전 설치 (선택)
python openclaw_skill_manager.py --install env-secrets-vault --version 1.0.0
1
스킬 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/skills/0e68967f-a934-400a-a752-0a31598a1de3/download
2
Claude Code commands 디렉터리에 배치합니다.
unzip env-secrets-vault.skill -d ~/.claude/commands/env-secrets-vault/
3
Claude Code에서 슬래시 커맨드로 사용합니다.
/env-secrets-vault
1
Agent Skills 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=ClaudeCodeAgentSkill
2
Claude Code skills 디렉터리에 압축을 해제합니다.
unzip env-secrets-vault-agent-skill-*.skill -d ~/.claude/skills/env-secrets-vault/
3
Claude Code를 재시작하면 세션 시작 시 자동으로 로드됩니다. 슬래시 커맨드 없이 자연어로 사용 가능합니다.
1
Cursor 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=Cursor
2
압축 해제 후 영구 위치에 저장합니다.
unzip env-secrets-vault-cursor-*.skill -d ~/.cursor/skills/env-secrets-vault/
3
.cursor/mcp.json에 MCP 서버 설정을 추가하고 Cursor를 재시작합니다.
cat ~/.cursor/skills/env-secrets-vault/cursor_mcp_config.json
1
Gemini CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=GeminiCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip env-secrets-vault-geminicli-*.skill -d ~/.gemini/skills/env-secrets-vault/
3
~/.gemini/settings.json에 MCP 서버 설정을 추가하고 Gemini CLI를 재시작합니다.
cat ~/.gemini/skills/env-secrets-vault/gemini_settings_snippet.json
1
Codex CLI 변환 패키지를 다운로드합니다.
curl -O https://aiskillstore.io/v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/download?platform=CodexCLI
2
압축 해제 후 영구 위치에 저장합니다.
unzip env-secrets-vault-codexcli-*.skill -d ~/.codex/skills/env-secrets-vault/
3
~/.codex/config.toml에 MCP 서버 설정을 추가하고 Codex CLI를 재시작합니다.
cat ~/.codex/skills/env-secrets-vault/codex_config_snippet.toml
1
REST API로 스킬 패키지를 다운로드합니다.
GET https://aiskillstore.io/v1/skills/0e68967f-a934-400a-a752-0a31598a1de3/download
2
에이전트 플랫폼의 skills 디렉터리에 배치합니다.
cp env-secrets-vault.skill ./skills/
3
설치 가이드 API로 플랫폼별 상세 정보를 조회합니다.
GET https://aiskillstore.io/v1/skills/0e68967f-a934-400a-a752-0a31598a1de3/install-guide?platform=CustomAgent

보안 검증 보고서

검증 결과 CAUTION

🚨 보안 위험 감지:

  • main.py: __import__(

검사 결과: ["메타데이터 경고: 권장 필드 없음: 'requirements' (SKILL.md v2 권장)", "메타데이터 경고: 권장 필드 없음: 'changelog' (SKILL.md v2 권장)"]

AI 검수 단계

검수 주체 gemini 위험도 🟢 낮음 검수 요약 이 스킬은 .env 시크릿을 로컬에서 안전하게 암호화, 복호화, 관리하는 도구입니다. 선언된 제한적인 권한을 준수하며, 악의적인 코드나 외부 통신 흔적이 없습니다.
판단 근거

제출된 스킬 패키지 'env-secrets-vault'에 대한 보안 검수 결과, 다음과 같은 판단을 내렸습니다. 1. **선언된 권한(permissions) 일치 여부:** * 메타데이터에 `network: false`, `filesystem: false`, `subprocess: false`, `env_vars: []`로 매우 제한적인 권한이 선언되어 있습니다. * `main.py` 및 `lib/vault.py` 코드 파일을 분석한 결과, 네트워크 통신(예: `requests`, `socket`), 파일 시스템 접근(예: `open`, `os.path`), 서브프로세스 실행(예: `subprocess`, `os.system`)과 관련된 어떠한 코드도 발견되지 않았습니다. 스킬은 표준 입출력(stdin/stdout)을 통해서만 데이터를 주고받으며, 모든 작업은 메모리 내에서 이루어집니다. 이는 선언된 권한과 완벽하게 일치합니다. 2. **악의적 목적의 코드 여부:** * 코드에서 사용자 데이터를 무단으로 탈취하거나, 시스템을 파괴하거나, 난독화된 코드를 사용하는 흔적은 발견되지 않았습니다. * 정적 분석 결과에서 `main.py: __import__(` 플래그가 발견되었으나, 코드 검토 결과 이는 `from lib.vault import ...`와 같이 파이썬의 표준 모듈 임포트 구문에서 내부적으로 `__import__` 함수가 사용되는 것을 정적 분석기가 오탐한 것으로 판단됩니다. 실제 코드에서는 동적이거나 사용자 입력에 기반한 `__import__` 호출은 없으며, `cryptography`와 같은 신뢰할 수 있는 라이브러리를 명시적으로 임포트하여 사용하고 있습니다. 따라서 이는 오탐(false positive)으로 간주합니다. 3. **선언되지 않은 외부 통신 여부:** * `network: false`로 선언되었으며, 코드에서 외부 네트워크로 데이터를 전송하거나 수신하는 어떠한 시도도 발견되지 않았습니다. 4. **사용자 데이터 무단 수집/전송 여부:** * 스킬의 목적 자체가 사용자의 `.env` 시크릿을 암호화/복호화하는 것이지만, 이 과정에서 데이터를 외부로 전송하거나 영구적으로 저장하는 기능은 없습니다. 모든 작업은 입력된 데이터를 기반으로 메모리에서 처리되며, 결과는 표준 출력으로 반환됩니다. 따라서 사용자 데이터를 무단으로 수집하거나 전송하지 않습니다. 5. **코드 품질 및 목적 일치 여부:** * 암호화/복호화 로직은 파이썬의 표준적이고 보안이 검증된 `cryptography` 라이브러리의 `Fernet` 방식을 사용합니다. Fernet은 AES-128-CBC와 HMAC-SHA256을 결합한 인증된 암호화(Authenticated Encryption)를 제공하여 안전성이 높습니다. * `.env` 파일 파싱, 키 생성, 데이터 직렬화/역직렬화 등 보조 기능들도 잘 구현되어 있으며, 입력 유효성 검사 및 오류 처리도 명확하게 정의되어 있습니다. * 코드 가독성이 높고, 스킬의 보안 관련 목적에 부합하는 높은 품질을 보여줍니다. **결론:** 'env-secrets-vault' 스킬은 선언된 권한을 철저히 준수하며, 악의적인 코드나 보안 취약점이 발견되지 않았습니다. 핵심 암호화 로직은 신뢰할 수 있는 라이브러리를 사용하여 안전하게 구현되었으며, 사용자 데이터를 안전하게 처리하는 데 중점을 둡니다. 정적 분석의 `__import__` 플래그는 오탐으로 확인되었습니다. 따라서 이 스킬은 안전하다고 판단되어 승인합니다.

버전 히스토리

버전 USK v3 검증 상태 패키지 날짜 다운로드 변경사항
v1.0.0 approved 2026-05-14 ⬇ 4
v1.0.0 approved 2026-05-14 ⬇ 0
v1.0.0 approved 2026-05-13 ⬇ 0

사용 예시 (Examples) 8 개

이 스킬의 대표적인 입출력 예시입니다. 에이전트는 이 예시를 보고 스킬 호출 방법과 결과 형태를 이해할 수 있습니다.

Encrypt a .env file

Encrypt plain .env content and get back an encrypted vault + master key

📥 입력
{
  "action": "encrypt",
  "env_content": "API_KEY=abc123\nDB_PASSWORD=secret456\nSMTP_HOST=mail.example.com"
}
📤 출력
{
  "key_count": 3,
  "master_key": "Fernet key \u2014 44-char urlsafe-base64 string (store separately)",
  "ok": true,
  "vault_content": "gAAAAAB... (encrypted base64 payload)"
}
Decrypt vault to env vars

Decrypt vault and get key-value dict for runtime injection

📥 입력
{
  "action": "decrypt",
  "inject_env": true,
  "master_key": "Fernet key \u2014 44-char urlsafe-base64 string",
  "vault_content": "gAAAAAB... (encrypted base64 payload)"
}
📤 출력
{
  "env_vars": {
    "API_KEY": "abc123",
    "DB_PASSWORD": "secret456",
    "SMTP_HOST": "mail.example.com"
  },
  "key_count": 3,
  "ok": true
}
Audit vault metadata

View key names and metadata without decrypting values

📥 입력
{
  "action": "audit",
  "master_key": "Fernet key \u2014 44-char urlsafe-base64 string",
  "vault_content": "gAAAAAB... (encrypted base64 payload)"
}
📤 출력
{
  "audit": {
    "keys": [
      {
        "created_at": "2026-05-14T12:00:00Z",
        "name": "API_KEY",
        "value_length": 6
      },
      {
        "created_at": "2026-05-14T12:00:00Z",
        "name": "DB_PASSWORD",
        "value_length": 9
      },
      {
        "created_at": "2026-05-14T12:00:00Z",
        "name": "SMTP_HOST",
        "value_length": 17
      }
    ]
  },
  "key_count": 3,
  "ok": true
}
Rotate master key

Re-encrypt vault with a new master key (old key discarded)

📥 입력
{
  "action": "rotate",
  "master_key": "Old Fernet key \u2014 44-char urlsafe-base64 string",
  "vault_content": "gAAAAAB... (encrypted base64 payload)"
}
📤 출력
{
  "key_count": 3,
  "master_key": "New Fernet key \u2014 44-char urlsafe-base64 string",
  "ok": true,
  "vault_content": "gAAAAAB... (new encrypted payload)"
}
Validate vault integrity

Verify vault can be decrypted and is not corrupted

📥 입력
{
  "action": "validate",
  "master_key": "Fernet key \u2014 44-char urlsafe-base64 string",
  "vault_content": "gAAAAAB... (encrypted base64 payload)"
}
📤 출력
{
  "key_count": 3,
  "ok": true,
  "valid": true
}
Error — wrong master key

Returns structured error when master key does not match vault

📥 입력
{
  "action": "decrypt",
  "master_key": "WrongKey_44chars_urlsafe_base64_padding_xxx=",
  "vault_content": "gAAAAAB... (encrypted base64 payload)"
}
📤 출력
{
  "error": {
    "code": "DECRYPTION_FAILED",
    "message": "Decryption failed: invalid key or corrupted vault"
  },
  "ok": false
}
Error — missing master key for decrypt

Returns error when master_key is not provided for decrypt

📥 입력
{
  "action": "decrypt",
  "vault_content": "gAAAAAB..."
}
📤 출력
{
  "error": {
    "code": "MISSING_MASTER_KEY",
    "message": "Field \u0027master_key\u0027 is required for action \u0027decrypt\u0027"
  },
  "ok": false
}
Encrypt with empty env content

Returns error when env_content is empty or has no valid KEY=VALUE lines

📥 입력
{
  "action": "encrypt",
  "env_content": "# just a comment\n\n"
}
📤 출력
{
  "error": {
    "code": "EMPTY_ENV",
    "message": "No valid KEY=VALUE pairs found in env_content"
  },
  "ok": false
}

모든 예시는 에이전트 API로도 조회 가능: /v1/agent/skills/0e68967f-a934-400a-a752-0a31598a1de3/schema

리뷰 & 평점

아직 리뷰가 없습니다. 첫 번째 리뷰를 남겨보세요!

✍️ 리뷰 작성