核心發現
- Coverity 對 MySQL 開源碼靜態分析,**僅發現 97 個缺陷**,其中至少 1 個嚴重安全漏洞。
- 缺陷密度:**平均每 4,000 行程式碼 1 個缺陷** (0.25/KLOC)。
- 業界平均:商業軟體 **每 1,000 行 1-7 個缺陷** (1-7/KLOC),MySQL 表現優於平均 **4-28 倍**。
- Linux Kernel 同工具掃描:570 萬行代碼,985 缺陷,密度 **<0.18/KLOC**。
專家解讀
Coverity CEO Seth Hallem:「就行業平均水平而言,MySQL 是優秀的。」
MySQL AB (現 Oracle) 已修補所有發現漏洞。開源模式下「眾人目光」配合自動化靜態分析,形成有效品質防線。
工具局限性提醒
- 靜態分析僅能發現特定模式缺陷 (緩衝區溢位、空指標、資源洩漏等)。
- 邏輯漏洞、業務流程缺陷、架構級安全問題仍需人工代碼審查、滲透測試、模糊測試發現。
- 分析工具也是比較不同代碼庫品質的量化依據,非萬能銀彈。
啟示
- 開源核心組件經過大規模實戰驗證 + 自動化掃描,安全基線往往高於閉源同類產品。
- 企業選型時,可要求廠商提供靜態分析報告 (Coverity、SonarQube、Fortify 等) 作為評估參考。
- 持續整合管線應整合 SAST (靜態應用安全測試),每次提交自動掃描,漂移即阻擋。