JSSECが公開している『Androidアプリのセキュア設計・セキュアコーディングガイド』の2016-09-01版を共有用にまとめているもののうち、「4.7. Browsable Intentを利用する」のものとなります。
詳細やサンプルコードについては原著の方を参考ください。
チェックポイント
- Webページ側は対応するURIスキーマのリンクにセンシティブな情報を含めてはいけない
- URLのパラメータを利用する前に値の安全性を確認する
Tips
Browsable Intentの動作保証について
Browsable IntentはURIスキーマを押せば、アプリが起動する仕組みですが、アプリ側とWebページ側での、意図した動作が保証出来るものではありません
Web側でリンクを押した場合、URLが入った暗黙的Intentと同じ動作をします。そのため、ユーザーがこちらの意図したアプリを起動する保証が出来ません
また、URIスキーマは誰でも作成可能なため、正規のWebページからアプリにURIが送られてくるとは限りません
参考
『Android アプリのセキュア設計・セキュアコーディングガイド』【2016年9月1日版】
https://www.jssec.org/dl/android_securecoding.pdf