상세 가이드

1. XEIZE_TOKEN 추가

GitLab Workflow 실행을 위한 XEIZE_TOKEN 와 XEIZE_GITLAB_API_TOKEN를 CI/CD Variables 아래와 같이 추가하세요.

CI/CD Variables는 Settings의 CI/CD 메뉴에서 추가가 가능합니다.

GitLab PAT Token권한:

  • api
상세 가이드 화면
상세 가이드 화면

2. GitLab Workflow 추가

아래와 같이 + 버튼의 "New file"을 클릭하여 파일 생성으로 이동합니다.

상세 가이드 화면

아래와 같이 파일 내용을 추가후 Commit changes를 클릭하여 파일을 저장하면 GitLab 파이프라인 가 적용됩니다.

파일 내용은 GitLab Workflow 페이지를 참고하세요.

상세 가이드 화면

3. MR을 통한 작동 확인

Git Clone

GitLab 파이프라인이 설정된 Repository를 clone (예: git clone https://gitlab.com/...) 하세요.

Branch 생성

터미널에 아래와 같이 실행하여 MR을 만들기 위한 작업을 진행합니다.

  1. cd repository를 실행하여 clone한 경로로 이동합니다. repository는 실제 디렉터리 이름으로 바꿉니다.
  2. git checkout -b pr-test을 실행하여 pr-test라는 branch를 생성합니다.
  3. 아래와 같이 취약한 파일들을 생성을 합니다.

vuln_crypto.py

python
# Unsafe Crypto Algorithm + Hardcoded key
from Crypto.Cipher import DES
ENCRYPTION_KEY = b"weak_key"
cipher = DES.new(ENCRYPTION_KEY, DES.MODE_ECB)

vuln_exec.py

python
# Unsafe Flask RCE
from flask import Flask, request

app = Flask(__name__)

@app.route('/exec')
def unsafe_exec():
    code = request.args.get('code')
    eval(code)
    return "Dangerous Code executed"
  1. 해당 파일들을 추가후 터미널에 아래와 같이 실행합니다.
text
git add . 
git commit -m "add tests"
git push origin pr-test
  1. GitLab Workflow가 추가된 Project로 다시 이동후 New merge request 버튼을 클릭합니다.
상세 가이드 화면

아래와 같이 추가한 pr-test branch를 선택후 Compare branches and continue 를 클릭합니다.

상세 가이드 화면
  1. 아래와 같이 성공적으로 comment가 달린것을 확인합니다.
상세 가이드 화면
상세 가이드 화면