配置指令 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,以除錯模式執行整個指令。在除錯模式下執行時,會產生較多日誌檔以便進行疑難排解。
提示: 針對所有指令,可以依任意順序使用選項。

範例:

若要產生使用此配置檔的 IRX 檔案,/root/Desktop/my_config_files/my_config.xml - 並將 IRX 檔案儲存至 /root/Desktop/my_irx_files -n my_scan.irx,請發出下列指令:

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 9.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 目錄中時,您可以發出下列指令來產生 IRX 檔案(其中包含此評量檔案 /root/Desktop/my_assessment_files/my_assessment.ozasmt):

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 目錄。