使用 Static Analyzer 指令行公用程式

Static Analyzer 指令行公用程式 (SAClientUtil) 用於產生可在 AppScan on CloudAppScan 360° 中掃描的 IRX。支援 appscan prepare 指令與 AppScan 360° 靜態分析 搭配使用。

什麼是 IRX 檔案?

IRX 是一個安全且加密的 zip 封存檔,其中包含執行程式完整靜態分析的必要資訊。在建立後待用及傳輸至雲端期間(透過 SSL)會進行加密。

IRX 封存檔在內部包含這些檔案和構件:

  • 針對可部署的程式構件的專有及模糊呈現,這是從您已部署的原始碼(例如,Java 位元組碼或 .Net MSIL)所建置。如果要瞭解靜態分析掃描支援哪些語言,請參閱 靜態分析的系統需求
  • 所有與程式一同部署的執行時期 Script 檔都可加以分析以找出安全漏洞(例如 .js (Javascript) 或 .rb (Ruby) 檔案)。
  • Static Analyzer 配置檔說明應用程式或專案階層,以及程式的關係或相依關係。這可在應用程式內跨越專案界限進行精確且完整的安全分析。
  • 在建立封存期間所產生的 Static Analyzer 日誌檔(用於診斷和支援)。

正在產生 IRX 檔案

使用 appscan prepareappscan.sh prepare 產生 IRX。

語法:

appscan.sh prepare -c <configuration_file> -d <save_path> -jdk <jdk_path> -l <log_path> -n <file_name> -v, -X,--debug

說明:

產生 IRX 檔。

註: 掃描程式碼或產生 IRX 檔案時,您可能會接收到關於更新至最新 Static Analyzer 指令行公用程式 的訊息。此訊息會提供更新或拒絕更新的指引。

可選旗標/設定:

  • -acceptssl:接受使用不受信任的憑證。
    註: 此設定可與所有 SAClientUtil 指令搭配使用。
    重要: 我們強烈建議安裝憑證以進行用戶端之間的通訊,並讓 AppScan 360° 成為受信任的憑證。請參閱設定 AppScan 360° 環境
  • -c:此選項用於配置掃描。

  • -d:指定 -d <save_path>,其中<save_path> 是您想要儲存 IRX 檔案的目錄。

  • -dr, --dryrun:指定-dr or --dryrun 以探索和驗證掃描目標,但是不產生 .irx 檔案。

  • -jdk:指定 -jdk <jdk_path> 以指出要用來代替預設 JDK 11 的 JDK 安裝的路徑。如果使用配置檔 (-c <configuration_file>),且使用 jdk_path 屬性,則會優先使用配置檔中指定的值。

  • -l:指定 -l <log_path>,其中 <log_path> 是您想要儲存日誌檔案的目錄。

  • -n:指定 -n <file_name>,其中 <file_name> 是 IRX 檔名。指定檔名時不一定要有 .irx 副檔名。如果您指定的檔案名稱沒有副檔名,系統會在產生檔案時自動為您新增副檔名。

  • -s:指定 -s <value> 以指示掃描速度和深度,其中 <value>simplebalanceddeepthorough
    • simple 掃描會執行檔案的表面層次分析,為您識別最需要補救的緊迫問題。此類掃描完成所需的時間最短。
    • balanced 掃描提供中等層次的安全問題分析和識別,完成所需的時間比「簡易」掃描稍微久一點。

    • deep 掃描會對您的檔案執行更完整的分析,以識別漏洞,通常需要較久的時間才能完成。

    • thorough 掃描會執行全面性的分析,識別最全面的漏洞清單,因此完成所需的時間最久。

      註: 掃描速度與在程式碼中找到的漏洞數目不一定相關。例如,thorough 分析可能會排除 simple 掃描報告中的誤判,因此報告的漏洞較少。
      註: 此選用參數區分大小寫。未指定掃描速度時,「用戶端公用程式」會執行 deep 掃描作為預設值。
  • -sco, --sourceCodeOnly:指定 -sco--sourceCodeOnly 以只掃描原始碼檔案。此設定會停用掃描其他支援的檔案類型,例如 .dll.exe.jar.war.sln,還有其他檔案類型。

    原始碼掃描只有在您只有原始碼的存取權、想要執行更快速的掃描,或您相較於掃描深度更重視速度時有用。如果您只有建置輸出的存取權,或您相較於掃描速度偏好深度,請選擇替代掃描選項。

    註: 如需包含僅限原始碼檔案類型的清單,請參閱靜態分析語言支援
  • -t, --thirdParty:依預設,在 IRX 檔案產生的期間,不會掃描第三方 Java 和 .NET 程式碼。您可以遵循管理第三方 Java 和 .NET 排除中的指示來修改第三方程式碼排除設定。若要包括第三方程式碼,請在發出 prepare 指令時,指定 -t--thirdParty 選項。

    如果您是通常會在掃描中排除第三方程式碼的開發人員,則應使用此設定來包含第三方程式碼。

  • -v,--verbose:指定 -v--verbose,以在 IRX 檔案產生期間顯示更多參考資訊輸出。

  • -X,--debug:指定 -X--debug,以除錯模式執行整個指令。在除錯模式下執行時,會產生較多日誌檔以便進行疑難排解。

提示: 針對所有指令,可以依任意順序使用選項。

範例:

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

appscan.sh prepare -c c:\my_config_files\my_config.xml -d c:\my_irx_files -n my_scan.irx