容器化扫描故障诊断
AppScan 360° 中的扫描故障诊断与 AppScan on Cloud 中的略有不同。按照此处的指导在 AppScan 360° 中进行扫描问题故障诊断。
- 用户查看错误消息。
- 用户查看常见错误案例。
- 如果问题仍然存在,用户将下载扫描日志并上报给管理员。
- 管理员调查用户提供的信息。
- 如果问题仍然存在,管理员将上报给 HCL 支持人员。
用户:请复审错误消息
- 选择,或者
- 选择
用户:查看常见错误案例
开源
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 prepare,确认目标文件不是开源文件,并且未使用openSourceOnly参数。 - 如果问题仍然存在, 请下载扫描日志并上报给管理员。
无 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.
存在几种可能性。下载扫描日志并上报给扫描管理员以进行进一步调查。
用户:下载扫描日志并上报给管理员
- 在扫描页面(或)中,复制扫描详细信息下列出的执行标识。
- 在扫描页面的右上角,选择。
AppScan 360° 将 ZIP 文件下载到本地系统。记下下载的位置。
- 解压缩 ZIP 文件的内容。
- 打开 service.log 文件。
在此文件中,您应该能够确定抛出错误的步骤。
例如:Request received to perform scan for execution-id 4277b41a-18ad-44ad-81c9-9542e7af83d7. Initiated fetch scan data request with scan-id e7330058-c743-41af-8914-95eb30554d78. Downloaded scan data successfully. Request received to perform scan. Initiated prepare request with scan-id e7330058-c743-41af-8914-95eb30554d78. Received prepare (PERFORM_PREPARE) request with scan-id e7330058-c743-41af-8914-95eb30554d78 by preparer-6d7c4c9c58-c4kgq. Execution completed with exit code -1. Request received to publish status to server for scan-id e7330058-c743-41af-8914-95eb30554d78. (Failed: Execution completed with exit code -1.)在此示例中,错误是在
PERFORM_PREPARE步骤中抛出的。由于prepare步骤中出现故障,请调查准备器 Pod。
- 执行标识
在上面的 service.log 示例中,为
execution-id 4277b41a-18ad-44ad-81c9-9542e7af83d7。 - 扫描标识
在上面的 service.log 示例中,为
scan-id e7330058-c743-41af-8914-95eb30554d78。 - 准备器 Pod 标识(如适用)
在上面的 service.log 示例中,为
preparer-6d7c4c9c58-c4kgq。 - 分析器 Pod 标识(如适用)
- 在 AppScan 360° 或 service.log 中的扫描页面上报告的任何错误。
- 日志 ZIP 文件。
- 有关正在扫描的应用程序/项目的详细信息。
扫描管理员:调查用户提供的信息
访问扫描日志
要访问扫描日志:
- 打开 Swagger 页面。
- 在右上角选择。
- 单击授权。
- 输入在部署过程中传递的 AppScan Central Platform 密钥 (
--auth-token flag),然后单击授权。 - 单击请尝试
- 将扫描标识粘贴到文本框,然后单击执行。
如果您不知道扫描标识,可以在从扫描页面下载的 service.log 中找到标识。
- 在响应正文中,单击下载日志链接。
这会将包含多个日志文件的 ZIP 文件下载到本地机器上。记下所下载文件的位置。
- 抽取并调查以下日志是否有错误:
- prepare.log
- StaticAnalyzer-Errors.log
- SASTAgent.log
- 解决所有错误,然后重试扫描。
调查具有无 IPVA/IRX 损坏错误的IRX
- 打开 Swagger 页面。
- 在右上角选择。
- 单击授权。
- 输入在部署过程中传递的 AppScan Central Platform 密钥 (
--auth-token flag),然后单击授权。 - 向下滚动至下载 IRX 文件,然后单击请尝试。
- 输入扫描标识,然后单击执行。
这会将 IRX 文件下载到本地机器上。记下所下载文件的位置。
-
使用 7-ZIP 或类似工具,右键单击 IRX 文件,然后单击打开存档。
-
双击 internal.scan 以打开。
- 检查根目录中的 .log 文件以及日志文件夹中的日志中是否有任何错误。
- 解决所有错误,然后重试扫描。
调查具有开源错误的 IRX
Your subscription does not allow for Open Source scans.,并且您上载了 IRX 进行扫描,请检查 IRX 文件中是否存在错误:- 打开 Swagger 页面。
- 在右上角选择。
- 单击授权。
- 输入在部署过程中传递的 AppScan Central Platform 密钥 (
--auth-token flag),然后单击授权。 - 向下滚动至下载 IRX 文件,然后单击请尝试。
- 输入扫描标识,然后单击执行。
这会将 IRX 文件下载到本地机器上。记下所下载文件的位置。
-
使用 7-ZIP 或类似工具,右键单击 IRX 文件,然后单击打开存档。
- 打开 scan.manifest 文件进行检查。如果
Total Languages Found = 1和Language部分中的唯一条目是Open Source,则仅为开源扫描生成了 IRX 文件,或者指向了仅包含开源文件的位置:- 确认目标位置包含非开源文件。
AppScan 360° 不支持开源扫描。
- 确认您在
appscan prepare命令或appscan-config.xml文件中没有使用不受支持的属性或参数。如果列出了openSourceOnly="true",请删除此属性。AppScan 360° 在
appscan prepare或appscan-config.xml中不支持openSourceOnly属性。
- 确认目标位置包含非开源文件。
- 重试扫描。
访问扫描的 Pod 日志
- 在 Kubernetes IDE 中,下载您正在调查的 Pod 的日志。
- 在此文件中,搜索扫描标识字符串。准备或分析阶段在日志中将如下所示:准备和分析命令在这些行之后运行。这是您应该会看到错误的地方。如果此日志中没有明确的错误指示,请连接到 Pod 并进一步调查。
Payload(id= e7330058-c743-41af-8914-95eb30554d78, type=PERFORM_PREPARE, Payload(id= e7330058-c743-41af-8914-95eb30554d78, type=PERFORM_ANALYSIS, - 连接到 Pod 并执行以下命令:
>: cd ~/data/scans/<scan_id>/logs - 查找错误:
- 有关准备错误,请查看 prepare.log 和 SAClientUtil/logs/client.log。
SAClientUtil/logs/client.log 可在
~/SAClientUtil中找到。 - 有关分析错误,请查看 StaticAnalyzer-Errors.log 和 SASTAgent.log。
- 有关准备错误,请查看 prepare.log 和 SAClientUtil/logs/client.log。
>: cd logs/<pod_type>/
>: cat <pod_id>.log调查其他错误案例
开源文件类型
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 并打算在只有第三方库的位置运行扫描,请启用第三方扫描。执行以下任一项操作:
- 将第三方标志添加到
appscan prepare,以选取第三方库并重试扫描。命令应如下所示:
appscan prepare -tp。 - 将
thirdParty="true"添加到 appscan-config.xml 并重试扫描。可以在使用 CLI 配置 IRX 文件生成中找到一个示例
- 将第三方标志添加到
- 如果您上载了 ZIP 并打算在只有第三方库的位置运行扫描,请启用第三方扫描:
- 如果要扫描第三方代码,请在 appscan-config.xml 中执行
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.
- 如果您打算在只有第三方库的位置运行扫描,您必须启用第三方扫描。执行以下任一项操作:
- 将第三方标志添加到
appscan prepare,以选取第三方库并重试扫描。该命令应类似于
appscan prepare -tp。 - 将
thirdParty="true"添加到 appscan-config.xml 并重试扫描。可以在使用 CLI 配置 IRX 文件生成中找到一个示例
- 将第三方标志添加到
-
如果您打算运行数据流分析扫描,请确认目标扫描位置包含 Java、.NET 或 C/C++ 正确的已编译文件类型,然后重试扫描。
- 如果您打算运行仅源代码扫描,请确认目标位置包含正确的源代码文件类型,然后重试扫描。
- 如果您未打算运行仅源代码扫描,请从
appscan prepare命令或从 appscan-config.xml 中删除–sco标志,然后重试扫描。
扫描管理员:与 HCL 支持人员合作
- 执行标识
- 扫描标识
- 准备器 Pod 标识(如适用)
- 分析器 Pod 标识(如适用)
- 在 AppScan 360° 或 service.log 中的扫描页面上报告的任何错误。
- 日志 ZIP 文件。
- 有关正在扫描的应用程序/项目的详细信息。
- 有关问题故障诊断和/或解决中执行的步骤的详细信息。