Content last updated 2026-06-05

GitLab with Git Fundamentals - ハンズオンラボ: Static Application Security Testing (SAST)

このハンズオンガイドでは、コードのセキュリティ上の欠陥を追跡する SAST ジョブのセットアップ方法を説明します。

完了までの推定時間: 30 分

目的

このラボでは、CI/CD パイプラインのオプション機能である SAST を使って、コード内のセキュリティ脆弱性を特定します。GitLab の Vulnerability Report は、パイプライン実行ごとに見つかった古いまたは新しい脆弱性を表示します。詳しくはドキュメントで学べます。

タスク A. CI Test プロジェクトで SAST を有効にする

  1. CI Test プロジェクトに移動します。

  2. .gitlab-ci.yml ファイルをクリックし、Edit > Edit single file をクリックします。

  3. gitlab-ci.yml ファイルの末尾に次の行をコピーします。

    include:
      - template: Jobs/SAST.gitlab-ci.yml
    

    SAST スキャンを .gitlab-ci.yml ファイルに統合する方法について詳しくは、ドキュメントを参照してください。

  4. 現在の .gitlab-ci.yml ファイルは次のようになるはずです。

    stages:
      - build
      - test
    
    build1:
      stage: build
      script:
        - echo "Do your build here"
    
    test1:
      stage: test
      script:
        - echo "Do a test here"
        - echo "For example run a test suite"
    
    include:
      - template: Jobs/SAST.gitlab-ci.yml
    

    include を使うと、CI/CD 設定に外部の YAML ファイルを含めることができます。読みやすさを高めるため、または複数の場所で同じ設定が重複するのを減らすために、1 つの長い .gitlab-ci.yml ファイルを複数のファイルに分割できます。include キーワードについて詳しくはドキュメントで読めます。

  5. 適切な Commit message を入力します。

  6. Target Branchmain に設定します。

  7. Commit changes ボタンをクリックします。

タスク B. run.py を追加し、SAST スキャンの結果を確認する

このタスクでは、既知の脆弱性を含むファイルを追加し、SAST がそれを検出するか確認します。

  1. パンくずリストのセクションでプロジェクト名をクリックして、Project overview ページに戻ります。

  2. プロジェクトのランディングページの上部、ブランチのドロップダウンの右側で、(+) > This directory > New file をクリックします。

  3. File name フィールドに run.py と入力します。

  4. 以下の内容をファイルにコピーします。

    import subprocess
    
    in = input("Enter your server ip: ")
    subprocess.run(["ping", in])
    
    print("Attempting to connect to the server")
    print("Application authentication was successful")
    
  5. 適切な Commit message を追加します。

  6. Target Branchmain に設定します。

  7. Commit changes ボタンをクリックします。

  8. 左側のナビゲーションペインで、Build > Pipelines をクリックします。

  9. パイプラインのテーブルの行の上部で、running(まだ実行中の場合)または passed(パイプラインが完了している場合)のステータスラベルをクリックします。

    SAST スキャンには少し時間がかかることがあるので、待っている間にコーヒーでも淹れてください。

  10. パイプラインが完了したら、左側のナビゲーションペインで Secure > Vulnerability report をクリックします。

  11. いずれかの脆弱性をクリックし、run.py で SAST スキャンが検出した潜在的なセキュリティ問題について読みます。

  12. 提起された問題を修正するために(subprocess.run コマンドを削除するなど)コードを自由に編集し、変更をコミットしてください。脆弱性レポートは、その問題がまだ存在すると示しますか。

ラボガイド完了

このラボの演習を完了しました。このコースの他のラボガイドを見ることができます。