搜索

PythonReactSEOPDF
OpenClaw

env-secure-manager

Secure environment variable & secret management with AES-256 encryption, auto-redaction, permission control, prevent credential leakage

ayalili0 来源安装数☆ 0 仓库 Stars

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

SkillHub CLI

skillhub install ayalili/env-secure-manager

打开来源仓库,查看说明和兼容环境后,按来源提供的命令或步骤安装。

将来源链接提供给你的 Agent,让它先读取说明、核对依赖,并向你说明将执行的安装步骤。

查看来源 ↗使用指南

技能说明

🔐 环境变量安全管理器

核心亮点

  1. 🛡️ AES-256加密存储:敏感信息自动加密,即使配置文件泄露也无法获取明文密钥
  2. 🚫 自动脱敏机制:自动检测并脱敏输出中的敏感信息,防止密钥泄露到日志/聊天记录
  3. 🔑 权限控制:访问敏感值需要显式授权,避免意外泄露
  4. 🔄 自动密钥生成:首次使用自动生成安全密钥,也支持自定义密钥

🎯 适用场景

  • 管理API密钥、数据库密码等敏感信息
  • 防止敏感信息泄露到日志、输出或会话历史
  • 批量加载环境变量,统一管理配置
  • 多Agent环境下的安全配置共享

📝 参数说明

参数 类型 必填 说明
action string 是 操作类型:init/set/get/list/delete/redact/loadFromEnv
key string 否 set/get/delete操作必填,环境变量名,大写字母+下划线
value string 否 set操作必填,变量值
isSecret boolean 否 set操作可选,是否为敏感信息,默认false
allowSecret boolean 否 get操作可选,是否允许获取敏感值,默认false
text string 否 redact操作必填,要脱敏的文本
prefix string 否 loadFromEnv操作可选,环境变量前缀,默认OPENCLAW_
encryptionKey string 否 init操作可选,自定义32位加密密钥

💡 开箱即用示例

初始化(可选,建议启动时调用)
// 使用自定义密钥
await skills.envSecureManager({
  action: "init",
  encryptionKey: "你的32位安全密钥"
});

// 自动生成密钥
await skills.envSecureManager({ action: "init" });
存储敏感密钥
await skills.envSecureManager({
  action: "set",
  key: "OPENAI_API_KEY",
  value: "sk-xxx",
  isSecret: true
});
安全获取密钥
const result = await skills.envSecureManager({
  action: "get",
  key: "OPENAI_API_KEY",
  allowSecret: true // 必须显式授权才能获取敏感值
});
输出自动脱敏
// 即使日志里不小心打印了密钥,也会自动脱敏
const logText = `调用OpenAI API,密钥是sk-xxx,参数是xxx`;
const redacted = await skills.envSecureManager({
  action: "redact",
  text: logText
});
// 输出:调用OpenAI API,密钥是***REDACTED***,参数是xxx

🔧 技术实现说明

  • 使用AES-GCM 25...

来源信息

Source
github
Repository
openclaw/skills
Path
skills/ayalili/env-secure-manager
Version
—
Commit
096016eb08986cb320df1ad6d8d3fcd7c6f014f8
分类来源
rules
状态
active
可见性
public

这些信息来自收录时的来源分析,可能滞后;使用前请核对最新来源文件。

README

🔐 环境变量安全管理器

核心亮点

  1. 🛡️ AES-256加密存储:敏感信息自动加密,即使配置文件泄露也无法获取明文密钥
  2. 🚫 自动脱敏机制:自动检测并脱敏输出中的敏感信息,防止密钥泄露到日志/聊天记录
  3. 🔑 权限控制:访问敏感值需要显式授权,避免意外泄露
  4. 🔄 自动密钥生成:首次使用自动生成安全密钥,也支持自定义密钥

🎯 适用场景

  • 管理API密钥、数据库密码等敏感信息
  • 防止敏感信息泄露到日志、输出或会话历史
  • 批量加载环境变量,统一管理配置
  • 多Agent环境下的安全配置共享

📝 参数说明

参数 类型 必填 说明
action string 是 操作类型:init/set/get/list/delete/redact/loadFromEnv
key string 否 set/get/delete操作必填,环境变量名,大写字母+下划线
value string 否 set操作必填,变量值
isSecret boolean 否 set操作可选,是否为敏感信息,默认false
allowSecret boolean 否 get操作可选,是否允许获取敏感值,默认false
text string 否 redact操作必填,要脱敏的文本
prefix string 否 loadFromEnv操作可选,环境变量前缀,默认OPENCLAW_
encryptionKey string 否 init操作可选,自定义32位加密密钥

💡 开箱即用示例

初始化(可选,建议启动时调用)
// 使用自定义密钥
await skills.envSecureManager({
  action: "init",
  encryptionKey: "你的32位安全密钥"
});

// 自动生成密钥
await skills.envSecureManager({ action: "init" });
存储敏感密钥
await skills.envSecureManager({
  action: "set",
  key: "OPENAI_API_KEY",
  value: "sk-xxx",
  isSecret: true
});
安全获取密钥
const result = await skills.envSecureManager({
  action: "get",
  key: "OPENAI_API_KEY",
  allowSecret: true // 必须显式授权才能获取敏感值
});
输出自动脱敏
// 即使日志里不小心打印了密钥,也会自动脱敏
const logText = `调用OpenAI API,密钥是sk-xxx,参数是xxx`;
const redacted = await skills.envSecureManager({
  action: "redact",
  text: logText
});
// 输出:调用OpenAI API,密钥是***REDACTED***,参数是xxx

🔧 技术实现说明

  • 使用AES-GCM 25...

来源内容

SKILL.md
# 🔐 环境变量安全管理器
## 核心亮点
1. 🛡️ **AES-256加密存储**:敏感信息自动加密,即使配置文件泄露也无法获取明文密钥
2. 🚫 **自动脱敏机制**:自动检测并脱敏输出中的敏感信息,防止密钥泄露到日志/聊天记录
3. 🔑 **权限控制**:访问敏感值需要显式授权,避免意外泄露
4. 🔄 **自动密钥生成**:首次使用自动生成安全密钥,也支持自定义密钥

## 🎯 适用场景
- 管理API密钥、数据库密码等敏感信息
- 防止敏感信息泄露到日志、输出或会话历史
- 批量加载环境变量,统一管理配置
- 多Agent环境下的安全配置共享

## 📝 参数说明
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| action | string | 是 | 操作类型:init/set/get/list/delete/redact/loadFromEnv |
| key | string | 否 | set/get/delete操作必填,环境变量名,大写字母+下划线 |
| value | string | 否 | set操作必填,变量值 |
| isSecret | boolean | 否 | set操作可选,是否为敏感信息,默认false |
| allowSecret | boolean | 否 | get操作可选,是否允许获取敏感值,默认false |
| text | string | 否 | redact操作必填,要脱敏的文本 |
| prefix | string | 否 | loadFromEnv操作可选,环境变量前缀,默认OPENCLAW_ |
| encryptionKey | string | 否 | init操作可选,自定义32位加密密钥 |

## 💡 开箱即用示例
### 初始化(可选,建议启动时调用)
```typescript
// 使用自定义密钥
await skills.envSecureManager({
  action: "init",
  encryptionKey: "你的32位安全密钥"
});

// 自动生成密钥
await skills.envSecureManager({ action: "init" });
```

### 存储敏感密钥
```typescript
await skills.envSecureManager({
  action: "set",
  key: "OPENAI_API_KEY",
  value: "sk-xxx",
  isSecret: true
});
```

### 安全获取密钥
```typescript
const result = await skills.envSecureManager({
  action: "get",
  key: "OPENAI_API_KEY",
  allowSecret: true // 必须显式授权才能获取敏感值
});
```

### 输出自动脱敏
```typescript
// 即使日志里不小心打印了密钥,也会自动脱敏
const logText = `调用OpenAI API,密钥是sk-xxx,参数是xxx`;
const redacted = await skills.envSecureManager({
  action: "redact",
  text: logText
});
// 输出:调用OpenAI API,密钥是***REDACTED***,参数是xxx
```

## 🔧 技术实现说明
- 使用AES-GCM 25...
README
# 🔐 环境变量安全管理器
## 核心亮点
1. 🛡️ **AES-256加密存储**:敏感信息自动加密,即使配置文件泄露也无法获取明文密钥
2. 🚫 **自动脱敏机制**:自动检测并脱敏输出中的敏感信息,防止密钥泄露到日志/聊天记录
3. 🔑 **权限控制**:访问敏感值需要显式授权,避免意外泄露
4. 🔄 **自动密钥生成**:首次使用自动生成安全密钥,也支持自定义密钥

## 🎯 适用场景
- 管理API密钥、数据库密码等敏感信息
- 防止敏感信息泄露到日志、输出或会话历史
- 批量加载环境变量,统一管理配置
- 多Agent环境下的安全配置共享

## 📝 参数说明
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| action | string | 是 | 操作类型:init/set/get/list/delete/redact/loadFromEnv |
| key | string | 否 | set/get/delete操作必填,环境变量名,大写字母+下划线 |
| value | string | 否 | set操作必填,变量值 |
| isSecret | boolean | 否 | set操作可选,是否为敏感信息,默认false |
| allowSecret | boolean | 否 | get操作可选,是否允许获取敏感值,默认false |
| text | string | 否 | redact操作必填,要脱敏的文本 |
| prefix | string | 否 | loadFromEnv操作可选,环境变量前缀,默认OPENCLAW_ |
| encryptionKey | string | 否 | init操作可选,自定义32位加密密钥 |

## 💡 开箱即用示例
### 初始化(可选,建议启动时调用)
```typescript
// 使用自定义密钥
await skills.envSecureManager({
  action: "init",
  encryptionKey: "你的32位安全密钥"
});

// 自动生成密钥
await skills.envSecureManager({ action: "init" });
```

### 存储敏感密钥
```typescript
await skills.envSecureManager({
  action: "set",
  key: "OPENAI_API_KEY",
  value: "sk-xxx",
  isSecret: true
});
```

### 安全获取密钥
```typescript
const result = await skills.envSecureManager({
  action: "get",
  key: "OPENAI_API_KEY",
  allowSecret: true // 必须显式授权才能获取敏感值
});
```

### 输出自动脱敏
```typescript
// 即使日志里不小心打印了密钥,也会自动脱敏
const logText = `调用OpenAI API,密钥是sk-xxx,参数是xxx`;
const redacted = await skills.envSecureManager({
  action: "redact",
  text: logText
});
// 输出:调用OpenAI API,密钥是***REDACTED***,参数是xxx
```

## 🔧 技术实现说明
- 使用AES-GCM 25...

相关技能

OpenClaw

x402hub

capncoconut

Register, communicate, and earn on the x402hub AI agent marketplace. Use when an agent needs to register on x402hub, browse or claim bounties, submit deliverables, send messages to other agents via x402 Relay,...

OpenClaw

claw

capevace

Real-time event bus for AI agents. Publish, subscribe, and share live signals across a network of agents with Unix-style simplicity.

OpenClaw

captchas-openclaw

captchasco

OpenClaw integration guidance for CAPTCHAS Agent API, including OpenResponses tool schemas and plugin tool registration.