サンプル 2: ビルド 自動化による DAST スキャン
始める前に
注: 使用するスキャン・テンプレートを作成する必要があります。デフォルトで ASE に含まれているものはいずれも使用できません (例: 高速スキャンまたは開発者必需テスト)。このデモでは、マニュアル探査サーバーが次のデフォルトの場所にインストールされていることを想定しています:C:\Program Files (x86)\HCL\AppScan Manual Explorer。
手順
ワークフローは、Jenkins で AltoroJ のビルドが開始されたときに開始されます。ワークフロー:
- Jenkins でビルドが完了します。
-
Jenkins がポスト・ビルド・タスク
python Selenium_StartScan.py dast_auto.config
を実行します。 - スクリプトがマニュアル探査サーバーを始動します。
-
selenium スクリプト
Selenium_Altoro_View_AcctDetails.py
が実行されます。(トラフィックはマニュアル探査サーバーによってプロキシーされます。) - M.E.S が停止しトラフィックのキャプチャーがワークスペース・ディレクトリーに HTD ファイルとして保存されます。
- ASE にスキャン・ジョブが存在しない場合は作成されます。
- 開始 URL がジョブに追加されます (古いジョブは上書きされます)。
- HTD ファイルが削除されます。
- ログイン・タイプが Automatic に設定されます。
- スキャン・ジョブにテスト資格情報が追加されます。
- スキャンが実行されます。
- レポート・パックが実行されます。
- 「セキュリティーの問題」レポートからセキュリティーの問題が抽出されます。
-
Jenkins でグラフを表示できるように monkit.xml が更新されます。
このプロセスに必要なファイルを次に示します。
-
dast_auto.config - これは自動化用の構成ファイルです。スクリプトの動作を変更するには、このファイルを編集します。例: スキャン・テンプレートまたは開始 URL を変更します。Selenium_StartScan.py ファイルには、空の構成ファイルを生成する機能があります。
- scans.py - ASE への API 呼び出しを含む python ライブラリーです。
-
Selenium_Altoro_ViewAcctDetails.py - AltoroJ へのログイン、最初のアカウントのアカウント詳細の表示、および検索を行う selenium スクリプトです。
-
Selenium_StartScan.py - 上記のステップ 3 から 14 で説明したロジックを含む python スクリプトです。プロジェクト・フォルダーの命名を調整するには、#80 行を編集します。
- monkit.xml - セキュリティー・スキャンの結果を表示するために Jenkins が使用するファイルです。
-
geckodriver.log - 自動生成された geckodriver のログ・ファイルです。geckodriver は、python 経由で Selenium と firefox 間のインターフェースを可能にするドライバーです。
-