首页龙虾技能列表 › Environment Secrets Rotator — 环境密钥轮换

Environment Secrets Rotator — 环境密钥轮换

v1.0.0

一个 CLI 工具,用于轮换环境文件中的密钥、生成 Vault 命令并管理密钥轮换工作流。支持多种随机值生成算法(hex、base64、uuid、字母数字)、文件备份、预览模式和批量处理,适用于开发和生产环境。

0· 195·0 当前·0 累计
by @derick001 (Derick)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/14
安全扫描
VirusTotal
可疑
查看报告
OpenClaw
可疑
medium confidence
该工具主要完成其声称的功能(轮换 .env 密钥并生成 Vault CLI 命令),但实现中存在持久化存储明文轮换密钥的问题(历史文件保存在用户主目录),且 SKILL.md/行为描述与'可选'历史的实际持久化行为存在差异,这构成了隐私/持久化风险,使用前应仔细审查。
评估建议
该技能声称在本地执行 .env 密钥轮换,但会创建备份文件,更重要的是将轮换历史记录到用户主目录下的文件中(~/.env-rotation-history.json)。该历史文件可能包含明文密钥值,且在每次非 dry-run 轮换时都会被记录。在生产环境安装或运行前:(1) 审查脚本的 _record_history 实现,确认密钥是否以及如何存储;(2) 先使用 --dry-run 和测试文件运行;(3) 如必须使用,请限制历史文件和备份的权限(如 chmod 600)或在可能的情况下禁用历史记录;(4) 生产环境轮换请优先使用真正的密钥管理器;(5) 如需确保不存储历史记录,请搜索代码中写入 ~/.env-rotation-history.json 或类似文件的调用并移除或修改它们。由于部分源代码被截断(无法完全检查历史记录写入例程),我持中等置信度,但可见代码无条件调用 _record_history,这正是可疑之处。...
详细分析 ▾
用途与能力
名称/描述与代码和说明一致:脚本轮换 .env 文件中的密钥,生成 Vault CLI 命令,支持算法、备份、dry-run、验证和批量操作。未请求无关的网络或云凭证。
指令范围
SKILL.md 仅指导本地 .env 操作和 Vault 命令生成,这与大部分代码一致;然而运行时说明未明确指出轮换将被持久记录到用户主目录的历史文件中。代码在每次非 dry-run 轮换时调用 self._record_history(...),除非明确禁用,否则可能会存储敏感值——这比 SKILL.md 强调的范围更广。
安装机制
未使用安装脚本或网络下载;该技能仅为指令式,包含一个仅需 python3 和标准库模块的 Python 脚本。安装方面没有令人意外的内容。
凭证需求
该技能不请求环境变量或外部凭证(比例适当),但它会将历史文件写入用户主目录(~/.env-rotation-history.json)并在编辑文件旁边创建备份。在主目录/备份中持久化明文轮换密钥是描述中未充分强调的敏感能力;如果默认启用,会带来隐私风险。
持久化与权限
该技能在目标目录创建备份并在用户主目录创建历史文件。虽然它不修改其他技能或系统范围设置,但密钥值的持久化存储(以及主目录中的位置)是一个应披露和可控的较高持久化占用。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/13

env-secrets-rotator 首次发布。- 使用随机值生成算法(hex、base64、uuid、字母数字)轮换 .env 文件中的密钥 - 修改前备份原始文件 - 使用 dry-run 模式预览变更 - 为轮换的密钥生成 HashiCorp Vault CLI 命令 - 批量处理多个密钥/文件并验证 .env 文件 - 可选的轮换历史记录功能

● 可疑

安装命令 点击复制

官方npx clawhub@latest install env-secrets-rotator
镜像加速npx clawhub@latest install env-secrets-rotator --registry https://cn.clawhub-mirror.com

技能文档

这是什么

一个 CLI 工具,用于帮助轮换环境文件中的密钥并为 HashiCorp Vault 等密钥管理器生成命令。安全地为密钥生成新的随机值,更新 .env 文件,并为开发和生产环境提供轮换工作流。

主要功能:

  • 轮换 .env 文件中的密钥 - 为指定密钥生成新的随机值
  • 多种生成算法 - Hex、base64、UUID、自定义长度
  • 备份原始文件 - 修改前创建备份
  • Dry-run 模式 - 预览变更而不修改文件
  • 生成 Vault 命令 - 输出 HashiCorp Vault CLI 命令用于密钥轮换
  • 批量处理 - 跨多个文件轮换多个密钥
  • 验证 - 检查 .env 文件格式和密钥是否存在
  • 轮换历史 - 跟踪之前的值(可选)

如何使用

基本轮换:

./scripts/main.py rotate --file .env --keys API_KEY,DB_PASSWORD

自定义生成算法:

./scripts/main.py rotate --file .env --keys API_KEY --algorithm base64 --length 32

Dry run(预览):

./scripts/main.py rotate --file .env --keys "" --dry-run

生成 Vault 命令:

./scripts/main.py vault --keys API_KEY,DB_PASSWORD --path secret/data/myapp

完整命令参考:

./scripts/main.py help

命令

  • rotate:轮换环境文件中的密钥
- --file:.env 文件路径(必需) - --keys:逗号分隔的要轮换的密钥,或 "" 表示所有(默认:"") - --algorithm:随机生成算法:hex、base64、uuid、alphanumeric(默认:hex) - --length:生成密钥的长度(默认:32) - --backup:修改前创建备份(默认:true) - --dry-run:预览变更而不修改文件 - --output:写入新文件而不是修改原始文件
  • vault:生成 HashiCorp Vault 命令
- --keys:逗号分隔的要生成命令的密钥 - --path:Vault 密钥路径(例如 "secret/data/myapp") - --engine:Vault 密钥引擎(默认:"kv") - --method:Vault 方法:patch、put(默认:"patch")
  • validate:验证 .env 文件
- --file:.env 文件路径 - --strict:要求所有值非空
  • history:显示轮换历史(如果启用)
- --file:.env 文件路径 - --key:显示历史的具体密钥

输出

轮换输出:

{
  "file": ".env",
  "rotated": ["API_KEY", "DB_PASSWORD"],
  "new_values": {
    "API_KEY": "a1b2c3d4e5f6...",
    "DB_PASSWORD": "x9y8z7w6v5u4..."
  },
  "backup": ".env.backup.20260311",
  "vault_commands": [
    "vault kv patch secret/data/myapp API_KEY=a1b2c3d4e5f6...",
    "vault kv patch secret/data/myapp DB_PASSWORD=x9y8z7w6v5u4..."
  ]
}

Vault 命令输出:

# Generated Vault commands for secret rotation:
vault kv patch secret/data/myapp API_KEY=a1b2c3d4e5f6...
vault kv patch secret/data/myapp DB_PASSWORD=x9y8z7w6v5u4...

限制

  • 无实际 Vault 集成 - 仅生成命令;需手动运行
  • 仅限本地文件 - 无法轮换远程密钥管理器中的密钥
  • 无密钥分发 - 不会将新密钥分发到服务
  • 基本 .env 格式 - 支持简单的 KEY=VALUE 格式;不支持多行或复杂解析
  • 无加密 - 生成的密钥在输出中以明文显示
  • 历史记录可选 - 需要启用,可能存储敏感数据

安全注意事项

  • 使用前始终审查生成的值
  • 使用 --dry-run 预览变更
  • 默认创建备份
  • 生成的密钥使用 Python 的 secrets 模块进行加密随机生成
  • 生产密钥考虑使用真正的密钥管理器

示例

轮换 .env 文件中的所有密钥:

./scripts/main.py rotate --file .env --keys "" --backup true

为特定密钥生成 Vault 命令:

./scripts/main.py vault --keys API_KEY,DB_PASSWORD --path secret/data/production

轮换前验证 .env 文件:

./scripts/main.py validate --file .env --strict

使用自定义 base64 密钥轮换:

./scripts/main.py rotate --file .env --keys JWT_SECRET --algorithm base64 --length 64

安装说明

使用 Python 内置的 secrets 模块进行加密安全的随机生成。无需外部依赖。

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务