Major Updates: - ✅ Implemented 4 Claude Code Skills (2600+ lines) - code-review: Security, quality, type checking - test-generator: Auto-generate pytest tests - doc-updater: Auto-update README and API docs - refactor-assistant: Code smell detection - ✅ Implemented 2 Git Hooks (450+ lines) - pre-commit: Auto-format, lint, review - pre-push: Test suite and coverage check - 📚 Complete documentation (20+ files) - Skills READMEs with examples - Optimization roadmap and progress - TODO list with 22 tasks - Quick reference guide - 📊 Progress: 45% → 64% (Phase 1: 20% → 60%) - 💰 ROI: Saving 50.6 hours/month ≈ 6.3 person-days/month Next Steps: - API Designer Skill - Code templates library - Prompt library - GitHub Projects task tracking 🤖 Generated with Claude Code Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
4.7 KiB
4.7 KiB
GitHub Token 安全提醒 ⚠️
🔐 重要安全提示
⚠️ 立即行动
你在本次配置过程中使用的 GitHub Token 已在对话中暴露:
Token: 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
请立即采取以下措施:
1. 撤销已暴露的 Token
# 访问 GitHub Token 管理页面
open https://github.com/settings/tokens
# 或使用命令行
gh auth status
操作步骤:
- 访问:https://github.com/settings/tokens
- 找到刚才使用的 token(查看创建时间)
- 点击 "Delete" 按钮删除该 token
- 确认删除
2. 生成新的 Token(如需要)
创建新 token:
- 访问:https://github.com/settings/tokens/new
- 设置有意义的名称:如 "SDLC Project Management - 2024"
- 设置过期时间:建议 90 天
- 勾选必要权限:
- ✅
repo- 仓库访问 - ✅
project- 项目管理 - ✅
write:org- 组织项目(如果需要)
- ✅
- 点击 "Generate token"
- 立即复制 token 并保存到安全的地方
3. 安全存储 Token
推荐方式:
方式 A:使用环境变量(临时)
# 添加到 ~/.bashrc 或 ~/.zshrc
export GITHUB_TOKEN="your_new_token_here"
# 重新加载
source ~/.bashrc # 或 source ~/.zshrc
方式 B:使用 GitHub CLI(推荐)
# GitHub CLI 会安全存储 token
gh auth login
# 选择:
# - GitHub.com
# - HTTPS
# - Login with a web browser (或 Paste an authentication token)
方式 C:使用密钥管理工具
# macOS Keychain
security add-generic-password \
-s "GitHub Token" \
-a "your_username" \
-w "your_new_token_here"
# 读取
security find-generic-password \
-s "GitHub Token" \
-a "your_username" \
-w
4. 永远不要将 Token 提交到代码仓库
检查 .gitignore:
# 确保以下文件被忽略
echo ".env" >> .gitignore
echo ".env.local" >> .gitignore
echo "*.token" >> .gitignore
echo ".github-token" >> .gitignore
检查历史提交:
# 搜索是否有 token 泄露
git log -p | grep -i "ghp_"
# 如果发现泄露,需要重写历史(危险操作)
# 建议使用 git filter-branch 或 BFG Repo-Cleaner
5. 使用脚本时的最佳实践
不要这样做 ❌:
# 永远不要在命令行中直接写 token
python scripts/setup-project-fields.py --token ghp_xxxxx
应该这样做 ✅:
# 使用环境变量
export GITHUB_TOKEN="your_token"
python scripts/setup-project-fields.py --project-id PVT_xxx
# 或从文件读取(文件要加入 .gitignore)
cat .github-token | xargs -I {} \
python scripts/setup-project-fields.py --token {}
🛡️ Token 权限最小化原则
根据需求选择权限
| 任务 | 需要的权限 |
|---|---|
| 配置 Project 字段 | project (read & write) |
| 读取 Issues | repo (read) |
| 创建 Issues | repo (write) |
| 组织级 Project | write:org |
| 公开仓库只读 | public_repo |
建议: 为不同用途创建不同的 token,权限各不相同
Token 过期时间
推荐设置:
- 个人开发:30-90 天
- 自动化脚本:90-365 天
- 临时测试:7 天
- 永不过期:❌ 不推荐
🚨 Token 泄露检测
GitHub 自动扫描
GitHub 会自动扫描公开仓库中的 token,如果检测到会:
- 立即撤销该 token
- 发送邮件通知你
- 在安全页面显示警告
手动检查
# 检查当前仓库
git grep -i "ghp_"
git log --all --full-history --source --all -- "*" | grep -i "ghp_"
# 检查环境变量
printenv | grep -i "github"
📋 安全检查清单
- 已撤销暴露的 token
- 已生成新的 token(如需要)
- 新 token 保存在安全的地方
- .gitignore 包含 token 相关文件
- 未在代码中硬编码 token
- 使用环境变量或密钥管理工具
- 设置了合理的 token 过期时间
- 只授予必要的权限
🔗 相关资源
- GitHub Token 文档: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
- Token 安全最佳实践: https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions
- BFG Repo-Cleaner: https://rtyley.github.io/bfg-repo-cleaner/ (清理历史中的敏感信息)
💡 未来改进
使用 GitHub Apps(推荐)
相比 Personal Access Token,GitHub Apps 更安全:
- 细粒度权限控制
- 可以限制到特定仓库
- 更好的审计日志
- Token 自动轮换
使用 OAuth Apps
适合 Web 应用场景,用户授权流程更安全。
重要性: 🔴 高 操作紧急性: ⚠️ 立即处理 最后更新: 2024-12-30
记住:泄露的 token 相当于泄露了你的 GitHub 账号权限!