💡 今日學習目標:打破商業檢測工具高昂門檻的迷思,認識免費的 SonarQube 家族,並且誠實搞清楚免費版的能力邊界到底畫在哪裡。
在資安業界,提起「原始碼靜態檢測(SAST)」,大家耳熟能詳的往往是知名大廠的商業解決方案:
這些商業工具功能強大、報告精美、支援各種罕見語法,但是價格極為昂貴。對於大型企業來說,一年花費數十萬甚至數百萬元買使用授權是常態;但對於中小型企業、新創團隊、個人開發者或學生來說,這無疑是一道高不可攀的壁壘。
難道沒預算就不能做資安檢測了嗎?
「錢能解決的問題都不是問題,問題就是沒錢!」
好消息是:開源與免費的世界,早已為我們準備好了一整套工具組合。
不過在正式介紹之前,得先解決一個會讓你搜尋時一頭霧水的問題:它們改名了。
如果你 Google「SonarLint」,或是在 VS Code 市集裡搜尋這個名字,你會發現找到的東西掛著別的名稱。這不是你記錯了。Sonar 官方在 2024 年 10 月把整個產品線改名,全部收攏到 SonarQube 這個品牌底下:
| 舊名稱(你在網路文章上會看到的) | 現在的正式名稱 |
|---|---|
| SonarLint | SonarQube for IDE |
| SonarQube(自架版) | SonarQube Server |
| SonarQube Community Edition | SonarQube Community Build |
| SonarCloud | SonarQube Cloud |
網路上絕大多數教學仍在使用舊名稱,所以本系列會在第一次出現時同時標註新舊兩個名字,方便你交叉查資料。
Sonar 家族是目前全球最受歡迎的程式碼品質與資安檢測工具之一,它的靈魂哲學是:Clean Code & Secure Code at Every Step。
我們會用到的是其中兩個,分工如下:
| SonarQube for IDE(原 SonarLint) | SonarQube Community Build(原 Community Edition) | |
|---|---|---|
| 裝在哪 | 你的編輯器VS Code、JetBrains、Visual Studio、Eclipse | 自己的機器或伺服器Docker 一行指令啟動 |
| 什麼時候跑 | 邊打字邊掃,毫秒回饋 | 提交前或 CI 觸發,整包專案掃描 |
| 給誰用 | 開發者個人 | 整個團隊共用的儀表板 |
| 提供什麼 | 即時紅線警告與修復建議 | 評分報告、品質閘門(Quality Gates)、CI/CD 整合 |
| 費用 | 完全免費 | 社群版免費(LGPLv3 開源授權) |
這裡要停下來講一件多數工具介紹文不會告訴你的事。
昨天 Day 06,我們花了整整一篇在講 SAST 的核心機制污點分析(Taint Analysis):追蹤一筆外部資料從污點源流到危險匯點的全程。
然後今天筆者得誠實告訴你:SonarQube 的社群版,剛好就沒有這個功能。

跨檔案的資料流追蹤(也就是抓 SQL Injection、XSS、Command Injection 這類注入漏洞的關鍵能力),要從 Developer Edition 起才有,而那是付費的。
那社群版還值得用嗎?非常值得。 因為它免費就抓得到的那些東西,恰恰是新手最常犯、也最容易致命的:
Math.random() 去產生密碼重設 Token而如果你真的需要注入類漏洞的偵測,也有免費的補位方案:Semgrep Community Edition(免費開源,內建 taint mode,但限單檔範圍)與 CodeQL(跨檔案污點分析完整,公開儲存庫免費)。
🛡️ 為什麼要特別講這一段?
因為資安最危險的狀態,從來不是「知道自己有漏洞」,而是 「以為自己沒有漏洞」 。
如果你以為社群版掃過就等於免疫注入攻擊,那這個工具不但沒幫到你,還親手給了你一份錯誤的安心。
| 評比項目 | 商業 SAST(Checkmarx / Fortify) | 零預算方案(SonarQube 家族 + Semgrep CE) |
|---|---|---|
| 建置成本 | 昂貴(數十萬 ~ 數百萬 NTD/年) | 零元($0),自備本機或伺服器 |
| 導入難易度 | 需要專人維運、顧問設定 | 極低,Docker 一行指令、IDE 外掛點一下 |
| 即時性 | 多為整包掃描,需數十分鐘 | 極高,IDE 端邊寫邊掃、毫秒回饋 |
| 樣式類規則硬編碼機密、弱加密 | 完整 | 完整,這部分免費版沒有短少 |
| 跨檔案污點分析SQLi / XSS / 注入類 | 完整且深入 | ⚠️ 需付費版;免費可用 Semgrep CE(單檔)或 CodeQL(公開儲存庫)補位 |
| 合規報表 | 深度合規與稽核報表 | 陽春,需自行整理 |
看得出來,零預算方案不是「打七折的商業工具」,而是在不同的地方各有強弱。它在「即時性」和「導入門檻」上甚至勝過商業工具,但在跨檔案的深度分析上確實有缺口。
這就是我們接下來要建立的零成本防守策略:
前三步是本系列會手把手帶你做完的主線。第四步不是必要,但當你的系統開始接觸真實的使用者輸入時,它就會從「加分項」變成「該做的事」。
一毛錢都不用花,你就能擁有一條涵蓋 IDE、提交、CI/CD 三個關卡的防線,而這在十年前是只有大企業才買得起的東西。
💬 明日預告:【Day 08】【動手做】在 IDE 裝上第一道防護網:SonarQube for IDE 安裝與即時掃描示範
明天我們將進入第一個【動手做】單元,手把手帶你在編輯器裡裝上第一道防線!