Conversation

SafetyNet attestation was never intended to be provide high assurance. They provide direct access to hardware-based attestation for those that need it. They're working on providing better support for a strong pairing-based model which will hopefully be available in Android 11.
1
Auditor currently doesn't get exactly what it needs from the API and has to pin the batch key instead of what it really wants which is an app key used internally by the TEE/SE to sign attestations which can be pinned and cannot be obtained by exploiting the TEE/SE elsewhere.
1
Auditor uses the SE-based keystore (StrongBox) for devices like the Pixel 3 and newer Samsung devices and with direct support for pairing it will become very high assurance. Weak point will definitely be verified boot rather than the design of hardware-based attestation for it.
1
Having root exposed only via adb shell with physical access is much less of a problem but isn't a non-issue. A production user build of AOSP doesn't have root access but a developer-oriented userdebug build has `adb root` and `su` only usable via `adb shell` which isn't terrible.
1
It's a security issue and doesn't belong on devices where the user doesn't explicitly want it. Trusting attached computers by whitelisting their ADB client key is already problematic and having root makes it substantially more dangerous. What if that computer is compromised?
1
It weakens the security model used by Auditor but doesn't totally destroy it. Also worth noting that simply having full read/write access as root to the entire file system won't actually provide access to all app data. Need to have further access like ptrace to use keystore keys.
1
It's different to have that on an end user device where they aren't a developer with the appropriate knowledge and awareness of how the platform works. I don't see much issue with publishing userdebug factory images with separate signing keys and over-the-air updates though.
1
If someone is going to go through the effort of unlocking the device, flashing factory images and locking it they might as well have official userdebug images available. Better for them to use those than something else. I'd do it for GrapheneOS if there weren't limited resources.
1
It won't have the green boot state and won't pass CTS due to exposing root access via adb and the ability to bypass whether an app can be debugged, separately from root access, so it's not going to be SafetyNet attestation approved and apps checking for that aren't going to work.
1
In production devices users should have the option to get full access (that can be revoked after reboot) should they want it. I'm familiar with engineering ROMs, such access can be provided in production ROMs upon certain combination of keys (similar to enable developer options).