Secret Rotator:自动化 API 密钥审计与轮换 - Openclaw Skills

作者:互联网

2026-04-18

AI教程

什么是 Secret Rotator?

Secret Rotator 是针对希望自动化数字凭据管理的开发人员的关键安全技能。通过利用 Openclaw Skills,该工具对您的本地文件系统执行非破坏性扫描,以识别 .env 文件、SSH 配置和应用程序令牌。它专注于机密的元数据(如有效期和存储位置),而非敏感值本身。

此技能充当安全审计员,执行轮换策略,帮助您降低长期凭据带来的风险。它为机密提供了一个结构化的生命周期,从发现到有效期分析,最后到引导式修复,确保您的本地和云环境符合现代安全最佳实践。

下载入口:https://github.com/openclaw/skills/tree/main/skills/sa9saq/secret-rotator

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install secret-rotator

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 secret-rotator。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

Secret Rotator 应用场景

  • 定期审计本地开发目录,查找被遗忘或过期的 API 密钥。
  • 识别存储在不安全权限文件中的机密所带来的安全风险。
  • 使用标准化的 Openclaw Skills 工作流管理 OpenAI、AWS 或 Stripe 的服务令牌轮换。
  • 通过 .gitignore 验证敏感配置文件是否已正确排除在版本控制之外。
  • 跨多个项目符号链接排查环境变量问题。
Secret Rotator 工作原理
  1. 发现:代理请求目录权限,扫描常见的配置模式,如 .env、.config 和 .ssh 文件。
  2. 库存管理:提取密钥名称和修改日期,从不显示或记录实际的机密值。
  3. 有效期分析:该技能将机密的最后修改日期与安全策略(例如 90 天轮换)进行比较,以分配健康状态。
  4. 修复计划:对于过期的机密,它提供相关服务的特定仪表板 URL,以方便手动轮换。
  5. 轮换后验证:它协助通过健康终点测试新密钥,并将文件权限更新为 chmod 600 以确保最高安全性。

Secret Rotator 配置指南

要在您的环境中使用此技能,请确保您的代理具有访问项目目录的文件系统权限。运行此工具不需要外部 API 密钥。使用以下命令手动验证您的机密状况:

# 在项目目录中查找 .env 文件
find ~/projects -maxdepth 3 -name ".env*" -type f

# 审计敏感配置的文件权限
ls -la ~/.config/*/config* ~/.ssh/config

Secret Rotator 数据架构与分类体系

该技能将机密元数据组织成结构化的报告格式,在确保清晰度的同时不损害安全性:

属性 描述
文件路径 配置文件的绝对或相对路径。
密钥名称 机密的标识符(例如 STRIPE_SECRET_KEY)。
有效期 自文件上次更新以来的天数数值。
状态 颜色编码的健康指标(正常、即将轮换、已过期)。
脱敏值 仅显示最后 4 个字符的安全表示方式。
description: Audit and rotate API keys, tokens, and secrets with expiry tracking and safe handling.

Secret Rotator

Audit, track, and rotate API keys, tokens, and secrets safely.

Requirements

  • File system access to scan .env and config files
  • No API keys needed (this tool manages other tools' keys)

Instructions

?? Always ask the user which directories to scan before running.

# Find .env files in specified directories
find ~/projects -maxdepth 3 -name ".env*" -type f 2>/dev/null

# Common config locations
ls -la ~/.config/*/config* ~/.ssh/config 2>/dev/null

Report for each secret found:

  • File path
  • Key name (e.g., OPENAI_API_KEY)
  • Last modified date and age in days
  • NEVER print actual secret values

Step 2: Age analysis

## ?? Secret Inventory — 

| File | Key | Age | Status |
|------|-----|-----|--------|
| ~/project/.env | OPENAI_API_KEY | 45d | ?? OK |
| ~/app/.env | DB_PASSWORD | 120d | ?? Rotate Soon |
| ~/.config/app/config | API_TOKEN | 200d | ?? Overdue |

**Policy**: ?? < 90 days | ?? 90–180 days | ?? > 180 days

Step 3: Rotation guidance

For each key needing rotation:

  1. Identify the service (OpenAI, AWS, Stripe, etc.)
  2. Provide the dashboard URL for key regeneration
  3. List all files that reference this key (need updating after rotation)

Step 4: Post-rotation verification

  1. Test the new key works (e.g., curl a health endpoint with the new key)
  2. Confirm old key is invalidated
  3. Update file timestamps
  4. Verify .gitignore includes all secret files

Security Rules

  • ? NEVER display full secret values — mask as sk-...XXXX (last 4 only)
  • ? NEVER send secrets via chat, logs, or messaging
  • ? NEVER commit secrets to git
  • ? Always chmod 600 on secret files
  • ? Verify .gitignore entries exist for .env* files
  • ? Show only key names and metadata, never values

Edge Cases

  • Symlinked .env files: Follow symlinks but report the real path.
  • Docker secrets: Check docker secret ls if Docker is available.
  • Env vars only (no file): Some keys exist only in environment — note these can't be age-tracked.
  • Shared secrets: Warn if the same key appears in multiple files (update all on rotation).
  • No secrets found: Report clean scan — still suggest setting up a rotation policy.

相关推荐