静态分析扫描故障诊断

AppScan 360° 中的扫描故障诊断与 AppScan on Cloud 中的略有不同。按照此处的指导在 AppScan 360° 中进行 SAST 扫描问题故障诊断。

扫描故障诊断首先由用户执行,如果未找到解决方案,则上报给管理员。用于故障诊断的常规路径如下:
  1. 用户查看错误消息。
  2. 用户查看常见错误案例。
  3. 如果问题仍然存在,用户将下载扫描日志并上报给管理员。
  4. 管理员调查用户提供的信息。
  5. 如果问题仍然存在,管理员将上报给 HCL 支持人员。

用户:请复审错误消息

AppScan Central Platform,转至失败的扫描的扫描页面。执行以下任一项操作:
  • 选择应用程序 > (应用程序) > 查看所有扫描 > (扫描名称),或者
  • 选择扫描 > (扫描名称)
查看扫描页面上显示的错误消息。常见错误案例如下所述。
重要: 记下扫描标识和执行标识:
  • 扫描标识是 URL 的一部分。查找 /scans/ 后的字符串。例如,在以下 URL 中,扫描标识为 6ecf4111-adf9-47a8-852b-625ff4c954ef
    < ASCP service URL>/70f7db22-1bea-4f55-babc-5668f1f723f4/scans/6ecf4111-adf9-47a8-852b-625ff4c954ef/scanOverview
  • 执行标识列在概述选项卡的扫描详细信息下。

用户:查看常见错误案例

最常见的错误包括:

开源

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. 在扫描页面(应用程序 > 应用程序 > 查看所有扫描 > (扫描名称)扫描 > (扫描名称))中,复制扫描详细信息下列出的执行标识
    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 = 1Language 部分中的唯一条目是 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 并打算在只有第三方库的位置运行扫描,请启用第三方扫描:
    • 如果要扫描第三方代码,请在 appscan-config.xml 中执行 add thirdParty="true",然后重试扫描。

无已知文件类型

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 客户支持人员,以获得更多帮助。准备好向支持人员提供以下信息:
  • 执行标识
  • 扫描标识
  • 准备器 Pod 标识(如适用)
  • 分析器 Pod 标识(如适用)
  • AppScan 360°service.log 中的扫描页面上报告的任何错误。
  • 日志 ZIP 文件。
  • 有关正在扫描的应用程序/项目的详细信息。
  • 有关问题故障诊断和/或解决中执行的步骤的详细信息。
注: 将 Pod 上的任何重要信息和扫描详细信息备份到安全位置。缺省情况下,Pod 上的数据将在 10 天后被清除。