サンプル 2: ビルド 自動化による DAST スキャン

始める前に

この python スクリプトのセットは、ビルド 自動化による DAST スキャンの能力を実証するためのものです。次のリンクからサンプル AppScanDASTandSASTautomation.zip ファイルをダウンロードして、このワークフローで使用できます。(ファイルがダウンロードされない場合は、リンクを右クリックして、ファイルをハード・ディスクに保存します。)
注: 使用するスキャン・テンプレートを作成する必要があります。デフォルトで ASE に含まれているものはいずれも使用できません (例: 高速スキャンまたは開発者必需テスト)。このデモでは、マニュアル探査サーバーが次のデフォルトの場所にインストールされていることを想定しています:C:\Program Files (x86)\HCL\AppScan Manual Explorer

手順

ワークフローは、Jenkins で AltoroJ のビルドが開始されたときに開始されます。ワークフロー:
  1. Jenkins でビルドが完了します。
  2. Jenkins がポスト・ビルド・タスク python Selenium_StartScan.py dast_auto.config を実行します。
  3. スクリプトがマニュアル探査サーバーを始動します。
  4. selenium スクリプト Selenium_Altoro_View_AcctDetails.py が実行されます。(トラフィックはマニュアル探査サーバーによってプロキシーされます。)
  5. M.E.S が停止しトラフィックのキャプチャーがワークスペース・ディレクトリーに HTD ファイルとして保存されます。
  6. ASE にスキャン・ジョブが存在しない場合は作成されます。
  7. 開始 URL がジョブに追加されます (古いジョブは上書きされます)。
  8. HTD ファイルが削除されます。
  9. ログイン・タイプが Automatic に設定されます。
  10. スキャン・ジョブにテスト資格情報が追加されます。
  11. スキャンが実行されます。
  12. レポート・パックが実行されます。
  13. 「セキュリティーの問題」レポートからセキュリティーの問題が抽出されます。
  14. 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 間のインターフェースを可能にするドライバーです。