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>

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗