始める前に
この python スクリプトのセットは、ビルド 自動化による DAST スキャンの能力を実証するためのものです。次のリンクからサンプル AppScanDASTandSASTautomation.zip
ファイルをダウンロードして、このワークフローで使用できます。(ファイルがダウンロードされない場合は、リンクを右クリックして、ファイルをハード・ディスクに保存します。)注: 使用するスキャン・テンプレートを作成する必要があります。デフォルトで
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 間のインターフェースを可能にするドライバーです。