本项目已采取以下措施保护敏感信息:
✅ 正确做法:
# 使用环境变量
export GEMINI_API_KEY=your_key_here
# 或使用 .env 文件
echo "GEMINI_API_KEY=your_key_here" > .env❌ 错误做法:
# 切勿在代码中硬编码 API 密钥
api_key = "sk-xxxxx" # 危险!以下文件已被排除在 Git 版本控制之外:
.env- 环境变量配置文件*.key- 密钥文件*.pem- 证书文件config/secrets.py- 敏感配置
| 变量名 | 说明 | 是否必需 |
|---|---|---|
GEMINI_API_KEY |
Gemini LLM API 密钥 | 是 |
GEMINI_BASE_URL |
API 基础 URL | 否(有默认值) |
GEMINI_MODEL |
模型名称 | 否(有默认值) |
# 1. 复制模板
cp .env.example .env
# 2. 编辑 .env 文件
nano .env # 或使用你喜欢的编辑器
# 3. 填入真实的 API 密钥
GEMINI_API_KEY=sk-your-real-key-here
GEMINI_BASE_URL=https://api.bltcy.ai/v1
GEMINI_MODEL=gemini-pro
# 4. 验证权限(Linux/Mac)
chmod 600 .env- 永远不要提交包含真实 API 密钥的文件到 Git
- 如果不小心泄露了密钥,立即在服务商平台上吊销并重新生成
- 定期轮换 API 密钥
- 使用 Git 钩子防止意外提交敏感信息
创建 .git/hooks/pre-commit:
#!/bin/sh
# 检查是否意外提交 API 密钥
if git diff --cached | grep -E 'sk-[A-Za-z0-9]{20,}'; then
echo "错误:检测到可能的 API 密钥!"
echo "请移除密钥后再提交。"
exit 1
fi生产环境推荐使用:
- AWS Secrets Manager
- HashiCorp Vault
- Azure Key Vault
- Google Secret Manager
如果你发现安全漏洞,请发送邮件至: security@example.com
请勿公开讨论安全问题。
记住:安全是每个开发者的责任! 🔐