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 工作區)- 或者該目錄是否包含建置 Script、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 檔案設定的相同值。