Here are further quotes from the Grizzley report:
Our experts identified a stack of software functions that are completely inappropriate to and dangerous in this type of software. TEMU uses them all. [All of those listed below.]
1 Local compiling with "package compile" executed with getRuntime.exec()
2 Requesting information if app runs with root rights ("superuser")
3 Request process list with "getRunningAppProcesses)'
4 Requesting system logs from "/system/bin/logcat"
5 Accessing debugger status with "Debug.isDebuggerConnected()"
6 Reading and writing system files in "sys/devices/"
7 Accessing external storage with "ExternalStorage"
8 Making screenshots ("getRootView()', "peekDecorView)" in "getWindow()')
9 Requesting the MAC address
10 Putting MAC address into a JSON to send the information to server
11 Code obfuscation with most JAVA code: unnamed files, folders, functions
12 android.permission.CAMERA
13 android.permission.WRITE_EXTERNAL_STORAGE
14 android.permission.RECORD_AUDIO
15 android.permission.INSTALL_PACKAGES
16 android.permission.INTERNET
17 android.permission.WAKE_LOCK
18 Putting location information into JSON to send the information
The issues for which only TEMU is flagged red (Row 1, 4, 10, 15) are among the most dangerous — and are the most likely to be combined to make actual spyware.
1) Dynamic compilation using runtime.exec(). A cryptically named function in the source code calls for “package compile”, using runtime.exec(). This means a new program is created by the app itself.—Compiling is the process of creating a computer executable from a human-readable code. The executable created by this function is not visible to security scans before or during installation of the app, or even with elaborate penetration testing. Therefore, TEMU’s app could have passed all the tests for approval into Google’s Play Store, despite having an open door built in for an unbounded use of exploitative methods. The local compilation even allows the software to make use of other data on the device that itself could have been created dynamically and with information from TEMU’s servers.
“That’s bad. That’s really bad, because if they are locally compiling packages, then they can literally do anything they want at any time. It means that you can’t analyze because the system is truly dynamic.”
This feature alone is a “wild card” that looms over most specific risks of malware. It’s like debating who has the most keys to break into a building, when you hold the master key in your hand. Put another way, if all the rest of the objectionable code was removed, while this one backdoor went undetected due to its concealment, the app could become just as malignant, by changing its behavior, controlled by foreign servers, in almost all possible ways and reactive to all future developments of the app, the regulations and all other possible influences. For example, TEMU can potentially send source code, encrypted and masquerading as any unsuspicious piece of data, which is then compiled into an executable on the client’s phone.