推代码到 GitHub,可能推上去的不只是代码
git push 一敲,代码就上去了。
但你的代码里,有没有不该上传的东西?
上传前检查这 5 项
第1项:API 密钥和 Token
常见泄露:
- AWS Access Key / Secret Key
- GitHub Token
- API Key(如 OpenAI、Stripe、SendGrid)
- OAuth Client Secret
- 数据库连接字符串
检查方法:
- 搜索关键词:
api_key、secret、token、password、AKSK - 使用工具:git-secrets、truffleHog、detect-secrets
真实案例: 某开发者将含 AWS 密钥的代码推送到 GitHub,几小时内账户被盗刷 8 万美元。
✅ 安全做法:
- 使用
.gitignore排除配置文件 - 密钥使用环境变量,不硬编码
- 使用密钥管理服务(如 AWS Secrets Manager)
- 推送前用工具扫描
第2项:数据库密码
常见泄露:
- 数据库连接字符串
- Redis 密码
- MongoDB 凭证
- 数据库管理员工号
检查方法:
- 搜索关键词:
password、passwd、jdbc、mongo:// - 检查配置文件:
application.yml、settings.py、.env
✅ 安全做法:
- 密码使用环境变量
- 配置文件加入
.gitignore - 使用配置中心(如 Spring Cloud Config)
第3项:个人敏感信息
常见泄露:
- 身份证号
- 手机号
- 邮箱地址
- 测试数据中的真实用户信息
检查方法:
- 搜索关键词:身份证号格式、手机号格式
- 检查测试数据是否使用真实信息
✅ 安全做法:
- 测试数据使用脱敏数据
- 不在代码中硬编码个人信息
- 使用数据生成工具生成假数据
第4项:内部 IP 和域名
常见泄露:
- 内网 IP 地址
- 内部域名
- VPN 地址
- 测试服务器地址
检查方法:
- 搜索内网 IP 段(如
192.168.x.x、10.x.x.x) - 搜索内部域名
✅ 安全做法:
- 使用环境变量配置服务器地址
- 不在代码中硬编码内部地址
- 配置文件加入
.gitignore
第5项:商业逻辑和算法
常见泄露:
- 核心算法代码
- 业务逻辑
- 风控规则
- 定价策略
检查方法:
- 检查是否有核心业务代码
- 评估公开后是否影响竞争力
✅ 安全做法:
- 核心代码不开源
- 使用私有仓库
- 评估开源风险
推送前安全扫描工具
| 工具 | 功能 |
|---|---|
| git-secrets | 检查提交中的密钥 |
| truffleHog | 扫描 Git 历史中的密钥 |
| detect-secrets | 检测代码中的密钥 |
| Gitleaks | 扫描仓库中的泄露 |
一句话总结
git push 前检查:密钥、密码、个人信息、内部地址、核心逻辑。用工具扫描,用 .gitignore 排除。
标签: 开发安全、GitHub安全、代码泄露、信息安全意识