banner
毅种循环

毅种循环

请将那贻笑罪过以逐字吟咏 如对冰川投以游丝般倾诉

Fortify SCA (Windows + VS Code 插件) 掃描 Python 代碼

最近接到一個活,要對 python 代碼進行代碼掃描,之前只用過 fortify 掃描 Java 類的代碼,搜索了一下支持 python 類代碼掃描,和常規的方式不一樣 記錄一下過程。

一、前期準備#

  1. Fortify Static Code Analyzer (SCA):Windows 232.2 版本。
  2. 安裝 VS Code
  3. 安裝 Fortify VSC 插件
    • 打開 VS Code。
    • 進入 Extensions 視圖 (快捷鍵 Ctrl+Shift+X)。
    • 搜索 "Fortify",找到並安裝 "Fortify VSC" 插件。

image

二、Fortify VSC 插件配置#

在 VS Code 中,打開 Fortify 插件界面(通常在左側活動欄找到 Fortify 圖標)。打開顯示如下。

第一個不用管,直接切換到 Static Code Analyzer executable path 視圖。

image

2.1 配置 SCA 可執行文件路徑#

image

  • 字段:Static Code Analyzer executable path
  • 說明: 指定 sourceanalyzer.exe 的路徑。
  • 設置:
    • 推薦: 如果已將 Fortify SCA 的 bin 目錄添加到系統環境變量 Path 中,則此處直接輸入 sourceanalyzer 即可。

image

- **備用:** 如果上述方法不行,點擊右側的 `Browse...` 按鈕,導航到Fortify SCA 安裝目錄,找到 `bin` 文件夾,然後選擇 `sourceanalyzer.exe`。
    * **示例路徑:** `C:\Program Files\Fortify\Fortify_SCA_and_Apps_<版本號>\bin\sourceanalyzer.exe`

配置基本上就配置好了,剩下的用 vscode 打開需要掃描的目錄,再點擊一下 Fortify 插件的按鈕即可自動填充。

2.2 配置構建 ID#

  • 字段:Build ID
  • 說明: 為本次掃描任務設置一個唯一的標識符。

2.3 配置掃描結果輸出路徑 (FPR)#

  • 字段:Scan results location (FPR)
  • 說明: 指定掃描結果文件(.fpr 文件)的保存路徑和文件名。Fortify Audit Workbench 將使用此文件。默認在代碼庫的根目錄文件夾下保存此文件。

2.4 配置日誌路徑#

  • 字段:Log location
  • 說明: SCA 掃描的日誌文件路徑。
  • 設置: 通常保持默認即可。可以點擊右側的 Open 按鈕查看日誌。

2.5 配置選項 (Python 特有)#

  • 字段:Add translation options
  • 說明: 針對 Python 代碼,需要在此處指定 Python 版本和依賴庫路徑。
  • 設置:
    1. 勾選 Add translation options 復選框。
    2. 在勾選後出現的文本框中,輸入以下參數。請根據 Python 環境調整路徑。
      • 首先,通過在命令行運行 python3 -c "import sys; print(sys.path)" 獲取的 Python 模塊搜索路徑。我這裡如下:
['', 'D:\\Scoop\\apps\\python311\\current\\python311.zip', 'D:\\Scoop\\apps\\python311\\current\\DLLs', 'D:\\Scoop\\apps\\python311\\current\\Lib', 'D:\\Scoop\\apps\\python311\\current', 'D:\\Scoop\\apps\\python311\\current\\Lib\\site-packages', 'D:\\Scoop\\apps\\python311\\current\\Lib\\site-packages\\win32', 'D:\\Scoop\\apps\\python311\\current\\Lib\\site-packages\\win32\\lib', 'D:\\Scoop\\apps\\python311\\current\\Lib\\site-packages\\Pythonwin']
    * 因此,應該在 Fortify 插件中輸入:
-python-version 3 -python-path "D:\Scoop\apps\python311\current\DLLs;D:\Scoop\apps\python311\current\Lib;D:\Scoop\apps\python311\current\Lib\site-packages"
        + `-python-version 3`:指定Python 版本為 3。
        + `-python-path "..."`:列出 Python 查找標準庫和第三方庫的路徑,用分號 `;` 分隔。這些路徑來自您 `sys.path` 的輸出。

2.6 其他選項 (可選)#

  • Add scan options:用於添加 SCA 掃描階段的額外參數,一般保持默認即可。
  • Update security content:使用最新的漏洞檢測規則。

三、執行掃描#

  1. 完成上述所有配置後,點擊 Fortify VSC 插件界面底部的 Scan** 按鈕 **。
  2. 掃描過程將在後台運行。可以在 VS Code 的 OUTPUT 面板或終端中查看掃描進度和詳細日誌。

五、查看掃描結果#

  1. 掃描完成後,會在 Scan results location (FPR) 中指定的路徑生成一個 .fpr 文件(例如:python_results.fpr)。
  2. 打開 Fortify Audit Workbench 客戶端應用程序。
  3. 點擊 "File" -> "Open Project",然後選擇生成的 .fpr 文件。
  4. 在 Audit Workbench 中,可以詳細查看掃描到的安全漏洞、漏洞類型、嚴重程度、受影響的代碼行、數據流分析以及修復建議。

image

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。