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

利用可能なCI/CD変数

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

スキャナーの動作

これらの変数は、スキャンの実行方法と、その結果の保存場所を制御します。

CI/CD変数説明
DAST_CHECKS_TO_EXCLUDE文字列552.2,78.1スキャンから除外するチェック識別子のカンマ区切りリスト。識別子については、vulnerability checksを参照してください。
DAST_CHECKS_TO_RUN文字列のリスト16.1,16.2,16.3スキャンに使用するチェック識別子のカンマ区切りリスト。識別子については、vulnerability checksを参照してください。
DAST_CRAWL_GRAPHブール値trueスキャンのクロールフェーズ中にアクセスしたナビゲーションパスのSVGグラフを生成するには、trueに設定します。生成されたグラフにアクセスするには、gl-dast-crawl-graph.svgをCIジョブのアーティファクトとして定義する必要があります。falseがデフォルトです。
DAST_FULL_SCANブール値trueパッシブチェックとアクティブチェックの両方を実行するには、trueに設定します。デフォルトはfalseです。
DAST_LOG_BROWSER_OUTPUTブール値trueChromium STDOUTSTDERRをログに記録するには、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_TIMEOUT期間文字列3hスキャンのアクティブスキャンフェーズが完了するまで待機する最大時間。デフォルトは3時間です。
DAST_ACTIVE_SCAN_WORKER_COUNT数値3並行して実行するアクティブチェックの数。デフォルトは3です。
DAST_CRAWL_EXTRACT_ELEMENT_TIMEOUT期間文字列5sブラウザが新しく見つかった要素またはナビゲーションを抽出できるようにする最大時間。5sがデフォルトです。
DAST_CRAWL_MAX_ACTIONS数値10000クローラーが実行するアクションの最大数。アクションの例としては、リンクの選択やフォームへの入力などがあります。10000がデフォルトです。
DAST_CRAWL_MAX_DEPTH数値10クローラーが実行するチェーンアクションの最大数。たとえば、Click, Form Fill, Clickは深さ3です。10がデフォルトです。
DAST_CRAWL_SEARCH_ELEMENT_TIMEOUT期間文字列3sブラウザが新しい要素またはユーザーアクションを検索できるようにする最大時間。3sがデフォルトです。
DAST_CRAWL_TIMEOUT期間文字列5mスキャンのクロールフェーズが完了するまで待機する最大時間。24hがデフォルトです。
DAST_CRAWL_WORKER_COUNT数値3使用する同時ブラウザインスタンスの最大数。GitLab.comのインスタンスRunnerの場合、最大3つを推奨します。より多くのリソースを持つプライベートRunnerは、より高い数からメリットを得られる可能性がありますが、5〜7つのインスタンスを超えるとほとんどメリットが得られません。デフォルト値は動的で、使用可能な論理CPUの数に等しくなります。
DAST_PAGE_DOM_READY_TIMEOUT期間文字列7sナビゲーションが完了した後、ブラウザがページをロード済みとみなし、分析の準備ができるまで待機する最大時間。6sがデフォルトです。
DAST_PAGE_DOM_STABLE_WAIT期間文字列200msページが安定しているか確認する前に、DOMの更新を待機する時間を定義します。500msがデフォルトです。
DAST_PAGE_ELEMENT_READY_TIMEOUT期間文字列600ms要素が分析の準備ができていると判断するまで待機する最大時間。300msがデフォルトです。
DAST_PAGE_IS_LOADING_ELEMENTセレクターcss:#page-is-loadingページに表示されなくなった場合、ページがロードを完了し、スキャンを続行できることをアナライザーに示すセレクター。DAST_PAGE_IS_READY_ELEMENTとは併用できません。
DAST_PAGE_IS_READY_ELEMENTセレクターcss:#page-is-readyページに表示されていることが検出された場合、ページがロードを完了し、スキャンを続行できることをアナライザーに示すセレクター。DAST_PAGE_IS_LOADING_ELEMENTとは併用できません。
DAST_PAGE_MAX_RESPONSE_SIZE_MB数値15HTTP応答本文の最大サイズ。これより大きい本文を含む応答は、ブラウザによってブロックされます。デフォルトは10MBです。
DAST_PAGE_READY_AFTER_ACTION_TIMEOUT期間文字列7sブラウザがページをロード済みとみなし、分析の準備ができるまで待機する最大時間。7sがデフォルトです。
DAST_PAGE_READY_AFTER_NAVIGATION_TIMEOUT期間文字列15sブラウザがページ間を移動するまで待機する最大時間。15sがデフォルトです。
DAST_PASSIVE_SCAN_WORKER_COUNTint5パッシブスキャンを並行して行うワーカーの数。デフォルトは、使用可能なCPUの数です。
DAST_PKCS12_CERTIFICATE_BASE64文字列ZGZkZ2p5NGd...相互TLSを必要とするサイトで使用されるPKCS12証明書。base64テキストとしてエンコードする必要があります。
DAST_PKCS12_PASSWORD文字列passwordDAST_PKCS12_CERTIFICATE_BASE64で使用される証明書のパスワード。GitLab UIを使用して、機密性の高いcustom CI/CI variablesを作成します。
DAST_REQUEST_ADVERTISE_SCANブール値true送信されるすべてのリクエストにVia: GitLab DAST <version>ヘッダーを追加し、そのリクエストがGitLab DASTスキャンの一部として送信されたことを通知するには、trueに設定します。デフォルトはfalseです。
DAST_REQUEST_COOKIESdictionaryabtesting_group:3,region:lockedすべてのリクエストに追加されるCookie名と値。
DAST_REQUEST_HEADERS文字列Cache-control:no-cacheカンマ区切りのリクエストヘッダー名と値のリストに設定します。次のヘッダーはサポートされていません: content-lengthcookie2keep-alivehoststrailertransfer-encoding、およびproxy-プレフィックスが付いたすべてのヘッダー。
DAST_SCOPE_ALLOW_HOSTS文字列のリストsite.com,another.comこの変数に含まれるホスト名は、クロール時にスコープ内と見なされます。デフォルトでは、DAST_TARGET_URL識別子は許可されたホストのリストに含まれています。DAST_REQUEST_HEADERSを使用して設定されたヘッダーは、これらのホスト名に対するすべてのリクエストに追加されます。
DAST_SCOPE_EXCLUDE_ELEMENTSセレクターa[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ブール値trueDASTがスキャン前にターゲットが利用可能かどうかをチェックしないようにするには、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)ログイン後、ログイン検証前に実行するアクションのカンマ区切りリスト。clickアクションとselectアクションをサポートします。Taking additional actions after submitting the login formを参照してください。
DAST_AUTH_BEFORE_LOGIN_ACTIONSセレクターcss:.user,id:show-login-formログインフォームにDAST_AUTH_USERNAMEとDAST_AUTH_PASSWORDを入力する前にクリックする要素を表す、セレクターのカンマ区切りリスト。
DAST_AUTH_CLEAR_INPUT_FIELDSブール値true手動ログインを試行する前に、ユーザー名とパスワードフィールドのクリアを無効にします。デフォルトではfalseに設定されます。
DAST_AUTH_COOKIE_NAMES文字列sessionID,groupName使用するCookieを認証用に指定するCookie名のカンマ区切りリストに設定します。
DAST_AUTH_FIRST_SUBMIT_FIELDセレクターcss:input[type=submit]複数ページのログインプロセスのユーザー名フォームを送信するためにクリックされる要素を記述するセレクター。
DAST_AUTH_NEGOTIATE_DELEGATION文字列*.example.com,example.com,*.EXAMPLE.COM,EXAMPLE.COM統合認証と委任に許可されるサーバー。このプロパティは、2つのChromiumポリシーを設定します: AuthServerAllowlistAuthNegotiateDelegateAllowlist。GitLab 17.6で導入されました。
DAST_AUTH_OTP_FIELDセレクターname:otpログインフォームにワンタイムパスワードを入力するために使用される要素を記述するセレクター。
DAST_AUTH_OTP_KEY文字列I5UXITDBMIQEIQKTKQFA====Webサイトへの認証時にワンタイムパスワードを生成するために使用する、Base32エンコードされたシークレットキー。
DAST_AUTH_OTP_SUBMIT_FIELDセレクターcss:input[type=submit]ユーザー名とは別のOTPフォームを送信するためにクリックされる要素を記述するセレクター。
DAST_AUTH_PASSWORD文字列P@55w0rd!Webサイトで認証するためのパスワード。
DAST_AUTH_PASSWORD_FIELDセレクターname:passwordログインフォームにパスワードを入力するために使用される要素を記述するセレクター。
DAST_AUTH_SUBMIT_FIELDセレクターcss:input[type=submit]シングルページのログインフォームの場合はログインフォームを送信するために、またはマルチページのログインフォームの場合はパスワードフォームを送信するためにクリックされる要素を記述するセレクター。
DAST_AUTH_SUCCESS_IF_AT_URLURLhttps://www.site.com/welcome*ログインフォームが送信された後、認証が成功したかどうかを判断するためにブラウザのURLと比較されるURL。ワイルドカード*を使用して、動的なURLを照合できます。
DAST_AUTH_SUCCESS_IF_ELEMENT_FOUNDセレクターcss:.user-avatarログインフォームが送信された後、認証が成功したかどうかを判断するために、その存在が使用される要素を記述するセレクター。
DAST_AUTH_SUCCESS_IF_NO_LOGIN_FORMブール値trueログインフォームが送信された後、ログインフォームがないことを確認して、成功した認証を確認します。この成功チェックはデフォルトで有効になっています。
DAST_AUTH_TYPE文字列basic-digest使用する認証の種類。
DAST_AUTH_URLURLhttps://www.site.com/loginターゲットWebサイト上のログインフォームがあるページのURL。認証されたスキャンを作成するために、DAST_AUTH_USERNAMEとDAST_AUTH_PASSWORDがログインフォームとともに送信されます。
DAST_AUTH_USERNAME文字列user@email.comWebサイトで認証するユーザー名。
DAST_AUTH_USERNAME_FIELDセレクターname:usernameログインフォームにユーザー名を入力するために使用される要素を記述するセレクター。
DAST_SCOPE_EXCLUDE_URLSURLhttps://site.com/.*/sign-out認証されたスキャン中にスキップするURL(カンマ区切り)。正規表現構文を使用して、複数のURLを照合できます。たとえば、.*は任意の文字シーケンスと一致します。
DAST_AUTH_REPORTブール値true認証プロセス中に実行された手順を詳述するレポートを生成するには、trueに設定します。生成されたレポートにアクセスするには、gl-dast-debug-auth-report.htmlをCIジョブアーティファクトとして定義する必要もあります。レポートの内容は、認証の失敗をデバッグする際に役立ちます。falseがデフォルトです。