你在用的 SDK 值得信任嗎?

#4 畢竟它們跟你的 app 有一樣的權限

關於第三方套件,我們通常是拿來就用,即使是開源的 SDK,也不會認真檢查裡面的寫法。這種態度有點危險。

為何我們要默認別人寫的東西都是良好、善意、沒有問題的呢?畢竟這些套件是跑在你的 app 裡,擁有一樣的權限。例如讀取 sandbox 裡的資料、Keychain,以及任何使用者允許而取得的資料。萬一出了狀況,自己得負上很大責任。

就算所使用的第三方套件的原始程式碼沒問題,你又怎麼知道在下載及安裝的過程中沒有被修改呢?

對於有心人士來說,攻擊單一的使用者很難,相對地,集中火力攻破開發者效益就高。

Felix Krause這篇文章 就詳細闡述你在安裝 SDK 時可能遭受的攻擊、程式碼的修改等等。

講個很壞的情境:如果你去參加一場 conference,用了那邊的 Wi-Fi,下載的程式時走 HTTP 連線沒加密,結果被惡意的 router 替換掉。你剛好安裝到自己的 app 裡,然後上架,給成千上萬的使用者使用。

那麼該怎麼辦呢?除了自己提高警覺以外,這裡列出了常見的第三方 SDK,供你參考。