設定 Static Analyzer 指令行公用程式
如果是靜態分析,請下載小型的 指令行公用程式。當您將公用程式解壓縮到本端磁碟時,可以使用其指令行介面 (CLI) 來執行安全分析。
執行這項作業的原因和時機
當您使用靜態分析時,需要掃描原始碼以產生要上傳至雲端的檔案。該檔案是個加密的 IRX (.irx) 檔案,其會利用追蹤分析加以掃描來找出安全漏洞。
- 如果針對編譯語言產生 IRX 檔案,則應用程式位元組碼檔案會轉換為程式碼的中間表示法。
- 如果針對 Scripting 語言產生 IRX 檔,則原始檔會併入加密的 IRX 檔中。
- 使用 Visual Studio 外掛程式時,會自動從 IDE 產生並上傳 IRX 檔。
重要: 指令行公用程式 不應放在包含非 ASCII 字元的目錄中。
程序
若要設定 指令行公用程式,請執行下列動作:
- 啟動建立掃描精靈。
- 按一下「SAST」下的「建立掃描」。
- 按一下「上傳要掃描的封存檔」。
-
在「產生 IRX 檔」下,選取您要執行 指令行公用程式 的平台,然後按一下「下載」。這會下載
SAClientUtil_<version>_<os>.zip
檔案(其中 <version> 是 指令行公用程式 的現行版本,而 <os> 是 指令行公用程式 適用的作業系統)。註: 您可以選取表單中的「如何建立 IRX 檔案?」,並選取 IRX 檔,以重新開啟歡迎使用表單。 - 將檔案解壓縮至本端磁碟機。
-
如果您計畫使用 CLI 產生 IRX 檔案、上傳 IRX 檔案或管理掃描,請執行以下操作:將解壓縮之
SAClientUtil_<version>_<os>.zip
檔案中的 \bin 目錄位置新增至您的PATH
環境變數中。如果您沒有這麼做,則每次發出此指令時,都需要使用所解壓縮之SAClientUtil_<version>_<os>.zip
檔案的 \bin 目錄來限定所有指令。提示: 變更PATH
之後,請在命令提示字元中發出appscan version
(Windows™) 或appscan.sh version
(Linux™ 及 macOS)。如果傳回 Static Analyzer 指令行公用程式 版本、起始目錄和其他資訊,表示已正確設定PATH
。
下一步
如果您要在受 Proxy 保護的電腦上執行 指令行公用程式,請使用下列其中一個方法來指定 Proxy,讓 指令行公用程式 得以連接至雲端:
- 指令行公用程式 CLI 和支援的整合開發環境 (IDE):設定這個全域或系統環境變數,以便自動辨識 Proxy:
- Windows:
APPSCAN_OPTS=-Dhttps.proxyHost=<proxy> -Dhttps.proxyPort=<port>
- Linux 和 macOS:
APPSCAN_OPTS="-Dhttps.proxyHost=<proxy> -Dhttps.proxyPort=<port>"
其中
<proxy>
是 Proxy 伺服器的主機名稱,而<port>
是 Proxy 伺服器使用的埠號。或者,每當您使用 CLI 或 IDE(從命令提示字元或終端機啟動),您可以發出下列指令,將 指令行公用程式 設定為使用 Proxy:
- Windows™:
set "APPSCAN_OPTS=-Dhttps.proxyHost=<proxy> -Dhttps.proxyPort=<port>"
- Linux™ 和 macOS:
export APPSCAN_OPTS="-Dhttps.proxyHost=<proxy> -Dhttps.proxyPort=<port>"
- Windows:
- Maven:如果您已在 Maven 中新增靜態分析外掛程式,您可以將該內容全域新增至
MAVEN_OPTS
環境變數, 或是新增至個別指令中。
註: 如果要善用 AppScan on Cloud 功能,Static Analyzer 指令行公用程式 和所有外掛程式都必須是最新版本:
- 我們會定期提供 Static Analyzer 指令行公用程式 更新項目,並且在最近的更新中列出詳細資料。更新項目可能包括:
- 新語言支援
- 更新的語言支援(例如,與支援語言相關聯的新檔案類型)
- 新增功能
- 修正程式
- 外掛程式在執行時會自動下載最新的 Static Analyzer 指令行公用程式。
- 如果您嘗試使用過時的 Static Analyzer 指令行公用程式 版本來準備要用於掃描的程式碼,則可能會出現訊息,告知您須將公用程式更新為最新版本。請根據您的作業系統(Windows、Linux、Mac),升級至最新的 Static Analyzer 指令行公用程式。
- 如果您使用的是 AppScan Go!,請在收到更新時加以接受並安裝最新更新。