以下配置按「核心防护→进阶加固→应急处理」分类,全程在 GitHub 网页端操作,步骤清晰,能最大程度保护公开仓库不被恶意修改、泄露或破坏。
一、核心防护(必做!基础安全保障)
1. 保护主分支(main/master,最关键)
- 操作路径:仓库主页 → 顶部「Settings」→ 左侧「Branches」→ 点击「Add rule」(添加规则)
- 配置项(全部勾选):
- 「Branch name pattern」输入
main(或你的主分支名); - ✅ Require pull request reviews before merging(合并前需 PR 审核,设置「1 个审核通过」即可);
- ✅ Require status checks to pass before merging(需通过状态检查,新手可先勾选「Require branches to be up to date before merging」,确保代码同步);
- ✅ Do not allow bypassing the above settings(不允许绕过规则,防止自己误操作);
- 点击「Create」保存。
- 「Branch name pattern」输入
- 作用:禁止任何人(包括你)直接 push 到主分支,所有修改必须通过 PR 审核,避免恶意提交或误操作。
2. 开启账号两步验证(2FA,守护账号安全)
- 操作路径:GitHub 右上角头像 →「Settings」→ 左侧「Account security」→ 点击「Enable two-factor authentication」
- 配置步骤:
- 选择验证方式(推荐「Authentication app」,如谷歌验证器、微软验证器);
- 扫描二维码绑定账号,保存好「恢复码」(丢失设备时可找回账号);
- 输入验证器生成的验证码,完成开启。
- 作用:即使账号密码泄露,别人也无法登录你的 GitHub 操作仓库。
3. 限制协作者权限(仅授权信任的人)
- 操作路径:仓库主页 →「Settings」→ 左侧「Collaborators and teams」→「Add people」
- 权限选择(按需求分配,避免过度授权):
- 普通合作者:「Write」(可推送代码、提 PR,但不能修改仓库设置);
- 核心合作者:「Maintain」(可管理分支、合并 PR,不能删除仓库);
- 谨慎分配「Admin」权限(拥有仓库完全控制权,包括删除仓库);
- 作用:防止授权陌生人后,仓库被恶意修改或删除。
二、进阶加固(可选,提升防护等级)
1. 禁止强制推送(防止历史记录被篡改)
- 操作路径:仓库「Settings」→「Branches」→ 编辑主分支规则 → 勾选「Do not allow force pushes」
- 作用:禁止任何人用
git push --force覆盖仓库历史记录,避免恶意删除提交记录。
2. 开启依赖扫描(防范恶意依赖包)
- 操作路径:仓库主页 → 顶部「Security」→ 左侧「Vulnerability alerts」→ 点击「Enable Dependabot alerts」
- 作用:自动检测仓库中存在安全漏洞的依赖包(如 npm、pip 依赖),并提醒你更新,避免被恶意依赖攻击。
3. 限制 PR 提交者(防止垃圾 PR)
- 操作路径:仓库「Settings」→「General」→ 拉到最下方「Features」→ 勾选「Restrict who can open pull requests」
- 配置:选择「Only people with write access to the repository and collaborators」
- 作用:仅仓库协作者和有写权限的用户能提 PR,过滤陌生人的垃圾 PR 或恶意提交。
4. 隐藏敏感信息(避免泄露密钥)
- 操作路径:仓库「Settings」→「Security & analysis」→ 点击「Enable secret scanning」
- 作用:自动检测仓库中是否包含密钥(如 API 密钥、Token、密码),并提醒你删除或替换,防止敏感信息泄露。
三、应急处理(遇到问题时快速响应)
1. 撤销恶意协作者权限
- 操作路径:仓库「Settings」→「Collaborators and teams」→ 找到恶意用户 → 点击右侧「...」→「Remove」
- 后续:立即修改仓库主分支规则,检查近期提交记录,若有恶意代码,用
git revert撤销提交。
2. 关闭恶意 Issue/PR
- 操作路径:仓库「Issues」/「Pull requests」→ 找到恶意内容 → 点击「Close」关闭,若有辱骂 / 垃圾信息,点击「...」→「Lock conversation」(锁定对话)。
3. 恢复被篡改的代码
- 操作路径:仓库主页 → 顶部「Commits」→ 找到被篡改前的正常提交 → 点击提交哈希值旁的「...」→「Create branch from commit」(基于该提交创建新分支);
- 后续:将新分支合并到主分支,或直接将主分支重置到该提交(需暂时关闭分支保护规则)。
总结
- 核心配置优先做:主分支保护 + 账号 2FA,能抵御 90% 的恶意操作;
- 进阶配置按需开启:依赖扫描和密钥扫描适合有代码依赖的仓库,PR 限制适合热门仓库;
- 应急处理要及时:发现恶意操作先撤销权限、关闭违规内容,再恢复代码。
声明:本文网友投稿,观点仅代表作者本人,不代表鲁班SEO赞同其观点或证实其描述。
