1. XEIZE_TOKEN 추가
GitLab Workflow 실행을 위한 XEIZE_TOKEN 와 XEIZE_GITLAB_API_TOKEN를 CI/CD Variables 아래와 같이 추가하세요.
CI/CD Variables는 Settings의 CI/CD 메뉴에서 추가가 가능합니다.
- api
.png)
.png)
2. GitLab Workflow 추가
아래와 같이 + 버튼의 "New file"을 클릭하여 파일 생성으로 이동합니다.
.png)
아래와 같이 파일 내용을 추가후 Commit changes를 클릭하여 파일을 저장하면 GitLab 파이프라인 가 적용됩니다.
파일 내용은 GitLab Workflow 페이지를 참고하세요.
.png)
3. MR을 통한 작동 확인
Git Clone
GitLab 파이프라인이 설정된 Repository를 clone (예: git clone https://gitlab.com/...) 하세요.
Branch 생성
터미널에 아래와 같이 실행하여 MR을 만들기 위한 작업을 진행합니다.
cd repository를 실행하여 clone한 경로로 이동합니다.repository는 실제 디렉터리 이름으로 바꿉니다.git checkout -b pr-test을 실행하여pr-test라는 branch를 생성합니다.- 아래와 같이 취약한 파일들을 생성을 합니다.
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"
- 해당 파일들을 추가후 터미널에 아래와 같이 실행합니다.
text
git add .
git commit -m "add tests"
git push origin pr-test
- GitLab Workflow가 추가된 Project로 다시 이동후
New merge request버튼을 클릭합니다.
.png)
아래와 같이 추가한 pr-test branch를 선택후 Compare branches and continue 를 클릭합니다.
.png)
- 아래와 같이 성공적으로 comment가 달린것을 확인합니다.
.png)
.png)