env-config
配置环境变量
Também disponível em: AutumnsGrove
跨环境管理应用程序设置容易出错且不安全。此技能提供了加载 .env 文件、使用 Pydantic 验证配置以及使用 SecretStr 安全处理密钥的标准化模式。
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "env-config". 为带有数据库和 JWT 配置的 FastAPI 应用创建设置
Resultado esperado:
- 使用 Pydantic BaseSettings 在 config/settings.py 中创建了 Settings 类
- 数据库 URL 使用 Field 验证标记为必需
- JWT 密钥使用 SecretStr 类型进行安全处理
- 创建了包含所有必需变量的 .env.example 模板
- 添加了带 lru_cache 的 get_settings() 函数以实现高效重用
A utilizar "env-config". 如何安全地处理生产环境密钥?
Resultado esperado:
- 对所有敏感值(密码、API 密钥、令牌)使用 SecretStr 类型
- 切勿打印或记录设置对象 - 它们可能包含密钥
- 将生产环境密钥存储在密钥管理器中,而不是 .env 文件
- 在生产环境中使用环境变量,而不是 .env 文件
- 在启动时验证设置以尽早发现缺失的密钥
Auditoria de Segurança
Baixo RiscoStatic scanner flagged 128 patterns, but manual review confirms all are false positives. The skill is a legitimate environment configuration guide. Regex flags were misidentified as crypto algorithms. Shell commands are documented secret generation using openssl. Environment file access is the core purpose with explicit security warnings against committing secrets.
Problemas de Baixo Risco (1)
Fatores de risco
🔑 Variáveis de ambiente (2)
📁 Acesso ao sistema de arquivos (1)
Pontuação de qualidade
O Que Você Pode Construir
新 Python 项目设置
为新的 FastAPI 或 Python 项目初始化安全的环境配置,具备正确的密钥处理和验证。
多环境部署
使用特定于环境的 .env 文件为开发、预发布和生产环境配置单独的设置。
安全审计准备
审查和修复配置模式,确保密钥不会被记录到日志、提交到版本控制或在错误消息中暴露。
Tente Estes Prompts
使用 Pydantic BaseSettings 为 FastAPI 项目设置环境配置。包括数据库 URL、JWT 设置和 Redis 配置。对敏感值使用 SecretStr,并为必需设置添加 Field 验证。
为设置类添加对多个环境(开发、预发布、生产)的支持。创建一个 from_env 类方法,根据环境参数加载相应的 .env 文件。
编写一个 Python 脚本来轮换 .env 文件中的密钥值。该脚本应接受环境文件路径、键名和新值作为参数。使用正则表达式安全地替换现有值。
创建一个启动验证函数,在应用程序启动之前检查是否设置了所有必需的环境变量。该函数应使用 Pydantic ValidationError 报告缺失或无效的设置。
Melhores Práticas
- 始终对密码、API 密钥和令牌使用 SecretStr - 切勿使用纯字符串
- 使用 Pydantic Field 验证在应用程序启动时验证必需设置
- 提交 .env.example 模板但切勿提交包含密钥的实际 .env 文件
Evitar
- 切勿在源代码中硬编码密钥或将其提交到版本控制
- 避免在生产环境中记录设置对象或环境变量
- 不要在任何环境中使用默认或占位符密钥
Perguntas Frequentes
.env 和 .env.example 有什么区别?
生产环境密钥应该如何管理?
什么是 SecretStr,为什么要使用它?
如何在启动时验证配置?
我可以在 FastAPI 以外的框架中使用此技能吗?
如何生成安全的密钥?
Detalhes do Desenvolvedor
Autor
Awais68Licença
MIT
Repositório
https://github.com/Awais68/hackathon-2-phase-ii-full-stack-web-app/tree/main/.claude/skills/env-configReferência
main