靜態分析掃描的疑難排解

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 service URL>/70f7db22-1bea-4f55-babc-5668f1f723f4/scans/6ecf4111-adf9-47a8-852b-625ff4c954ef/scanOverview
  • 執行 ID 會列在「掃描詳細資料」下的「概覽」標籤。

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

開放原始碼

Error: Scan failed. Your subscription does not allow for Open Source scans. 
Please contact your sales representative for information regarding activating “Open Source” scanning. 
If you need further assistance, please reach out to our Technical Support team

您已嘗試掃描開放原始碼檔案。 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

Error: We are unable to complete the scan successfully. The scan failed since the IRX was not created properly. 
It could possibly be due to an incorrect configuration or missing dependencies. 
If you need additional assistance, please reach out to our Technical Support team.

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

如果您已上傳 IRX:

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

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

不明錯誤

Error. An unknown error occurred.

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

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

若要下載掃描日誌:
  • 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. 重試掃描。

調查其他錯誤案例

開放原始碼檔案類型

Problems found during validation. 
The prepare operation found only open source files types. To run opensource only, use the -oso flag. 
To run security and opensource, include additional supported file types.

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

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 並再重試掃描。

沒有已知的檔案類型

No known scan file types were found during discovery. 
Please specify a location that contains .class, .jar, .war, .ear, .dll, .exe, PHP, Ruby, NPM packages, or JavaScript files.

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

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

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

沒有可掃描的檔案

Problems found during validation. 
No scannable files found. If you are trying to scan third party code, generate the IRX file using the --thirdParty option. If you are trying to scan for open source, generate the IRX using the -oso option. For a list of supported file types, refer to 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 上的資料。