Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cicd-goat — 의도적으로 취약한 CI/CD 환경입니다. 다양한 문제를 통해 CI/CD 보안을 학습하세요. | Kitploit
도구/GitHubGitHub/cider-security-research/cicd-goat
Vulnerability AnalysisCTFPenetration TestingDevSecOpsLearning & EducationLabs & Practice
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 프로젝트는 엔지니어와 보안 실무자가 실제 완전한 CI/CD 환경에서 11개의 도전 과제를 통해 CI/CD 보안을 배우고 연습할 수 있도록 합니다. 각 시나리오는 다양한 난이도로 구성되어 있으며, 각 시나리오는 하나의 주요 공격 벡터에 초점을 맞춥니다.

도전 과제는 Top 10 CI/CD 보안 위험 (불충분한 흐름 제어 메커니즘, PPE(감염된 파이프라인 실행), 종속성 체인 남용, PBAC(파이프라인 기반 접근 통제) 등)을 다룹니다. 각 도전 과제는 이상한 나라의 앨리스에서 영감을 받았으며, 각기 다른 캐릭터를 주제로 합니다.

프로젝트 환경은 Docker 컨테이너 기반이며 로컬에서 실행할 수 있습니다. 컨테이너는 다음과 같습니다:

  1. Gitea (경량 Git 서버)
  2. Jenkins
  3. Jenkins 에이전트
  4. LocalStack (단일 컨테이너에서 실행되는 클라우드 서비스 에뮬레이터)
  5. Prod - Docker in Docker 및 Lighttpd 서비스 포함
  6. CTFd (깃발 찾기 프레임워크)
  7. GitLab
  8. GitLab 러너
  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# 형식(예: flag2) 또는 특별히 언급된 다른 형식의 플래그를 찾으세요.
  • 각 도전 과제는 독립적입니다. 한 도전 과제에서 획득한 접근 권한을 다른 도전 과제를 푸는 데 사용하지 마세요.
  • 필요한 경우 CTFd의 힌트를 사용하세요.
  • CVE를 악용할 필요는 없습니다.
  • Gitea 또는 Jenkins의 관리자 계정("admin" 또는 "red-queen"이라는 이름)을 탈취할 필요는 없습니다.

도전 과제

  1. 컨테이너를 시작한 후, 컨테이너 구성 프로세스가 완료될 때까지 최대 5분이 소요될 수 있습니다.

  2. http://localhost:8000 에서 CTFd에 로그인하여 도전 과제를 확인하세요:

    • 사용자 이름: alice
    • 비밀번호: alice
  3. 해킹하세요:

    • Jenkins http://localhost:8080
      • 사용자 이름: alice
      • 비밀번호: alice
    • Gitea http://localhost:3000
      • 사용자 이름: thealice
      • 비밀번호: thealice
    • GitLab http://localhost:4000
      • 사용자 이름: alice
      • 비밀번호: ali12345
  4. CTFd에 플래그를 입력하고 올바른지 확인하세요.

문제 해결

  • Gitea에 빈 페이지가 표시되면 페이지를 새로고침하세요.
  • 저장소를 포크할 때 포크된 저장소의 이름을 변경하지 마세요.
  • 서비스가 시작되지 않거나 올바르게 구성되지 않은 경우 Docker 엔진에 CPU와 메모리를 더 추가하고 최신 버전으로 업데이트해 보세요.

해결 방법

경고: 스포일러가 있습니다! 🙈

  • 해결 방법을 참조하세요.
  • BSidesLV 발표: 프로덕션 산 오르기: CI/CD Goat를 이용한 실용적인 CI/CD 공격 - Caterpillar, Mock Turtle, Dormouse 도전 과제의 해결 방법을 다룹니다.

기여하기

기여하기를 참조하세요.

도구 다운로드