詳細ガイド

1. XEIZE_TOKENを追加する

GitLab Workflow用の XEIZE_TOKEN と XEIZE_GITLAB_API_TOKEN をCI/CD変数に追加します。

変数は Settings > CI/CD で登録できます。

GitLab PATトークンのスコープ:

  • api
GitLab CI/CD変数の設定
GitLab CI/CD変数の追加

2. GitLabのワークフローを追加する

  • メニューから New file を選択して、ファイルを作成します。
パイプラインファイルの作成

設定を入力し、Commit changes で保存すると、GitLabのパイプラインが適用されます。

ファイルの内容はGitLab Workflowのページを参照してください。

パイプライン設定の保存

3. MRで動作を確認する

リポジトリをクローンする

GitLabのパイプラインを設定したリポジトリをクローンします。例の git clone https://gitlab.com/... は、実際のリポジトリのURLに置き換えてください。

ブランチを作成する

ターミナルでマージリクエストを準備します。

  1. cd repository でクローンしたディレクトリに移動します。repository は実際のディレクトリ名に置き換えてください。
  2. git checkout -b pr-test で pr-test ブランチを作成します。
  3. 動作確認用の脆弱なファイルを以下の内容で作成します。

vuln_crypto.py

python
# 安全でない暗号アルゴリズムとハードコードされた鍵
from Crypto.Cipher import DES
ENCRYPTION_KEY = b"weak_key"
cipher = DES.new(ENCRYPTION_KEY, DES.MODE_ECB)

vuln_exec.py

python
# Flaskでの安全でないコード実行
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プロジェクトに戻り、New merge request を選択します。
マージリクエストの作成画面

pr-test を選び、Compare branches and continue を選択します。

テスト用ブランチの選択
  1. 以下のようにコメントが投稿されたことを確認します。
マージリクエストに投稿されたXEIZEのコメント
XEIZEの検出結果の詳細