SEC-009 P1: App Transport Security (ATS) 設定未明確化
Resolved 💬 2 comments Opened Mar 22, 2026 by stephen-taipei Closed Mar 25, 2026
問題描述
Info.plist 未包含明確的 NSAppTransportSecurity 節點。雖然默認強制 HTTPS,但未明確設定可能導致配置漂移。
檔案位置
ios-swift/Connectors/Info.plist
詳細說明
未明確設定 ATS 配置,會依賴 iOS 默認值(強制 HTTPS)。建議最佳實踐是明確宣告安全策略。
風險評估
- 配置漂移(未來 iOS 更新可能改變默認值)
- 無法清晰記錄安全策略
- 無法針對特定異常域名設定白名單
解決方案
在 Info.plist 中明確加入:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSAllowsArbitraryLoadsForMedia</key>
<false/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<false/>
<!-- 針對必要的異常域名明確列白名單 -->
<key>NSExceptionDomains</key>
<dict>
<!-- 僅若必要 -->
</dict>
</dict>This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗