分析命令 (Linux™ 和 macOS)
分析命令用于提交扫描请求供分析,或者用于处理已经提交的扫描请求。使用这些命令,还可以接收有关扫描的信息。这些信息对于自动执行脚本会非常有用。
使用这些命令之前,请确保已登录到分析服务(请参阅认证命令)。
appscan.sh status
语法:
appscan.sh status -i <job_id>描述:
对分析作业返回下列其中一个状态码:
0 = Pending
1 = Starting
2 = Running
3 = FinishedRunning
4 = FinishedRunningWithErrors
5 = PendingSupport
6 = Ready
7 = ReadyIncomplete
8 = FailedToScan
9 = ManuallyStopped
10 = None
11 = Initiating
12 = MissingConfiguration
13 = PossibleMissingConfiguration 必需选项:
-i:指定-i <job_id>,其中<job_id>是分析作业的标识。
提示: 对于所有命令,选项都可以按任意顺序使用。
示例:
要查看作业标识 12345 的状态,请指定以下命令:
appscan.sh status -i 12345如果返回码为 0,说明该作业暂挂。如果返回码为 1,说明作业正在启动,等等。
appscan.sh list
语法:
appscan.sh list描述:
列出所有分析作业,包括已排队、正在运行和已完成的作业。将返回每个作业的标识,以便您可以将这些标识用于其他命令。例如,可在命令提示符或脚本中将标识用于 info 命令。
appscan.sh list_apps
语法:
appscan.sh list_apps描述:
仅限 HCL Cloud Marketplace:如果您已连接至位于 HCL Cloud Marketplace 的 AppScan on Cloud 服务,则您提交到云的 IRX 文件必须与现有 AppScan on Cloud 应用程序关联。
使用此命令可以查看您有权访问的 AppScan on Cloud 应用程序。要使用此命令,必须向服务进行认证。在发出此命令后,将显示 AppScan on Cloud 应用程序的列表,并在后面的括号中显示应用程序的标识。在使用 queue_analysis 命令的 -a 选项时,请使用此列表中的标识值。
appscan.sh cancel
语法:
appscan.sh cancel -i <job_id>描述:
取消正在运行或已排队的分析作业。
必需选项:
-i:指定-i <job_id>,其中<job_id>是分析作业的标识。
提示: 对于所有命令,选项都可以按任意顺序使用。
示例:
要取消作业标识 12345,请指定以下命令:
appscan.sh cancel -i 12345
appscan.sh queue_analysis
语法:
appscan.sh queue_analysis -a <app_id> -f <file> -di -n <scan_name> -nen -oso -ps -sao描述:
提交文件进行分析(IRX 或非 IRX 存档)。扫描完成后,您将收到电子邮件通知(邮件将发送到与登录分析服务时使用的帐户关联的电子邮件地址)。电子邮件包含链接,以便您可以登录来下载扫描。
必需选项:
-a:您提交进行分析的文件(IRX 文件或非 IRX 存档)必须与现有 AppScan on Cloud 应用程序关联。使用此选项,指定-a <app_id>,其中<app_id>是要关联的应用程序的标识。要确定标识,请使用list_apps命令。-f:指定-f <file>,其中<file>是您希望提交进行扫描的 IRX 文件或非 IRX 存档。如果文件不在当前目录中,请使用此选项指定文件路径和文件名。注: 仅当以下一个或两个语句都满足时,才需要该选项:- 您是从包含多个目标文件的目录发出的命令。如果目录仅包含一个目标文件,则在未使用
-f选项的情况下将提交此文件。 - 您是从不包含目标文件的目录发出的命令。在此情况下,必须使用
-f选项指定要提交的文件的路径和文件名。
- 您是从包含多个目标文件的目录发出的命令。如果目录仅包含一个目标文件,则在未使用
可选标志/设置:
-di:禁用干预。如果扫描因任何原因失败,则扫描启用团队将不会介入来尝试改进配置。缺省情况下,当扫描失败时,它会进入正在审核状态,以等待扫描启用团队的干预。指定-di以禁用此干预;扫描将直接失败。-n:指定-n <scan_name>,其中<scan_name>是所提交扫描的名称。-nen:分析完成时禁用电子邮件通知。如果未指定此标志,缺省情况下将发送电子邮件通知。注:-e标志已弃用,取而代之的是-nen。-oso:指定-oso以仅查找 SCA 包中的已知漏洞。指定了-oso时,AppScan on Cloud 不会对此包执行静态分析。注: 当用户拥有开源许可证时,缺省情况下,SCA 分析是静态扫描的一部分。此选项将分析限制为 SCA 漏洞。用户必须具有开源许可证才能利用仅 SCA 分析。-ps:将扫描作为个人扫描运行。如果未指定此标志,则缺省情况下将进行常规扫描。-sao:指定-sao以仅执行静态分析。指定-sao时,AppScan on Cloud 不会对此包执行开源分析。
提示: 对于所有命令,选项都可以按任意顺序使用。
示例:
要提交 my_irx.irx(位于当前目录中)进行扫描,请使用
appscan queue_analysis -f my_irx.irx -a 12345 -n my_scan其中 12345 是将扫描关联到的应用程序的标识(可以使用 list_apps 命令来确定应用程序标识)。使用用户界面或 list 命令来查看所有当前扫描时,my_scan 将出现在列表中。如果创建 IRX 时未指定仅开源分析 (SCA) 或仅静态分析,则可以在分析时将
-oso 或 -sao 选项与 appscan queue_analysis 结合使用,以应用这些选项。在本示例中,以下命令发送文件进行开源分析和静态分析:appscan queue_analysis -a <application> -f my_irx.irx以下命令发送文件仅进行静态分析:appscan queue_analysis -a <application> -f <file> -sao以下命令发送文件仅进行开源分析 (SCA):appscan queue_analysis -a <application> -f <file> -os相反,如果创建了文件并且使用 appscan prepare 指定了仅开源分析 (SCA) 或仅静态分析,则基本命令appscan queue_analysis -a <application> -f my_irx.irx会发送文件,仅用于执行通过 appscan prepare 命令指定的分析类型。appscan.sh info
语法:
appscan.sh info -i <job_id>描述:
显示指定分析作业的信息。
提供的信息可以用于自动执行脚本。
必需选项:
-i:指定-i <job_id>,其中<job_id>是分析作业的标识。
提示: 对于所有命令,选项都可以按任意顺序使用。
示例:
要接收有关作业标识 12345 的信息,请指定以下命令:
appscan.sh info -i 12345返回的信息示例如下:
NLowIssues=0
ReadStatus=2
NHighIssues=0
Name=appscan.zip
ScanEndTime=2014-11-20T13:56:04.497Z
Progress=0
RemainingFreeRescanMinutes=0
ParentJobId=00000000-0000-0000-0000-000000000000
EnableMailNotifications=false
JobStatus=6
NInfoIssues=0
JobId=9b344fc7-bc70-e411-b922-005056924f9b
NIssuesFound=0
CreatedAt=2014-11-20T13:54:49.597Z
UserMessage=Scan completed successfully. The report is ready.
NMediumIssues=0
Result=1