PendingIntent の mutability について

Android 12 (targetSdk 31) 以降をターゲットとするアプリでは、セキュリティ向上のために PendingIntent の mutability の指定が必要です。 具体的には PendingIntent を作成する際の flagsFLAG_IMMUTABLE または FLAG_MUTABLE のいずれかを指定する必要があります。

PendingIntent の mutability の指定の課題

以下の課題があります。

ここまで読んで、既に対応したので自分には関係ないと思った方にこそ、この件の一番の課題をお伝えしたいです。この件の一番の課題は、既存コードを対応して終わりではなく、今後の新規の PendingIntent の利用シーンでも常に mutability を意識する必要があるということです。

targetSdk 31 対応した直後の人なら可能でしょう。1年後はどうしょうか?チームメンバーは?

Lint 警告をエラーにする、Lint 結果を Danger で PR にコメントする、などで確実に修正するワークフローが構築できていれば UnspecifiedImmutableFlag Lint でも十分かもしれません。

とはいえ、そんなワークフローを経なくても書いた瞬間に修正できる方が良いですよね?

ImmutablePendingIntent

上記の課題を解決する ImmutablePendingIntent というライブラリを公開しました。

GitHub - wada811/ImmutablePendingIntent

Powered by Fruition