技术速递|GitHub 初学者指南:GitHub 安全入门
作者Kedasha Kerr排版Alan Wang学习如何使用 GitHub Advanced Security 保护你的项目并确保它们的安全性。欢迎回到《GitHub 初学者指南》第三季到目前为止今年我们已经介绍了 GitHub Issues 和 Projects以及 GitHub Actions。这一次我们将稍微讨论一下安全性以及 GitHub 提供了哪些工具来帮助你确保代码的安全。在本文结束时你将了解如何使用内置工具例如密钥扫描、Dependabot、代码扫描和 Copilot Autofix来修复你仓库中的漏洞。GitHub Issues 和 Projectshttps://youtu.be/c67GaAkf1BE?sigQm38vCKp0S8y66C/?wt.mc_id3reg_webpage_reactorGitHub Actionshttps://www.youtube.com/watch?vBQrohJ3PT7I/?wt.mc_id3reg_webpage_reactor为什么安全性很重要漏洞是你代码或所使用库中的弱点攻击者可以利用这些弱点。需要意识到一旦你将某个库导入到项目中你就继承了该库的所有风险即使这些存在漏洞的代码并不是你自己编写的。这就是为什么即使是很小或全新的项目也可能存在漏洞——几乎所有软件都依赖第三方包。GitHub 通过 GitHub Advanced SecurityGHAS让发现和修复这些问题变得前所未有的简单这是一个帮助你提升并维护代码质量的产品套件。在公共仓库中你可以使用 Dependabot、代码扫描、密钥扫描和 Copilot Autofix。如果你想了解更多不同功能可以查看我们关于 GHAS 的文档。或者继续阅读我们将带你逐步了解如何启用和使用其中的一些功能。GitHub Advanced SecurityGHAShttps://github.com/security/advanced-security?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactor关于 GHAS 的文档https://docs.github.com/get-started/learning-about-github/about-github-advanced-security?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactor启用安全功能第一步是确保 GHAS 已开启。进入你的仓库。点击页面顶部的Settings页签。在左侧栏中 “Security” 下选择Advanced Security。在 “Dependabot” 下启用 “Dependabot alerts” 和 “Dependabot security updates”。向下滚动到 “Code scanning” 部分。对于 “CodeQL analysis”选择Set up然后在上下文菜单中选择Default。会出现一个新窗口。选择Enable CodeQL无需更改任何设置。向下滚动到 “Secret Protection” 并启用它。这些工具默认在公共仓库中可用。如果你有私有仓库则需要 GHAS 许可证。在窗口顶部选择 Security 页签进入该仓库的安全主页。在这里你将看到你已启用的各种 GHAS 工具选项。你可以在这里查看暴露的密钥、存在漏洞的依赖项以及存在风险的代码路径的警报。现在让我们更详细地看看这些工具。如果你想查看各种警报的显示方式请记住我们还提供了本文的在线视频版本。本文的在线视频版本https://youtu.be/zhxXaFzzJYA?si2IQ2lHHNFyEEjguH/?wt.mc_id3reg_webpage_reactor使用密钥扫描GitHub 可以通过密钥扫描帮助你保护敏感信息。如果你不小心提交了 API key 或 token密钥扫描会在左侧栏的 Security 标签下的Secret scanning中标记出来。当你看到警报时点击具体警报的标题可以查看检测到的密钥以及它出现的位置。解决该暴露密钥的一种方法是将其撤销。撤销密钥意味着禁用旧的密钥使其无法再被使用。通常你需要在该密钥所属的平台上生成一个新密钥例如 Azure 或 Stripe。GitHub 无法自动为你撤销密钥。这一步需要你自己完成。不过密钥扫描会提供早期预警避免泄露的密钥被真正利用。在你撤销密钥后可以通过以下步骤关闭该密钥扫描警报在窗口右上角选择Close as。在上下文菜单中选择Revoked。点击上下文菜单底部绿色的Close alert按钮。什么是 DependabotDependabot 是一个代码扫描工具帮助你保持依赖项为最新状态。还记得我们之前提到的你会继承项目中引入的每个库的漏洞吗Dependabot 通过在发现项目依赖库存在漏洞时发出警报来帮助解决这个问题。要查看 Dependabot 警报请返回到仓库中的Security页签。当你点击某个 Dependabot 警报时它会带你进入对应的 pull request以便你更新你的库。在 pull request 页面中如果向下滚动你可以通过选择GitHub Advisory Database中的See advisory查看触发警报的具体安全公告。在 pull request 页面顶部点击绿色的Review security update按钮来审查版本更新。在合并建议更改之前你应该始终进行审查。如果一切看起来都没问题就可以继续合并该 pull request。Dependabot 会自动将 GitHub 安全公告转化为 pull request这样你就不需要手动跟踪常见漏洞与暴露。准备好进阶了吗前往 GitHub Skills尝试一些挑战了解更多关于 GitHub Advanced Security 的内容并提升你的技能。这些挑战是一种有趣且互动的学习安全知识的方式密钥扫描入门https://github.com/skills/introduction-to-secret-scanning?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactor保护仓库的供应链安全https://github.com/skills/secure-repository-supply-chain?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactorCodeQL 入门https://github.com/skills/introduction-to-codeql?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactor你还可以查看 vulnerable-node 仓库以获得更多使用这些工具的实践经验。vulnerable-nodehttps://github.com/cr0hn/vulnerable-node?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactor响应 CodeQL 警报CodeQL 是用于扫描代码并生成代码扫描警报的引擎你可以在 Security 页签下找到这些警报。CodeQL 并非代码扫描工具。它更强大因为它能够理解数据流展示输入从哪里开始以及最终流向哪里。因此代码扫描警报可以覆盖广泛的潜在场景。当你选择一个代码扫描警报时它会解释问题并在可能的情况下提供额外信息例如修复建议以及示例用来说明问题和可能的解决方案。当你理解了警报之后可以通过以下步骤使用 Copilot Autofix 来解决问题在警报顶部选择Generate fix按钮。Copilot 会建议一个补丁。审查更改并确认它满足你的需求。点击底部绿色的Commit to new branch按钮。在新的弹出窗口中选择Open a pull request选项然后点击Commit change。像处理任何其他 pull request 一样处理这个自动生成的 pull request进行审查并合并更改。请记住虽然 Copilot 可以加速安全修复但整个过程始终由你掌控。Copilot Autofixhttps://docs.github.com/code-security/responsible-use/responsible-use-autofix-code-scanning?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactor接下来恭喜你现在已经学会如何使用 GitHub Advanced Security 来自信地检测并修复代码中的漏洞。公共仓库可以免费使用这些 GHAS 工具因此你可以从一开始就保护你的项目安全。你可以随时通过 GitHub Skills 或 ‘vulnerable-node’ 仓库来测试你的技能。如果你想获取更多信息我们还提供了大量文档。以下是一些可以帮助你入门的链接关于密钥扫描https://docs.github.com/code-security/concepts/secret-security/about-secret-scanning?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactor关于 Dependabot 警报https://docs.github.com/code-security/concepts/supply-chain-security/about-dependabot-alerts?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactor关于代码扫描警报https://docs.github.com/code-security/concepts/code-scanning/about-code-scanning-alerts?utm_sourceblog-episode-3utm_mediumblogutm_campaigngfb-s3-2026/?wt.mc_id3reg_webpage_reactor编码愉快
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2503106.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!