靜態分析掃描的疑難排解

AppScan 360° 中疑難排解掃描看起來與在 AppScan on Cloud 中時稍微不同。請遵循這裡的指引以疑難排解 AppScan 360° 中的 SAST 掃描問題。

疑難排解掃描會先由使用者執行,如果未能解決問題,接著會升級給管理員。疑難排解的一般路徑如下所示:
  1. 使用者檢閱錯誤訊息。
  2. 使用者檢閱常見錯誤案例。
  3. 如果問題持續發生,使用者請下載掃描日誌並升級給管理員。
  4. 管理員會調查使用者提供的資訊。
  5. 如果問題持續發生,管理員會升級給 HCL 支援。

使用者:檢閱錯誤訊息

AppScan 中央平台 前往失敗掃描的掃描頁面。其中之一:
  • 選取「應用程式 > (應用程式)」 > 「檢視所有掃描 > (掃描名稱)」,或
  • 選取「掃描 > (掃描名稱)」
檢閱掃描頁面上顯示的錯誤訊息。下列為常見錯誤案例的討論。
重要: 請記下掃描 ID 和執行 ID:
  • 掃描 ID 是 URL 的一部分。請在 /scans/ 之後尋找字元字串。例如,在下列 URL 中,掃描 ID 為 6ecf4111-adf9-47a8-852b-625ff4c954ef
    < ASCP 服務 URL>/70f7db22-1bea-4f55-babc-5668f1f723f4/scans/6ecf4111-adf9-47a8-852b-625ff4c954ef/scanOverview
  • 執行 ID 會列在「掃描詳細資料」下的「概覽」標籤。

使用者:檢閱常見錯誤案例

開放原始碼

錯誤:掃描失敗。您的訂閱不允許進行開放原始碼掃描。 
如需啟動「開放原始碼」掃描的相關資訊,請聯絡您的銷售代表。 
如果您需要進一步協助,請聯絡我們的技術支援團隊

您已嘗試掃描開放原始碼檔案。 AppScan 360° 不支援開放原始碼掃描。

如果您已上傳 ZIP 檔案以供掃描,請檢閱 ZIP 檔案的內容。

  • 如果 ZIP 僅包含開放原始碼檔案,請上傳包含非開放原始碼檔案的 ZIP 並再重試掃描。
  • 如果 ZIP 檔案包含 appscan-config.xml 配置檔,請檢閱檔案中列出的內容。 AppScan 360° 不支援 openSourceOnly 內容。如果列出 openSourceOnly="true",請移除此內容並再重試掃描。
    註:此處檢閱 appscan-config.xml 的支援內容。
如果您已上傳 IRX:
  1. 重新執行 appscan prepare,確認目標檔案不是開放原始碼檔案且未使用 openSourceOnly 參數。
    註:此處檢閱 appscan prepare 的支援參數。
  2. 如果問題持續發生,請下載掃描日誌並升級給管理員

無 IPVA/損毀的 IRX

錯誤:我們無法順利完成掃描。掃描失敗,因為 IRX 未正確建立。 
這可能是因為配置不正確或相依關係遺失。 
如果您需要額外協助,請聯絡我們的技術支援團隊。

在掃描的 IRX 產生步驟期間,某些項目發生錯誤。

如果您已上傳 IRX:

  • 如果您能從 appscan prepare 執行的位置進行存取,請檢查在該程序期間建立的 logs.zip 檔案中是否有錯誤。
  • 檢視 SAClientUtil/logs/client.log 檔案中是否有錯誤。
  • 如需深入調查 IRX,請升級給管理員

如果您已上傳 ZIP,請下載掃描日誌並升級給管理員

不明錯誤

發生錯誤。發生不明錯誤。

這有若干個可能性。下載掃描日誌並升級給掃描管理員以進一步調查。

使用者:下載掃描日誌以升級給管理員

若要下載掃描日誌:
  • ASCP 使用者介面:
    1. 在掃描頁面(「應用程式」 > 「應用程式」 > 「檢視所有掃描 > (掃描名稱)」「掃描 > (掃描名稱)」)上,複製列在「掃描詳細資料」下的執行 ID
    2. 在掃描頁面右上角,選取「管理掃描」 > 「下載日誌」

      AppScan 360° 將 ZIP 檔案下載到本端系統。請注意下載的位置。

    3. 解壓縮 ZIP 檔內容。
  • 從指令行:

    <fileStorageRoot>/SaaSWorkingDirectory/SaaSStorage/Scans/<scanID>/<ExecutionID}/ 下載與掃描相關聯的目錄內容。

掃描管理員:調查使用者提供的資訊

存取掃描日誌

若要存取掃描日誌:

  1. <fileStorageRoot>/SaaSWorkingDirectory/SaaSStorage/Scans/<scanID>/<ExecutionID}/ 下載與掃描相關聯的目錄內容。
  2. 解壓縮並調查日誌是否有錯誤。
  3. 解決任何錯誤並再重試掃描。

調查無 IPVA 的 IRX/損毀的 IRX 錯誤

  1. <fileStorageRoot>/SaaSWorkingDirectory/SaaSStorage/Scans/<scanID>/<ExecutionID}/ 下載與掃描相關聯的目錄內容。
  2. 將下載的檔案複製到本端系統。
  3. 使用 7-ZIP 或類似的工具,用滑鼠右鍵按一下 IRX 檔案,然後按一下「開啟封存」。

  4. 請按兩下 internal.scan 將其開啟。

  5. 檢查根目錄中的 .log 檔案以及在日誌資料夾中的日誌是否有任何錯誤。
  6. 解決任何錯誤並再重試掃描。

調查有開放原始碼錯誤的 IRX

註: AppScan 360° 不支援開放原始碼掃描。
如果掃描失敗並出現錯誤 Your subscription does not allow for Open Source scans.,且您已上傳 IRX 以供掃描,請檢查在 IRX 檔案中是否有任何錯誤:
  1. <fileStorageRoot>/SaaSWorkingDirectory/SaaSStorage/Scans/<scanID>/<ExecutionID}/ 下載與掃描相關聯的目錄內容。
  2. 使用 7-ZIP 或類似的工具,用滑鼠右鍵按一下 IRX 檔案,然後按一下「開啟封存」。

  3. 開啟 scan.manifest 檔案來進行檢查。
    Total Languages Found = 1 且在 Language 區段中的唯一項目為 Open Source,則 IRX 檔案僅會為開放原始碼掃描產生,或是您已指向僅包含開放原始碼檔案的位置:
    • 確認目標位置包含非開放原始碼檔案。

      AppScan 360° 不支援開放原始碼掃描。

    • 確認您未在 appscan prepare 指令或 appscan-config.xml 檔案中,使用不支援的內容或參數。如果列出 openSourceOnly="true",請移除此內容。

      AppScan 360°appscan prepareappscan-config.xml 中皆不支援 openSourceOnly 內容。

  4. 重試掃描。

調查其他錯誤案例

開放原始碼檔案類型

驗證期間找到問題。 
準備作業僅找到開放原始碼檔案類型。若要僅執行開放原始碼,請使用 -oso 旗標。 
若要執行安全性與開放原始碼,請包括其他支援的檔案類型。

您已嘗試執行僅限開放原始碼的掃描,或已嘗試執行第三方掃描,但掃描需要其他配置。

AppScan 360° 不支援僅限開放原始碼的掃描。

驗證掃描配置:
  • 確認您未在 appscan prepare 指令中使用不支援的參數。如果列出 openSourceOnly="true"-oso,請移除此參數。

    AppScan 360°appscan prepare 中不支援 openSourceOnly-oso 參數。

  • 如果您已上傳 IRX 並想要在僅有第三方程式庫的位置執行掃描,請啟用第三方掃描。其中之一:
    1. 將第三方旗標新增至 appscan prepare 以擷取第三方程式庫並再重試掃描。

      指令應看起來類似:appscan prepare -tp

    2. thirdParty="true" 新增至 appscan-config.xml,然後再重試掃描。

      可在使用 CLI 配置 IRX 檔案產生中找到範例

  • 如果您已上傳 ZIP 並想要在僅有第三方程式庫的位置執行掃描,請啟用第三方掃描:
    • 如果您想要掃描第三方程式碼,請 add thirdParty="true"appscan-config.xml 並再重試掃描。

沒有已知的檔案類型

探索期間未找到已知的掃描檔案類型。 
請指定包含 .class、.jar、.war、.ear、.dll、.exe、PHP、Ruby、NPM 套件或 JavaScript 檔案的位置。

您已嘗試掃描不包含任何可掃描檔案的位置。

確認目標位置中的檔案為有效的檔案類型。在靜態分析語言支援,檢查支援的檔案類型清單。

如果您已使用 appscan-config.xml,請檢查目標路徑是有效的位置。

沒有可掃描的檔案

驗證期間找到問題。 
找不到可掃描的檔案。如果您要嘗試掃描第三方程式碼,請使用 --thirdParty 選項產生 IRX 檔。如果您要嘗試掃描開放原始碼,請使用 -oso 選項產生 IRX。如需支援的檔案類型清單,請參閱 https://help.hcl-software.com/appscan/ASoC/src_language_support.html#src_language_support__table_ylp_rn5_jw
  • 如果您想要在僅有第三方程式庫的位置執行掃描,您必須啟用第三方掃描。其中之一:
    1. 將第三方旗標新增至 appscan prepare 以擷取第三方程式庫並再重試掃描。

      指令應看起來類似 appscan prepare -tp

    2. thirdParty="true" 新增至 appscan-config.xml,然後再重試掃描。

      可在使用 CLI 配置 IRX 檔案產生中找到範例

  • 如果您想要執行資料流程分析掃描,請確認目標掃描位置包含適用於 Java、.NET 或 C/C++ 之正確的已編譯檔案類型,並再重試掃描。

  • 如果您想要執行僅限原始碼掃描,請確認目標位置包含正確的原始碼檔案類型,並再重試掃描。
  • 如果您想要執行僅限原始碼掃描,請從 appscan prepare 指令或 appscan-config.xml 中移除 –sco 旗標,並再重試掃描。

掃描管理員:使用 HCL 支援

如果在套用此處提供的疑難排解指引後,您仍不確定造成掃描失敗的原因,請聯絡 HCL 客戶支援中心以取得額外協助。請備妥以下資訊以提供支援:
  • 執行 ID
  • 掃描 ID
  • Preparer Pod ID(如果適用的話)
  • Analyzer Pod ID(如果適用的話)
  • AppScan 360°service.log 中於掃描頁面上回報的任何錯誤。
  • 日誌 ZIP 檔案。
  • 掃描的應用程式/專案的相關詳細資料。
  • 疑難排解和/或解決問題所採取步驟的相關詳細資料。
註: 備份任何重要資訊並將 Pod 詳細資料掃描至安全位置。依預設會在 10 天後清除 Pod 上的資料。