配置命令 Linux 和 macOS

使用配置命令可以准备文件以进行扫描。

appscan.sh prepare

语法:

appscan.sh prepare -c <configuration_file> -d <save_path> -es, --enableSecrets -jdk <jdk_path> -l <log_path> -n <file_name> -oso,--openSourceOnly -s <value> -sco,--sourceCodeOnly -so, --secretsOnly -t,--thirdParty -v,--verbose -X,--debug

描述:

生成 IRX 文件。

注: 扫描代码或生成 IRX 文件时,可能会收到有关更新到最新 IRX 的消息。请参阅命令行实用程序 (CLI) 支持

可选标志/设置:

  • -c:此选项用于配置扫描。
  • -d:指定 -d <save_path>,其中 <save_path> 是用于保存 IRX 文件的目录。
  • -dr, --dryrun:指定 -dr or --dryrun 以发现并验证扫描目标,但不生成 .irx 文件。
  • -es, --enableSecrets:指定 -es--enableSecrets 以启用扫描密钥。缺省情况下禁用密钥扫描。
  • -jdk:指定 -jdk <jdk_path> 以指示用于代替缺省 JDK 17 的 JDK 安装路径。如果使用配置文件 (-c <configuration_file>) 并使用 jdk_path 属性,则配置文件中指定的值优先。
  • -l:指定 -l <log_path>,其中 <log_path> 是用于保存日志文件的目录。
  • -n:指定 -n <file_name>,其中 <file_name>IRX 文件名。您可以指定带有或不带有 .irx 文件扩展名的文件名。如果指定不带有扩展名的文件名,生成文件时将自动添加扩展名。
  • -oso, -openSourceOnly:指定 -oso-openSourceOnly查找 SCA 包中的已知漏洞。指定 -oso-openSourceOnly 时,AppScan on Cloud 不会对此包执行静态分析。
    注: 当用户拥有开源许可证时,缺省情况下,SCA 分析是静态扫描的一部分。此选项将分析限制为 SCA 漏洞。用户必须具有开源许可证才能利用仅 SCA 分析。
  • -s:指定 -s <value> 以指示扫描速度和深度,其中 <value>simplebalanceddeepthorough。通过命令行指定的扫描速度对应于可以在 AppScan Go! 中选择的扫描速度
    • simple 扫描会对您的文件执行表面级别的分析,以找出最紧急的问题进行补救。完成所需的时间最少。
    • balanced 扫描提供有关安全问题的分析和识别的中等详细程度,并且完成所需时间比“简单”扫描略长。
    • deep 扫描会对您的文件执行更全面的分析以识别漏洞,通常需要更长的时间才能完成。
    • thorough 扫描执行全面分析以识别最全面的漏洞列表,并且完成所需时间最长。
      注: 扫描速度不一定与代码中发现的相对数量的漏洞相关。例如,thorough 分析可能会排除 simple 扫描中可能会报告的误报,从而报告更少数量的漏洞。
    注: 此可选参数区分大小写。如果未指定扫描速度,则缺省情况下,客户机实用程序将执行 deep 扫描。
  • -sao:指定 -sao 以仅执行静态分析。指定 -sao 时,AppScan on Cloud 不会对此包执行开源分析。
  • -sco, --sourceCodeOnly:指定 -sco--sourceCodeOnly 扫描源代码文件。此设置禁用扫描其他受支持的文件类型,如 .dll.exe.jar.war 等。

    当您只能访问源代码、希望运行更快的扫描,或更注重扫描速度而不是扫描深度时,仅源代码扫描将非常有用。如果您只能访问构建输出,或更注重扫描深度而不是扫描速度时,请选择备用扫描选项。

    注: 有关包含的仅限源代码的文件类型的列表,请参阅静态分析语言支持
  • -so, --secretsOnly:指定 -so--secretsOnly 仅扫描源代码中的密钥。缺省情况下禁用密钥扫描。
  • -t, --thirdParty缺省情况下,在 IRX 文件生成期间不会扫描第三方 Java 和 .NET 代码。可通过遵循 管理第三方 Java 和 .NET 排除 中的指示信息来修改第三方代码排除设置。要包含第三方代码,请在发出 prepare 命令时指定 -t--thirdParty 选项。

    如果您是扫描中通常排除的第三方代码的开发人员,应使用该设置来包含第三方代码。

  • -v,--verbose:指定 -v--verbose 可在生成 IRX 文件期间显示更多参考输出。
  • -X,--debug:指定 -X--debug 可在调试方式下运行整个命令。以调试方式运行时,将生成更多日志文件用于故障诊断。
提示: 对于所有命令,选项都可以按任意顺序使用。

示例:

要生成将使用此配置文件 /root/Desktop/my_config_files/my_config.xml 并将 IRX 文件保存到 /root/Desktop/my_irx_files -n my_scan.irxIRX 文件,请发出以下命令:

appscan.sh prepare -c /root/Desktop/my_config_files/my_config.xml -d /root/Desktop/my_irx_files -n my_scan.irx

appscan.sh prepare_sca

语法:

appscan prepare_sca -d <save_path> -l <log_path> -n <file_name> -X, -debug -container <container> -image <image>

描述:

针对 Docker 映像生成 IRX 文件,以运行软件组成分析 (SCA)。在不带任何参数运行时,此命令等同于运行 appscan.sh prepare -oso
重要: 必须在系统上安装并配置 Docker CLI 工具以扫描 Docker 容器和映像。

可选标志/设置:

  • -d:指定 -d <save_path>,其中 <save_path> 是用于保存 IRX 文件的目录。
  • -l:指定 -l <log_path>,其中 <log_path> 是用于保存日志文件的目录。
  • -n:指定 -n <file_name>,其中 <file_name>IRX 文件名。您可以指定带有或不带有 .irx 文件扩展名的文件名。如果指定不带有扩展名的文件名,生成文件时将自动添加扩展名。
  • -X,--debug:指定 -X--debug 可在调试方式下运行整个命令。以调试方式运行时,将生成更多日志文件用于故障诊断。
  • -container:指定 -container <container>,其中 <container> 是要分析的 Docker 容器。值可以是容器名称、容器摘要或本地归档的路径。
  • -image:指定 -image <image>,其中 <image> 是要分析的 Docker 映像。值可以是映像名称、映像摘要或本地归档的路径。
提示: 对于所有命令,选项都可以按任意顺序使用。

appscan.sh package

语法:

appscan.sh package -d <save_path> -f <assessment_file> -n <file_name>

描述:

生成一个 IRX 文件,其中包含在 IRX IRX V9.0 或更高产品版本中创建的评估 (.ozasmt) 文件。

注: 扫描代码或生成 IRX 文件时,可能会收到有关更新到最新 IRX 的消息。请参阅命令行实用程序 (CLI) 支持

可选标志/设置:

  • -d:指定 -d <save_path>,其中 <save_path> 是用于保存 IRX 文件的目录。
  • -f:指定 -f <assessment_file>,其中 <assessment_file> 是您希望打包以进行扫描的 .ozasmt 文件。如果 <assessment_file> 文件不在当前目录中,请使用此选项指定评估文件路径和文件名。
    注: 仅当以下一个或两个语句都满足时,才需要该选项:
    • 您是从包含多个评估文件的目录发出的命令。如果该目录仅包含一个评估文件,则未使用 -f 选项时将对该文件打包。
    • 您是从不包含评估文件的目录发出的命令。在此情况下,必须使用 -f 选项来指定要打包的评估文件的路径和文件名。
  • -n:指定 -n <file_name>,其中 <file_name>IRX 文件名。您可以指定带有或不带有 .irx 文件扩展名的文件名。如果指定不带有扩展名的文件名,生成文件时将自动添加扩展名。
提示: 对于所有命令,选项都可以按任意顺序使用。

示例:

/root/Desktop/my_irx_files 目录中,可以通过发出以下命令生成一个包含评估文件 /root/Desktop/my_assessment_files/my_assessment.ozasmtIRX 文件:

appscan.sh package -f /root/Desktop/my_assessment_files/my_assessment.ozasmt

结果 IRX 文件将保存到 /root/Desktop/my_irx_files 中。

appscan.sh get_pubkey

语法:

appscan.sh get_pubkey -d <save_path>

描述:

下载公用加密密钥以在未连接到因特网的计算机上使用。

如果从连接到因特网的计算机生成 IRX 文件,则不需要执行此命令,因为发出 prepare 命令时将自动下载加密密钥。如果加密密钥已存在于计算机上,发出 prepare 命令时将根据需要更新该加密密钥。

但是,如果从未连接到因特网的计算机生成 IRX 文件,则可使用此命令下载加密密钥。然后,可将加密密钥复制到未连接到因特网的计算机,以在生成 IRX 文件时使用。要在此计算机上使用加密密钥,必须保存 rsa.pub 文件名,并将此文件放到抽取的 SAClientUtil_<version>_<os>.zip 文件所在的 config 目录中(其中 <version>SAClientUtil_<version>_<os>.zip 的当前版本)。

注: 使用的加密密钥必须是最新的。如果使用过时加密密钥生成 IRX 文件,则在上载 IRX 文件时会拒绝此文件。如果计算机已连接到因特网,请再次发出 prepare 命令以自动更新加密密钥。如果计算机未连接到因特网,将需要使用 get_pubkey 命令。

可选标志/设置:

  • -d:指定 -d <save_path>,其中 <save_path> 是您要用于保存加密密钥的目录。如果未指定此选项,则密钥将保存到抽取的 SAClientUtil_<version>_<os>.zip 文件所在的 config 目录。