From 5206c792b099ce65cd41bc47ff66aadfab85aa9a Mon Sep 17 00:00:00 2001 From: Ed Minnix Date: Wed, 7 Sep 2022 12:07:48 -0400 Subject: [PATCH] Additional Unit tests for the allowBackup query --- .../security/CWE-312/AndroidManifest.xml | 2 +- .../backup}/AllowBackupEnabledTest.expected | 0 .../backup}/AllowBackupEnabledTest.java | 0 .../backup}/AllowBackupEnabledTest.ql | 3 +- .../TestEmptyManifest/AndroidManifest.xml | 3 ++ .../AndroidManifest.xml | 29 +++++++++++++++++++ .../TestExplicitlyEnabled/AndroidManifest.xml | 29 +++++++++++++++++++ .../backup/TestLibrary/AndroidManifest.xml | 6 ++++ .../backup/TestMissing/AndroidManifest.xml | 29 +++++++++++++++++++ .../backup/Testbuild/AndroidManifest.xml | 29 +++++++++++++++++++ 10 files changed, 127 insertions(+), 3 deletions(-) rename java/ql/test/query-tests/security/CWE-312/{ => android/backup}/AllowBackupEnabledTest.expected (100%) rename java/ql/test/query-tests/security/CWE-312/{ => android/backup}/AllowBackupEnabledTest.java (100%) rename java/ql/test/query-tests/security/CWE-312/{ => android/backup}/AllowBackupEnabledTest.ql (84%) create mode 100644 java/ql/test/query-tests/security/CWE-312/android/backup/TestEmptyManifest/AndroidManifest.xml create mode 100644 java/ql/test/query-tests/security/CWE-312/android/backup/TestExplicitlyDisabled/AndroidManifest.xml create mode 100644 java/ql/test/query-tests/security/CWE-312/android/backup/TestExplicitlyEnabled/AndroidManifest.xml create mode 100644 java/ql/test/query-tests/security/CWE-312/android/backup/TestLibrary/AndroidManifest.xml create mode 100644 java/ql/test/query-tests/security/CWE-312/android/backup/TestMissing/AndroidManifest.xml create mode 100644 java/ql/test/query-tests/security/CWE-312/android/backup/Testbuild/AndroidManifest.xml diff --git a/java/ql/test/query-tests/security/CWE-312/AndroidManifest.xml b/java/ql/test/query-tests/security/CWE-312/AndroidManifest.xml index 8cf208d0a48..d8af1947bd7 100644 --- a/java/ql/test/query-tests/security/CWE-312/AndroidManifest.xml +++ b/java/ql/test/query-tests/security/CWE-312/AndroidManifest.xml @@ -4,7 +4,7 @@ android:versionCode="1" android:versionName="0.1" > - + diff --git a/java/ql/test/query-tests/security/CWE-312/AllowBackupEnabledTest.expected b/java/ql/test/query-tests/security/CWE-312/android/backup/AllowBackupEnabledTest.expected similarity index 100% rename from java/ql/test/query-tests/security/CWE-312/AllowBackupEnabledTest.expected rename to java/ql/test/query-tests/security/CWE-312/android/backup/AllowBackupEnabledTest.expected diff --git a/java/ql/test/query-tests/security/CWE-312/AllowBackupEnabledTest.java b/java/ql/test/query-tests/security/CWE-312/android/backup/AllowBackupEnabledTest.java similarity index 100% rename from java/ql/test/query-tests/security/CWE-312/AllowBackupEnabledTest.java rename to java/ql/test/query-tests/security/CWE-312/android/backup/AllowBackupEnabledTest.java diff --git a/java/ql/test/query-tests/security/CWE-312/AllowBackupEnabledTest.ql b/java/ql/test/query-tests/security/CWE-312/android/backup/AllowBackupEnabledTest.ql similarity index 84% rename from java/ql/test/query-tests/security/CWE-312/AllowBackupEnabledTest.ql rename to java/ql/test/query-tests/security/CWE-312/android/backup/AllowBackupEnabledTest.ql index 604f50dffa7..2ec9c6a0cd8 100644 --- a/java/ql/test/query-tests/security/CWE-312/AllowBackupEnabledTest.ql +++ b/java/ql/test/query-tests/security/CWE-312/android/backup/AllowBackupEnabledTest.ql @@ -10,8 +10,7 @@ class AllowBackupEnabledTest extends InlineExpectationsTest { override predicate hasActualResult(Location location, string element, string tag, string value) { tag = "hasAllowedBackupEnabled" and exists(AndroidApplicationXmlElement androidAppElem | - androidAppElem.allowsBackup() and - not androidAppElem.getFile().(AndroidManifestXmlFile).isInBuildDirectory() + androidAppElem.allowsBackup() | androidAppElem.getAttribute("allowBackup").getLocation() = location and element = androidAppElem.getAttribute("debuggable").toString() and diff --git a/java/ql/test/query-tests/security/CWE-312/android/backup/TestEmptyManifest/AndroidManifest.xml b/java/ql/test/query-tests/security/CWE-312/android/backup/TestEmptyManifest/AndroidManifest.xml new file mode 100644 index 00000000000..306f3852be8 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-312/android/backup/TestEmptyManifest/AndroidManifest.xml @@ -0,0 +1,3 @@ + + diff --git a/java/ql/test/query-tests/security/CWE-312/android/backup/TestExplicitlyDisabled/AndroidManifest.xml b/java/ql/test/query-tests/security/CWE-312/android/backup/TestExplicitlyDisabled/AndroidManifest.xml new file mode 100644 index 00000000000..5f35eb615d5 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-312/android/backup/TestExplicitlyDisabled/AndroidManifest.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + diff --git a/java/ql/test/query-tests/security/CWE-312/android/backup/TestExplicitlyEnabled/AndroidManifest.xml b/java/ql/test/query-tests/security/CWE-312/android/backup/TestExplicitlyEnabled/AndroidManifest.xml new file mode 100644 index 00000000000..959c14c8507 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-312/android/backup/TestExplicitlyEnabled/AndroidManifest.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + diff --git a/java/ql/test/query-tests/security/CWE-312/android/backup/TestLibrary/AndroidManifest.xml b/java/ql/test/query-tests/security/CWE-312/android/backup/TestLibrary/AndroidManifest.xml new file mode 100644 index 00000000000..e83d18d59e9 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-312/android/backup/TestLibrary/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/java/ql/test/query-tests/security/CWE-312/android/backup/TestMissing/AndroidManifest.xml b/java/ql/test/query-tests/security/CWE-312/android/backup/TestMissing/AndroidManifest.xml new file mode 100644 index 00000000000..43a966ac28e --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-312/android/backup/TestMissing/AndroidManifest.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + diff --git a/java/ql/test/query-tests/security/CWE-312/android/backup/Testbuild/AndroidManifest.xml b/java/ql/test/query-tests/security/CWE-312/android/backup/Testbuild/AndroidManifest.xml new file mode 100644 index 00000000000..097e7ed2b51 --- /dev/null +++ b/java/ql/test/query-tests/security/CWE-312/android/backup/Testbuild/AndroidManifest.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + +