appscan_config 文件模板和设置

准备配置文件时,请使用以下模板:

<Configuration attributes="true/false">
    <Targets>
        <Target outputs-only="true/false" path="scan_target_path">
            <CustomBuildInfo build_info="info"/>
            <Include>string_pattern</Include>
            <Exclude>string_pattern</Exclude>
        </Target>
    </Targets>
</Configuration>
在模板中,您可以进一步定制要处理的扫描:
  • 配置属性
  • 扫描目标
  • 定制构建信息
  • 包含和排除字符串

appscan_config 文件配置属性

使用可选配置属性来指定第三方和/或开放式源代码扫描:
属性 描述 缺省值
thirdParty="<true or false>" 启用第三方工件扫描。 false
openSourceOnly="<true or false>" 禁用安全扫描,并且仅运行开放式源代码分析 false
staticAnalysisOnly="<true or false>" 禁用开放式源代码扫描,并且仅运行静态分析。 false
sourceCodeOnly="<true or false>" 仅扫描源文件,而忽略其他支持的文件类型:.NET(.dll.exe.sln)、C (.sln)。 false

appscan_config 文件 <Target> 元素属性

使用 Targets 元素指示通过 CLI 进行扫描时要扫描的目标。

属性 描述 注释 示例
outputs-only 仅当您要扫描目录并强制命令行实用程序仅查找构建输出文件(例如,.jar.war.class 文件)时使用。 缺省情况下,此属性设置为 false。这意味着命令行实用程序将搜索目录以确定该目录是否为目标(例如,应用程序服务器或 Eclipse 工作空间),或者该目录是否包含诸如构建脚本、Maven .pom 文件和 make 文件之类的项。

如果要将扫描目标视为简单目录,并且只查找输出文件,请在 Target 元素中指定 outputs-only="true"

如果指定 <Target outputs-only="false" path="C:\Tomcat">,则命令行实用程序假定目标是 Tomcat 应用程序服务器,并搜索其部署的 .war 文件。

但是,如果指定 <Target outputs-only="true" path="C:\Tomcat">,则命令行实用程序会将该位置视为目录,并在其中查找所有构建输出文件。

path 指定扫描目标或扫描目标目录的路径。(<scan_target_path>) 指定目录时,在扫描期间将包含其所有子目录。

如果指定 <Target outputs-only="false" path="C:\WebSphere\AppServer85\profiles\AppSrv01">,命令行实用程序会在 AppSrv01 配置文件中查找所有已部署的 .ear 文件。

如果指定 <Target outputs-only="false" path="C:\WebSphere\AppServer85">,命令行实用程序会在所有配置文件中查找所有已部署的 .ear 文件。

appscan_config文件 <Target> 子元素

有三个可选 <Target> 子元素:
  • CustomBuildInfo

    根据目标语言来指定构建信息。对于某些语言,可以设置多个属性。例如,可以根据目标语言来设置 <CustomBuildInfo build_info_1="info_1" build_info_2="info_2" build_info_3="info_3"/>

    有关使用 CustomBuildInfo 的更多信息,请参阅下表。

  • Include
    指定在扫描时要包含的文件模式 (<string_pattern>)。Include 行为取决于目标类型,如目标包含和排除行为部分中所概述。要指定多个 include 模式,请在其自己的 <Include></Include> 标记中添加每个模式。例如,
    <Include>string_pattern_1</Include>
    <Include>string_pattern_2</Include>
    注: 如果指定了冲突的 includeexclude 模式,则 exclude 模式优先。
  • Exclude

    指定在扫描时要排除的文件模式。Exclude 行为取决于目标类型,如目标包含和排除行为部分中所概述。要指定多个 exclude 模式,请在其自己的 <Exclude></Exclude> 标记中添加每个模式。

1. <CustomBuildInfo> 属性
语言 语法 属性 描述 注释/示例
Java <CustomBuildInfo additional_classpath="dependency_path" jdk_path="JDK_path" jsp_compiler="JSP_compiler_path" package_includes="namespaces" package_excludes="namespaces"/> additional_classpath 指定更多类路径 Windows 上,使用分号分隔多个类路径。在 Linux 上,使用冒号分隔多个类路径。
jdk_path JDK 安装路径
jdk_compiler JSP 编译器路径
jsp_compiler="C:\Tomcat"
jsp_compiler="C:\Program Files (x86)\IBM\WebSphere\AppServer"
jsp_compiler="C:\Oracle"
package_includes 覆盖现有的第三方排除项,并仅扫描来自给定名称空间的那些类。 使用分号分隔名称空间列表。例如:
package_includes="com.hcl.example;com.hcl.sample"
package_excludes 将指定的名称空间追加到现有第三方排除项列表。 使用分号分隔名称空间列表。
irx_minor_cache_home 设置 Java 并行处理高速缓存位置。 该值应该指向用于高速缓存的位置。例如:
<CustomBuildInfo irx_minor_cache_home="X:/mycache"/>
JSP(在提供的 Tomcat 下) <CustomBuildInfo jsp_compiler_args="-ARGUMENTS"/> jsp_compiler_args 指定 JSP 编译器命令行参数以设置或覆盖 JSP 编译器
.NET(仅限 Windows) <CustomBuildInfo references="assembly_references" configuration="build_configuration"/> references 添加组合件引用 用分号分隔多个引用。
configuration 包含 Visual Studio 解决方案发现的构建配置
package_includes 覆盖现有的第三方排除项,并仅扫描来自给定名称空间的那些类 使用分号分隔名称空间列表。例如:
package_includes="com.hcl.example;com.hcl.sample"
package_excludes 将指定的名称空间追加到现有第三方排除项列表。 使用分号分隔名称空间列表。
C/C++(仅限 Windows) <CustomBuildInfo configuration="build_configuration" include_paths="include_directories" macros="macros" compiler_opts=/> configuration 包含构建配置
include_paths 指定包含路径 用分号分隔多个包含路径。
macros 包含宏 用分号分隔多个宏。
compiler_ops 指定编译器选项 用分号分隔多个选项。
注: 通过这些属性设置的值将由子目标继承。例如,如果目标是 EAR 文件,其中包含 WARJAR 子目标,则会假定 WARJAR 具有为使用这些属性的 EAR 文件设置的相同值。