SEC-001 P0: SSL Pinning 公鑰雜湊為硬編碼測試值
Resolved 💬 2 comments Opened Mar 22, 2026 by stephen-taipei Closed Mar 25, 2026
問題描述
SSL Pinning 的公鑰雜湊為硬編碼的測試值,會導致與實際 api.ctrs.app 的連線失敗。
檔案位置
ios-swift/Connectors/Services/SSLPinningDelegate.swift:272-279
詳細說明
productionPublicKeyHashes 設定的兩個值是測試用佔位符:
- PjYrcNskU4zZMH34EpkY3KcrRx/rqaEgJG2YyZ74cZk= (測試值)
- C5+lpZ7tcVwmwQIMcRtPbsQtWLABXhQzejna0wHFr8M= (Let's Encrypt 測試)
風險評估
生產應用會因公鑰不匹配而無法連線到 API,導致應用完全不可用。
解決方案
- 使用實際生產憑證的公鑰雜湊替換測試值
- 建立定期憑證輪換機制
- 新增憑證更新警示和監控
- 驗證 staging 和 production 環境的雜湊正確性
優先等級
P0 - 高危,影響 API 連線安全性,上線前必須修復
This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗