Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
cicd-goat — 一个故意存在漏洞的CI/CD环境。通过多个挑战学习CI/CD安全。 | Kitploit
工具/GitHubGitHub/cider-security-research/cicd-goat
漏洞分析CTF渗透测试DevSecOps学习与教育实验室与实践
GitHubcider-security-research/cicd-goat

cicd-goat

一个故意存在漏洞的CI/CD环境。通过多个挑战学习CI/CD安全。

查看仓库
2.3k4162年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

cicd-goat

maintained by top 10 .github/workflows/release.yaml CircleCI Docker pulls Version

一个故意存在漏洞的CI/CD环境。 破解CI/CD管道,夺取旗帜。🚩

由Cider Security创建 (被Palo Alto Networks收购)。

目录

  • 描述
  • 下载与运行
    • Linux & Mac
    • Windows (Powershell)
  • 使用说明
    • 说明
    • 接受挑战
    • 故障排除
  • 解决方案
  • 贡献

描述

CI/CD Goat 项目让工程师和安全从业者通过一系列11个挑战来学习和实践CI/CD安全,这些挑战是在一个真实的、完整的CI/CD环境中进行的。每个场景难度不同,且每个场景侧重于一个主要的攻击向量。

这些挑战涵盖了 Top 10 CI/CD 安全风险,包括流控制机制不足、PPE(投毒管道执行)、依赖链滥用、PBAC(基于管道的访问控制)等。 不同的挑战灵感来源于《爱丽丝梦游仙境》,每个挑战对应一个不同的角色。

项目的环境基于Docker容器,可以在本地运行。这些容器是:

  1. Gitea(轻量级git服务器)
  2. Jenkins
  3. Jenkins agent
  4. LocalStack(运行在单个容器中的云服务模拟器)
  5. Prod - 包含Docker in Docker和Lighttpd服务
  6. CTFd(夺旗赛框架)
  7. GitLab
  8. GitLab runner
  9. Docker in Docker

这些镜像被配置为相互连接,形成功能完整的管道。

cicd-goat

下载与运行

无需克隆仓库。

Linux & Mac

root@kitploit:~
curl -o cicd-goat/docker-compose.yaml --create-dirs https://raw.githubusercontent.com/cider-security-research/cicd-goat/main/docker-compose.yaml
cd cicd-goat && docker compose up -d

Windows (Powershell)

root@kitploit:~
mkdir cicd-goat; cd cicd-goat
curl -o docker-compose.yaml https://raw.githubusercontent.com/cider-security-research/cicd-goat/main/docker-compose.yaml
get-content docker-compose.yaml | %{$_ -replace "bridge","nat"}
docker compose up -d

使用说明

说明

  • 剧透警告! 避免浏览仓库文件,因为它们包含剧透。
  • 要配置你的git客户端以访问私有仓库,我们建议使用http URL克隆。
  • 在每个挑战中,找到flag——格式为_flag#(例如_flag2),或如果特别提到则采用其他格式。
  • 每个挑战独立存在。不要使用在一个挑战中获得的权限去解决另一个挑战。
  • 如果需要,使用CTFd上的提示。
  • 无需利用CVE漏洞。
  • 无需劫持Gitea或Jenkins的管理员账户(名为"admin"或"red-queen")。

接受挑战

  1. 启动容器后,可能需要最多5分钟才能完成容器配置过程。

  2. 登录CTFd http://localhost:8000 查看挑战:

    • 用户名: alice
    • 密码: alice
  3. 开始攻击:

    • Jenkins http://localhost:8080
      • 用户名: alice
      • 密码: alice
    • Gitea http://localhost:3000
      • 用户名: thealice
      • 密码: thealice
    • GitLab http://localhost:4000
      • 用户名: alice
      • 密码: ali12345
  4. 在CTFd上提交flags,看看你是否做对了。

故障排除

  • 如果Gitea显示空白页面,请刷新页面。
  • 在fork仓库时,不要更改fork后的仓库名称。
  • 如果有任何服务无法启动或配置不正确,尝试为Docker引擎添加更多CPU和内存,并将其更新到最新版本。

解决方案

警告: 剧透!🙈

  • 参见 解决方案。
  • BSidesLV演讲:攀登生产环境之山:使用CI/CD Goat进行实用的CI/CD攻击 - 包含Caterpillar、Mock Turtle和Dormouse挑战的解决方案。

贡献

参见 贡献指南。

下载工具