maxrave-dev / SimpMusic

A simple music app using YouTube Music for backend
https://simpmusic.tech/
GNU General Public License v3.0
1.81k stars 115 forks source link

Question on permissions #227

Open IzzySoft opened 8 months ago

IzzySoft commented 8 months ago

My recently improved scanner just reported the following for today's update of SimpMusic:

! repo/com.maxrave.simpmusic_15.apk declares flag(s): usesCleartextTraffic
! repo/com.maxrave.simpmusic_15.apk declares risky permission(s): android.permission.READ_MEDIA_AUDIO android.permission.READ_MEDIA_IMAGES android.permission.READ_EXTERNAL_STORAGE

Now comparing it to the app description, I don't find what they might be needed for:

Thanks in advance for clarification!

maxrave-dev commented 8 months ago

For usesCleartextTraffic, I think it can be removed (I added it to be sure all requests successful) For storage, need to open the image to change the thumbnails and choose backup folder

IzzySoft commented 8 months ago

Thanks Max! And yeah, I just learned that on Android 9 and below indeed *_EXTERNAL_STORAGE is still needed to access media "owned" by other apps. Thought that was replaced by the media permissions but obviously got that wrong, apologies! They messed so much with the storage permissions since Lollipop that it's hard to keep track… :see_no_evil:

So I guess READ_MEDIA_IMAGES is needed to access album art even if it's located in the Music directory?

And thanks for taking care for the usesCleartextTraffic! I've just added READ_MEDIA_AUDIO and READ_EXTERNAL_STORAGE to your app's allow-list here now, waiting for confirmation on the images one then I'll add that as well.

IzzySoft commented 7 months ago

For usesCleartextTraffic, I think it can be removed (I added it to be sure all requests successful)

Still there with today's release. From the report:

! repo/com.maxrave.simpmusic_16.apk declares flag(s): usesCleartextTraffic
! repo/com.maxrave.simpmusic_16.apk declares sensitive permission(s): android.permission.READ_MEDIA_IMAGES
! repo/com.maxrave.simpmusic_16.apk contains signature block blobs: 0x504b4453 (DEPENDENCY_INFO_BLOCK; GOOGLE)

The check for signature blobs was just enabled recently – and actually, this one is easy to get rid of:

android {
    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }
}

For some background: that BLOB is supposed to be just a binary representation of your app's dependency tree. But as it's encrypted with a public key belonging to Google, only Google can read it – and nobody else can even verify what it really contains.

IzzySoft commented 3 months ago

@maxrave-dev any news on this? Latest release again triggered the scanner warnings:

! repo/com.maxrave.simpmusic_18.apk declares flag(s): usesCleartextTraffic
! repo/com.maxrave.simpmusic_18.apk declares sensitive permission(s): android.permission.READ_MEDIA_IMAGES
! repo/com.maxrave.simpmusic_18.apk contains signature block blobs: 0x504b4453 (DEPENDENCY_INFO_BLOCK; GOOGLE)
maxrave-dev commented 3 months ago

I will fix in next build