1. XEIZE_TOKEN 추가
GitHub Action 실행을 위한 XEIZE_TOKEN secret 변수를 아래와 같이 추가합니다.
.png)
2. Github Action 추가
아래와 같이 + 버튼을 클릭하여 파일 생성으로 이동합니다.
.png)
아래와 같이 파일 내용을 추가후 Commit changes를 클릭하여 파일을 저장하면 GitHub Actions 가 적용됩니다.
파일 내용은 GitHub Actions 페이지를 참고하세요.
.png)
3. PR을 통한 작동 확인
Git Clone
GitHub Action이 적용된 Repository를 clone하세요. git clone REPOSITORY_URL의 REPOSITORY_URL은 복사한 저장소 URL로 바꿉니다.
Clone을 위해 필요한 URL은 아래와 같이 확인이 가능합니다.
.png)
Branch 생성
터미널에 아래와 같이 실행하여 PR 올리기 위한 작업을 진행합니다.
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
- GitHub Action이 추가된 Repository로 다시 이동후 Pull requests 메뉴를 클릭하여 아래와 같은 페이지로 이동후
New pull request버튼을 클릭합니다.
.png)
- 아래와 같이
pr-test를 클릭후Create pull request버튼을 클릭하여 PR을 생성합니다.
.png)
- GitHub Action이 완료될시 아래와 같이 댓글이 달리는걸 확인합니다.
.png)