JJNET 部落格

Fortify 與 Jenkins CI / CD 整合:打造自動化的安全程式碼檢測流程

作者:JJNET | Dec 10, 2025 2:00:00 AM

 

本文將介紹如何使用 Fortify SCA 搭配 Jenkins,建立一套自動化的安全掃描流程,讓程式碼在送出前就能完成弱點檢測,減少人工操作並提升整體專案的安全品質。 

一、安全需要融入開發流程

現代 Web App 系統的攻擊面持續擴大,傳統「上線後再掃描」的方式已無法滿足資安需求。特別是在企業導入敏捷開發與 CI / CD 後,程式碼版本更新頻繁,唯有讓安全檢測融入 Pipeline 中,才能確保每一次交付都符合安全標準。

Fortify SCA 作為靜態程式碼分析工具,擅長在開發早期找出弱點,而 Jenkins 又是 CI / CD 最常用的自動化工具。兩者結合後,即可打造一條「程式碼提交自動掃描產生報告上傳 SSC」的完整流程。

 

二、Fortify SCA 的能力簡介 

Fortify SCA 支援 30 種以上程式語言,包含前端、後端與資料庫相關語言。其優勢包含:

  • 跨語言資料流分析(X-Tier™ Analysis):能追蹤從前端到後端的資料流,精準定位問題源頭。

  • 弱點分類明確,對應 OWASP 與 CVE:方便與企業既有安全規範接軌。

  • 詳細的 Issue trace:協助開發者直接理解弱點的流向與修補方式。

三、實際情境:企業如何使用?

在許多企業中,開發廠商必須在系統上線前提供弱點掃描報告,大多會依照:

  • OWASP Top 10
  • CVE 公告
  • 企業內部安全政策

來進行驗證。這些流程若完全靠人工執行,不但耗時,也容易漏掉步驟。

因此許多企業會要求: 

  • 固定排程掃描
  • 每次版本都要出報告
  • 結果要自動上傳到 SSC 進行集中管理

藉由 Jenkins 整合 Fortify,可將整套流程自動化執行。

四、系統架構與流程設計

以下為常見的 Fortify × Jenkins 架構示意:

  1. Source Code Server(10.100.230.2):開發者將當前版本程式碼放置於指定路徑。
  2. Jenkins(10.100.230.15:8080):使用者可從 Jenkins UI 直接觸發掃描流程。
  3. Fortify Scan Core Server:負責執行 Translation 與 Analysis。
  4. SSC Server(10.100.230.1):上傳 FPR 結果,供專案管理與弱點追蹤。
  5. Report Server(10.100.230.3):儲存 PDF 報告,提供審查或送件使用。
五、Jenkins Pipeline 自動化流程

整體流程如下:

  1. 取得 Source Code
  2. 執行 Fortify Translation
  3. 執行 Fortify Analysis
  4. 產生 FPR 結果
  5. 自動上傳 SSCfortifyclient uploadFPR
  6. 輸出 PDF 報告至 Report Server
  7. Jenkins 顯示成功或失敗

CI / CD 中,這些步驟可自動在每次 CommitMerge 或排程觸發,使弱點檢測無需人工參與。

六、示範畫面與結果
  • Jenkins 執行過程截圖

  • SSC 專案管理畫面

七、延伸應用:整合 Azure DevOps

Fortify 也能與 Azure DevOps Pipeline 搭配,例如:

  • YAML 自動掃描
  • Pull Request 的 Security Gate
  • 自動上傳 SSC

這讓團隊無論使用 Jenkins Azure DevOps,都能建立一致的安全流程。

 
八、結語

透過 Fortify Jenkins 的整合,我們能將安全檢測真正融入 DevOps,讓「每一次程式碼提交」都具備相同的安全保障。這不僅降低人工檢查的時間成本,也讓弱點能在開發早期就被發現,提高專案整體的品質與安全性。