mcpField
S
secrets-management

secrets-management

github.com/autumnsgrove安全667 次安装4 天前更新
代码仓库

关于 secrets-management

指导开发者在项目中安全存储和加载凭据的技能,涵盖 secrets.json、环境变量回退及 Git 忽略规则。适用于配置 API 密钥、集成外部 API 和管理环境文件。

主要功能

  1. 01使用 secrets.json 保存密钥
  2. 02通过环境变量提供回退
  3. 03配置模板与 Git 忽略规则
  4. 04避免提交或记录凭据
  5. 05提供密钥轮换建议

适用场景

  1. 01为项目配置 API 密钥
  2. 02接入需要身份验证的外部 API
  3. 03检查凭据是否会进入 Git

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/autumnsgrove/lattice --skill secrets-management

安装后在 Claude Code 中输入/secrets-management确认已加载。

详细介绍

密钥管理技能

激活时机

在以下情况下激活此技能:

  • 设置 API 密钥或凭据
  • 创建 secrets.json 文件
  • 实现密钥加载模式
  • 使用 .env 文件
  • 集成需要身份验证的外部 API
  • 确保凭据不会提交到 git

核心原则

安全基础
  • 绝不在源代码中硬编码 API 密钥
  • 务必立即将 secrets.json 添加到 .gitignore
  • 务必提供 secrets_template.json 作为设置参考
  • 使用环境变量回退机制以兼容 CI/CD
标准文件结构
project/
├── secrets.json          # Actual secrets (NEVER commit)
├── secrets_template.json # Template with placeholder values (commit this)
├── .gitignore           # Must include secrets.json
└── .env                 # Alternative for env vars (also gitignored)

实现模式

secrets.json 格式
{
  "anthropic_api_key": "sk-ant-api03-...",
  "openrouter_api_key": "sk-or-v1-...",
  "openai_api_key": "sk-...",
  "database_url": "postgresql://user:pass@localhost/db",
  "comment": "Add your API keys here. Keep this file private."
}
Python 加载模式
import os
import json
from pathlib import Path

def load_secrets():
    """Load secrets from secrets.json with env var fallback."""
    secrets_path = Path(__file__).parent / "secrets.json"
    try:
        with open(secrets_path, 'r') as f:
            return json.load(f)
    except (FileNotFoundError, json.JSONDecodeError):
        return {}

SECRETS = load_secrets()

# Use with environment variable fallback
API_KEY = SECRETS.get("anthropic_api_key", os.getenv("ANTHROPIC_API_KEY", ""))

设置清单

  1. 创建包含占位值的 secrets_template.json
  2. 复制为 secrets.json 并添加真实凭据
  3. 将 secrets.json 添加到 .gitignore
  4. 在应用中实现密钥加载
  5. 确认 git status 显示 secrets.json 为未跟踪文件

安全最佳实践

应该 ✅
  • 将密钥存储在 secrets.json 中
  • 立即将其添加到 .gitignore
  • 提供用于设置的模板文件
  • 使用环境变量回退机制
  • 团队成员变更后轮换密钥
不应该 ❌
  • 硬编码 API 密钥
  • 提交真实凭据
  • 记录完整的 API 密钥
  • 通过电子邮件或聊天分享密钥

密钥格式参考

提供商格式
Anthropicsk-ant-api03-...
OpenRoutersk-or-v1-...
OpenAIsk-...
AWS AccessAKIA...

相关资源

请参阅 AgentUsage/secrets_management.md,了解完整文档,包括:

  • 带验证的高级加载模式
  • .env 文件集成
  • 自动化测试模式
  • 紧急密钥轮换流程
  • 生产环境部署策略

评论

支持 Markdown