rung/training-devenv-security

GitHub: rung/training-devenv-security

一套系统性的 CI/CD 开发环境安全实战训练课程,涵盖凭据窃取、流水线攻击与防护的完整攻防链路。

Stars: 45 | Forks: 12

# 这是什么 本代码库是 2022 年安全营 (日本) 课程“[危险攻击路径:现代开发环境安全 - 设备与 CI/CD 流水线](https://speakerdeck.com/rung/training-devenv-security-en)”的实践练习。 本培训由 Hiroki SUEZAWA([@rung](https://twitter.com/rung/)) 创建, 他是 [CI/CD 流水线通用威胁矩阵](https://github.com/rung/threat-matrix-cicd) 的作者,也是 [十大 CI/CD 安全风险](https://www.cidersecurity.io/top-10-cicd-security-risks/) 的审阅者。 (日语:このレポジトリはセキュリティ・キャンプ全国大会2022のトレーニング「[開発環境のセキュリティおよびCI/CDパイプラインのセキュア化](https://speakerdeck.com/rung/training-devenv-security-ja)」の演習です) ## ℹ️ 课程摘要 在过去十年中,软件开发的开发环境发生了巨大变化:随着 DevOps 文化的传播和云基础设施的广泛使用,应用程序现在通过 CI/CD 流水线进行部署。此外,开发工作现在不仅在办公室进行,也在公司外部进行。 在本培训中,我们将主要从使用恶意软件的客户端攻击和供应链攻击的角度,讨论如何攻击和保护现代生产环境,并解释全面的攻击方法和对策,随后进行实践练习。 在实践练习中,您可以解密浏览器的 Cookie、密码和其他凭据。然后,您将创建一个新的 CI/CD 流水线用于自动部署和基础设施即代码,并亲自对其进行攻击和保护! ## 🛑 免责声明 - 本代码库的目的是为网络安全和软件工程社区提供教育和安全研究。 - 在本练习中,我们使用 GitHub 作为源代码管理工具,使用 Google Cloud 作为公有云,但幻灯片的内容也适用于其他平台。 ## 📖 演示幻灯片 |英语|日语 (日本語)| |---|---| |[![English](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/88fb89b12c232723.png)](https://speakerdeck.com/rung/training-devenv-security-en)|[![Japanese](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/51f540c2f5232725.png)](https://speakerdeck.com/rung/training-devenv-security-ja)| ## 🎫 练习要求 - Google Cloud 账号 - (我们仅使用 IAM、小型存储、小型 GCE 实例和 Cloud Run,因此免费额度已足够) - GitHub 账号 - 免费计划用户可以完成大部分练习 - 但我们会尝试使用 `分支保护`,因此推荐使用 Pro 计划 ## 💻 终端 - 您可以使用您设备上的类 Unix 终端 - Mac:Terminal - Windows:WSL - 您也可以使用 Cloud Shell 进行本练习 [![在 Cloud Shell 中打开](http://gstatic.com/cloudssh/images/open-btn.png)](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/rung/seccamp2022-devenv-security-training) ## ✍️ 练习 #### 每个部分都有附加练习。您也可以尝试它们。 ### [准备:设置 Google Cloud 和 GitHub](0-preparation/README.md) - 目标:登录各项服务 ### [练习1:您的 PC 拥有哪些凭据](./1-exercise1/README.md) - 目标:了解您的 PC 拥有哪些凭据 - 练习:调查 Chrome 的配置文件(例如解密 Cookie),检查 GitHub 的凭据,检查 Google Cloud 的凭据,检查 SSH 密钥 ### [练习 2:尝试保护您的令牌](./2-exercise2/README.md) - 目标:尝试幻灯片中的一些缓解方法 - 练习:尝试 Webauthn,尝试无密钥(在 Cloud 内),通过 Google Cloud 上的 IAM 条件分配临时角色,在 Google Cloud 上尝试最小权限原则 ### [练习3:制作并尝试持续部署和基础设施即代码](./3-exercise3/README.md) - 在本练习之前,您需要完成 [实验设置](./3-exercise3/lab-setup.md) - 目标:理解持续部署和基础设施即代码的概念 - 练习:修改 Go 代码并查看自动部署,通过 Terraform 添加配置 ### [练习4:针对 CI/CD 的攻击](./4-exercise4/README.md) - 目标:对 CI/CD 流水线进行攻击并了解攻击面 - 练习:在没有任何审查的情况下覆盖源代码,从非受保护分支窃取机密信息,通过仓库使用的 Actions 尝试供应链攻击 ### [练习5:保护您的 CI/CD 流水线](./5-exercise5/README.md) - 目标:尝试保护 CI/CD 流水线免受攻击 - 练习:配置分支保护,配置 OIDC,然后尝试 GitHub Actions 和 Google Cloud 之间的无密钥访问
标签:CI/CD安全, Cookie解密, DevSecOps, Google Cloud, IaC安全, Llama, 上游代理, 供应链攻击, 内存分配, 安全培训, 实战演练, 开发环境安全, 恶意软件, 攻击路径分析, 文档安全, 日志审计, 网络安全教育