正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

利用可能なCI/CD変数

これらのCI/CD変数は、ブラウザベースのDASTアナライザーに固有のものです。DASTの動作を要件に合わせてカスタマイズできます。

スキャナーの動作

これらの変数は、スキャンがどのように実行され、その結果がどこに保存されるかを制御します。

CI/CD変数種類説明
DAST_CHECKS_TO_EXCLUDE文字列552.2,78.1スキャンから除外するチェック識別子のカンマ区切りリスト。識別子については、脆弱性チェックを参照してください。
DAST_CHECKS_TO_RUN文字列のリスト16.1,16.2,16.3スキャンに使用するチェック識別子のカンマ区切りリスト。識別子については、脆弱性チェックを参照してください。
DAST_CRAWL_GRAPHブール値trueスキャンのクロールフェーズ中に訪問したナビゲーションパスのSVGグラフを生成するには、trueに設定します。生成されたグラフにアクセスするには、gl-dast-crawl-graph.svgをCIジョブアーティファクトとして定義する必要もあります。falseがデフォルトです。
DAST_FULL_SCANブール値trueパッシブチェックとアクティブチェックの両方を実行するには、trueに設定します。デフォルトはfalseです。
DAST_LOG_BROWSER_OUTPUTブール値trueChromiumのSTDOUTおよびSTDERRをログ出力するには、trueに設定します。
DAST_LOG_CONFIG文字列のリストbrows:debug,auth:debug(非推奨)コンソールログで使用するモジュールとその意図されたログレベルのリスト。
DAST_LOG_DEVTOOLS_CONFIG文字列Default:messageAndBody,truncate:2000DASTとChromiumブラウザ間のプロトコルメッセージをログ出力するように設定します。
DAST_LOG_FILE_CONFIG文字列のリストbrows:debug,auth:debugファイルログで使用するモジュールとその意図されたログレベルのリスト。
DAST_LOG_FILE_PATH文字列/output/browserker.logファイルログのパスを設定します。デフォルトはgl-dast-scan.logです。
SECURE_ANALYZERS_PREFIXURLregistry.organization.comアナライザーをダウンロードするDockerレジストリのベースアドレスを設定します。
SECURE_LOG_LEVEL文字列debugファイルログのデフォルトレベルを設定します。SECURE_LOG_LEVELを参照してください。

要素、アクション、およびタイムアウト

これらの変数は、スキャナーが特定の要素をどこで探し、どのアクションを実行し、操作が完了するまでどのくらいの時間待機するかを指示します。

CI/CD変数種類説明
DAST_ACTIVE_SCAN_TIMEOUTDuration string3hスキャンのアクティブスキャンフェーズが完了するまでの最大待機時間。デフォルトは3時間です。
DAST_ACTIVE_SCAN_WORKER_COUNT数値3並行して実行するアクティブチェックの数。デフォルトは3です。
DAST_CRAWL_MAX_ACTIONS数値10000クローラーが実行するアクションの最大数。アクションの例として、リンクの選択やフォームの入力などがあります。10000がデフォルトです。
DAST_CRAWL_MAX_DEPTH数値10クローラーが実行する連鎖アクションの最大数。例えば、Click, Form Fill, Clickは深度3です。10がデフォルトです。
DAST_CRAWL_TIMEOUTDuration string5mスキャンのクロールフェーズが完了するまでの最大待機時間。24hがデフォルトです。
DAST_CRAWL_WORKER_COUNT数値3使用する同時ブラウザインスタンスの最大数。GitLab.com上のインスタンスRunnerの場合、最大3つを推奨します。より多くのリソースを持つプライベートRunnerは、より多くの数でメリットを得られる可能性がありますが、5〜7インスタンスを超えるとほとんど効果が期待できません。デフォルト値は動的で、使用可能な論理CPUの数に等しいです。
DAST_PAGE_DOM_READY_TIMEOUTDuration string7sナビゲーションが完了した後、ページの読み込みが完了し、解析の準備ができたとブラウザが見なすまで待機する最大時間。6sがデフォルトです。
DAST_PAGE_DOM_STABLE_WAITDuration string200msページが安定しているかどうかをチェックする前に、DOMへの更新を待機する時間を定義します。500msがデフォルトです。
DAST_PAGE_ELEMENT_READY_TIMEOUTDuration string600ms要素が分析の準備ができたと判断されるまでに待機する最大時間。300msがデフォルトです。
DAST_PAGE_IS_LOADING_ELEMENTselectorcss:#page-is-loadingページ上で表示されなくなったときに、アナライザーにページの読み込みが完了し、スキャンを続行できることを示すセレクター。DAST_PAGE_IS_READY_ELEMENTとは併用できません。
DAST_PAGE_IS_READY_ELEMENTselectorcss:#page-is-readyページ上で表示されたときに、アナライザーにページの読み込みが完了し、スキャンを続行できることを示すセレクター。DAST_PAGE_IS_LOADING_ELEMENTとは併用できません。
DAST_PAGE_MAX_RESPONSE_SIZE_MB数値15HTTPレスポンスボディの最大サイズ。これより大きいボディを持つレスポンスは、ブラウザによってブロックされます。デフォルトは10 MBです。
DAST_PAGE_READY_AFTER_ACTION_TIMEOUTDuration string7sページの読み込みが完了し、解析の準備ができたとブラウザが見なすまで待機する最大時間。7sがデフォルトです。
DAST_PAGE_READY_AFTER_NAVIGATION_TIMEOUTDuration string15sブラウザが別のページにナビゲートするまで待機する最大時間。15sがデフォルトです。
DAST_PASSIVE_SCAN_WORKER_COUNTint5並行してパッシブスキャンを実行するワーカーの数。デフォルトは利用可能なCPUの数です。
DAST_PKCS12_CERTIFICATE_BASE64文字列ZGZkZ2p5NGd...相互TLSを必要とするサイトに使用されるPKCS12証明書。base64テキストとしてエンコードする必要があります。
DAST_PKCS12_PASSWORD文字列passwordDAST_PKCS12_CERTIFICATE_BASE64で使用される証明書のパスワード。GitLabのUIを使用して、機密性の高いカスタムCI/CD変数を作成します。
DAST_REQUEST_ADVERTISE_SCANブール値true送信されたすべてのリクエストにVia: GitLab DAST <version>ヘッダーを追加し、そのリクエストがGitLab DASTスキャンの一部として送信されたことを通知するには、trueに設定します。デフォルトはfalseです。
DAST_REQUEST_COOKIES辞書abtesting_group:3,region:lockedすべてのリクエストに追加するクッキー名と値。
DAST_REQUEST_HEADERS文字列Cache-control:no-cacheリクエストヘッダーの名前と値のカンマ区切りリストに設定します。以下のヘッダーはサポートされていません: content-length, cookie2, keep-alive, hosts, trailer, transfer-encoding, およびproxy-プレフィックスを持つすべてのヘッダー。
DAST_REQUEST_USER_AGENT文字列ブラウザから送信されるユーザーエージェント文字列を変更するように設定します。デフォルトのユーザーエージェントはLinux上のGoogle Chromeです。
DAST_SCOPE_ALLOW_HOSTS文字列のリストsite.com,another.comこの変数に含まれるホスト名は、クロール時にスコープ内と見なされます。デフォルトでは、DAST_TARGET_URLホスト名が許可されたホストリストに含まれます。DAST_REQUEST_HEADERSを使用して設定されたヘッダーは、これらのホスト名に対して行われるすべてのリクエストに追加されます。
DAST_SCOPE_EXCLUDE_ELEMENTSselectora[href='2.html'],css:.no-followスキャン時に無視されるセレクターのカンマ区切りリスト。
DAST_SCOPE_EXCLUDE_HOSTS文字列のリストsite.com,another.comこの変数に含まれるホスト名は除外され、接続は強制的に切断されます。
DAST_SCOPE_IGNORE_HOSTS文字列のリストsite.com,another.comこの変数に含まれるホスト名にはアクセスされますが、攻撃はされず、報告もされません。
DAST_TARGET_CHECK_SKIPブール値trueスキャンする前に、DASTがターゲットが利用可能であることをチェックしないようにするには、trueに設定します。デフォルトはfalseです。
DAST_TARGET_CHECK_TIMEOUT数値60ターゲットが利用可能になるまでの待機タイムアウト(秒単位)。デフォルトは60sです。
DAST_TARGET_PATHS_FILE文字列/builds/project/urls.txtサイト全体をクロールする代わりに、これらのパスのみをスキャンします。DAST_TARGET_URLに対するURLパスのリストを含むファイルパスに設定します。ファイルは、1行に1つのパスを含むプレーンテキストである必要があります。これを設定すると、DAST_CRAWL_MAX_DEPTHはデフォルトで1になります。これを防ぐには、DAST_OVERRIDE_MAX_DEPTH: falseを設定します。
DAST_TARGET_PATHS文字列/page1.html,/category1/page3.htmlサイト全体をクロールする代わりに、これらのパスのみをスキャンします。DAST_TARGET_URLに対するURLパスのカンマ区切りリストに設定します。これを設定すると、DAST_CRAWL_MAX_DEPTHはデフォルトで1になります。これを防ぐには、DAST_OVERRIDE_MAX_DEPTH: falseを設定します。
DAST_TARGET_URLURLhttps://site.comスキャンするWebサイトのURL。
DAST_USE_CACHEブール値trueキャッシュを無効にするには、falseに設定します。デフォルトはtrueです。: キャッシュを無効にすると、OOMイベントまたはDASTジョブのタイムアウトが発生する可能性があります。
DAST_CRAWL_GROUPED_URLS文字列https://example.com/hello/*,https://example.com/world/*/details(実験的)少なくとも1つの*を含むワイルドカードURLパターンをカンマ区切りリストで設定します。スキャン時間を短縮するために、スキャナーはパターンごとに1つの一致したURLのみをグループ化して分析します。

認証

これらの変数は、スキャナーがアプリケーションでどのように認証するかを指示します。

CI/CD変数種類説明
DAST_AUTH_AFTER_LOGIN_ACTIONS文字列select(option=id:accept-yes),click(on=css:.continue)ログイン後、ログイン検証の前に実行するアクションのカンマ区切りリスト。clickselectアクションをサポートします。ログインフォーム送信後の追加アクションを参照してください。
DAST_AUTH_BEFORE_LOGIN_ACTIONSselectorcss:.user,id:show-login-formDAST_AUTH_USERNAMEおよびDAST_AUTH_PASSWORDをログインフォームに入力する前にクリックする要素を表すセレクターのカンマ区切りリスト。
DAST_AUTH_CLEAR_INPUT_FIELDSブール値true手動ログインを試みる前に、ユーザー名とパスワードのフィールドをクリアするのを無効にします。デフォルトではfalseに設定されています。
DAST_AUTH_COOKIE_NAMES文字列sessionID,groupName認証に使用するクッキーを指定するために、クッキー名のカンマ区切りリストに設定します。
DAST_AUTH_FIRST_SUBMIT_FIELDselectorcss:input[type=submit]複数ページのログインプロセスで、ユーザー名フォームを送信するためにクリックされる要素を記述するセレクター。
DAST_AUTH_NEGOTIATE_DELEGATION文字列*.example.com,example.com,*.EXAMPLE.COM,EXAMPLE.COM統合認証と委任に許可されるべきサーバー。このプロパティは2つのChromiumポリシーを設定します: AuthServerAllowlistおよびAuthNegotiateDelegateAllowlist。GitLab 17.6で導入されました。
DAST_AUTH_OTP_FIELDselectorname:otpログインフォームでワンタイムパスワードを入力するために使用される要素を記述するセレクター。
DAST_AUTH_OTP_KEY文字列I5UXITDBMIQEIQKTKQFA====ウェブサイトに認証するためのワンタイムパスワードを生成する際に使用するBase32エンコードされたシークレットキー。
DAST_AUTH_OTP_SUBMIT_FIELDselectorcss:input[type=submit]ユーザー名とは別のOTPフォームを送信するためにクリックされる要素を記述するセレクター。
DAST_AUTH_PASSWORD文字列P@55w0rd!ウェブサイトで認証するためのパスワード。
DAST_AUTH_PASSWORD_FIELDselectorname:passwordログインフォームでパスワードを入力するために使用される要素を記述するセレクター。
DAST_AUTH_SUBMIT_FIELDselectorcss:input[type=submit]シングルページログインフォームのログインフォーム、または複数ページログインフォームのパスワードフォームを送信するためにクリックされる要素を記述するセレクター。
DAST_AUTH_SUCCESS_IF_AT_URLURLhttps://www.site.com/welcome*ログインフォームが送信された後、認証が成功したかどうかを判断するために、ブラウザのURLと比較されるURL。ワイルドカード*は、動的なURLに一致させるために使用できます。
DAST_AUTH_SUCCESS_IF_ELEMENT_FOUNDselectorcss:.user-avatarログインフォームが送信された後、認証が成功したかどうかを判断するために、その存在が使用される要素を記述するセレクター。
DAST_AUTH_SUCCESS_IF_NO_LOGIN_FORMブール値trueログインフォームが送信された後、ログインフォームが存在しないことを確認することによって、成功した認証を検証します。この成功チェックはデフォルトで有効になっています。
DAST_AUTH_TYPE文字列basic-digest使用する認証タイプ。
DAST_AUTH_URLURLhttps://www.site.com/loginターゲットウェブサイト上のログインフォームを含むページのURL。DAST_AUTH_USERNAMEとDAST_AUTH_PASSWORDは、認証済みスキャンを作成するためにログインフォームとともに送信されます。
DAST_AUTH_USERNAME文字列user@email.comウェブサイトで認証するためのユーザー名。
DAST_AUTH_USERNAME_FIELDselectorname:usernameログインフォームでユーザー名を入力するために使用される要素を記述するセレクター。
DAST_SCOPE_EXCLUDE_URLSURLhttps://site.com/.*/sign-out認証済みスキャン中にスキップするURL。カンマ区切り。複数のURLに一致させるには、正規表現構文を使用できます。例えば、.*は任意の文字シーケンスに一致します。
DAST_AUTH_REPORTブール値true認証プロセス中に実行された手順を詳述するレポートを生成するには、trueに設定します。生成されたレポートにアクセスするには、gl-dast-debug-auth-report.htmlをCIジョブアーティファクトとして定義する必要もあります。このレポートの内容は、認証の失敗をデバッグする際に役立ちます。falseがデフォルトです。