STS refactor @SecurityTest

Update @SecurityTest to use the CVE bug ID for STS Incremental.

Bug: 174501378
Test: compiles
Test: run against STS Business Logic
Change-Id: I81ceeec63dc2f563b0024740e53733a39f5c6f49
Merged-In: I81ceeec63dc2f563b0024740e53733a39f5c6f49
diff --git a/hostsidetests/appsecurity/src/android/appsecurity/cts/AppSecurityTests.java b/hostsidetests/appsecurity/src/android/appsecurity/cts/AppSecurityTests.java
index 3bea273..33ef06a 100644
--- a/hostsidetests/appsecurity/src/android/appsecurity/cts/AppSecurityTests.java
+++ b/hostsidetests/appsecurity/src/android/appsecurity/cts/AppSecurityTests.java
@@ -23,7 +23,7 @@
 
 import android.platform.test.annotations.AppModeFull;
 import android.platform.test.annotations.AppModeInstant;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import com.android.ddmlib.Log;
 import com.android.tradefed.device.DeviceNotAvailableException;
@@ -229,7 +229,7 @@
      */
     @Test
     @AppModeFull(reason = "Only the platform can define permissions obtainable by instant applications")
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 111934948)
     public void testPermissionDiffCert() throws Exception {
         Log.i(LOG_TAG, "installing app that attempts to use permission of another app");
         try {
@@ -260,7 +260,7 @@
      */
     @Test
     @AppModeFull(reason = "Only full apps can hold INSTALL_PACKAGES")
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 150857253)
     public void testCrossPackageDiffCertSetInstaller() throws Exception {
         Log.i(LOG_TAG, "installing app that attempts to use permission of another app");
         try {
diff --git a/hostsidetests/appsecurity/src/android/appsecurity/cts/DeviceIdentifierTest.java b/hostsidetests/appsecurity/src/android/appsecurity/cts/DeviceIdentifierTest.java
index a27c2a5..b7d6bd5 100644
--- a/hostsidetests/appsecurity/src/android/appsecurity/cts/DeviceIdentifierTest.java
+++ b/hostsidetests/appsecurity/src/android/appsecurity/cts/DeviceIdentifierTest.java
@@ -16,7 +16,7 @@
 
 package android.appsecurity.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
 import com.android.tradefed.build.IBuildInfo;
 import com.android.tradefed.device.DeviceNotAvailableException;
@@ -58,7 +58,7 @@
         getDevice().uninstallPackage(DEVICE_IDENTIFIER_PKG);
     }
 
-    @SecurityTest(minPatchLevel = "2021-04")
+    @AsbSecurityTest(cveBugId = 173421434)
     public void testDeviceIdentifierAccessWithAppOpGranted() throws Exception {
         setDeviceIdentifierAccessAppOp(DEVICE_IDENTIFIER_PKG, true);
         Utils.runDeviceTestsAsCurrentUser(getDevice(), DEVICE_IDENTIFIER_PKG,
diff --git a/hostsidetests/appsecurity/src/android/appsecurity/cts/EphemeralTest.java b/hostsidetests/appsecurity/src/android/appsecurity/cts/EphemeralTest.java
index 72de9bb..4b4cb98 100644
--- a/hostsidetests/appsecurity/src/android/appsecurity/cts/EphemeralTest.java
+++ b/hostsidetests/appsecurity/src/android/appsecurity/cts/EphemeralTest.java
@@ -21,7 +21,7 @@
 import static org.junit.Assert.fail;
 
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
 import com.android.tradefed.log.LogUtil.CLog;
@@ -381,7 +381,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-11")
+    @AsbSecurityTest(cveBugId = 140256621)
     public void testInstallPermissionNotGrantedInPackageInfo() throws Exception {
         if (mIsUnsupportedDevice) {
             return;
@@ -391,7 +391,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-11")
+    @AsbSecurityTest(cveBugId = 140256621)
     public void testInstallPermissionGrantedInPackageInfo() throws Exception {
         if (mIsUnsupportedDevice) {
             return;
diff --git a/hostsidetests/appsecurity/src/android/appsecurity/cts/LocationPolicyTest.java b/hostsidetests/appsecurity/src/android/appsecurity/cts/LocationPolicyTest.java
index e2ff6c6..bb34ce9 100644
--- a/hostsidetests/appsecurity/src/android/appsecurity/cts/LocationPolicyTest.java
+++ b/hostsidetests/appsecurity/src/android/appsecurity/cts/LocationPolicyTest.java
@@ -17,7 +17,7 @@
 package android.appsecurity.cts;
 
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.After;
 import org.junit.Before;
@@ -42,7 +42,7 @@
     }
 
     @Test
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 148414207)
     public void testLocationPolicyPermissions() throws Exception {
         new InstallMultiple(true).addFile(TEST_APK).run();
         Utils.runDeviceTests(
diff --git a/hostsidetests/appsecurity/src/android/appsecurity/cts/PermissionEscalationTest.java b/hostsidetests/appsecurity/src/android/appsecurity/cts/PermissionEscalationTest.java
index e0fe368..8ed9d64 100644
--- a/hostsidetests/appsecurity/src/android/appsecurity/cts/PermissionEscalationTest.java
+++ b/hostsidetests/appsecurity/src/android/appsecurity/cts/PermissionEscalationTest.java
@@ -16,7 +16,7 @@
 
 package android.appsecurity.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
 import com.android.tradefed.build.IBuildInfo;
 import com.android.tradefed.device.DeviceNotAvailableException;
@@ -65,7 +65,7 @@
                 "testCannotEscalateNonRuntimePermissionsToRuntime");
     }
 
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = {154505240, 168319670})
     public void testNoPermissionEscalationAfterReboot() throws Exception {
         assertNull(getDevice().installPackage(mBuildHelper.getTestFile(
                 APK_DECLARE_NON_RUNTIME_PERMISSIONS), false, false));
diff --git a/hostsidetests/appsecurity/src/android/appsecurity/cts/PkgInstallSignatureVerificationTest.java b/hostsidetests/appsecurity/src/android/appsecurity/cts/PkgInstallSignatureVerificationTest.java
index 017787e..feebe40 100644
--- a/hostsidetests/appsecurity/src/android/appsecurity/cts/PkgInstallSignatureVerificationTest.java
+++ b/hostsidetests/appsecurity/src/android/appsecurity/cts/PkgInstallSignatureVerificationTest.java
@@ -16,7 +16,7 @@
 
 package android.appsecurity.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
 import com.android.tradefed.build.IBuildInfo;
@@ -515,7 +515,7 @@
         assertInstallFailsWithError("v2-only-empty.apk", "Unknown failure");
     }
 
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 64211847)
     public void testInstallApkWhichDoesNotStartWithZipLocalFileHeaderMagic() throws Exception {
         // The APKs below are competely fine except they don't start with ZIP Local File Header
         // magic. Thus, these APKs will install just fine unless Package Manager requires that APKs
diff --git a/hostsidetests/appsecurity/src/android/appsecurity/cts/RoleSecurityTest.java b/hostsidetests/appsecurity/src/android/appsecurity/cts/RoleSecurityTest.java
index 838efa4..0c86e10 100644
--- a/hostsidetests/appsecurity/src/android/appsecurity/cts/RoleSecurityTest.java
+++ b/hostsidetests/appsecurity/src/android/appsecurity/cts/RoleSecurityTest.java
@@ -17,7 +17,7 @@
 package android.appsecurity.cts;
 
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -43,7 +43,7 @@
 
     @Test
     @AppModeFull(reason = "Instant apps cannot access role manager")
-    @SecurityTest(minPatchLevel = "unknown")
+    @AsbSecurityTest(cveBugId = 177927831)
     public void cannotGetSmsRoleHolderForAnotherUser() throws Exception {
         final int[] userIds = Utils.prepareMultipleUsers(getDevice(), 2);
         assumeTrue(userIds.length == 2);
diff --git a/hostsidetests/appsecurity/test-apps/DeviceIdentifiers/src/android/appsecurity/cts/deviceids/DeviceIdentifierAppOpTest.java b/hostsidetests/appsecurity/test-apps/DeviceIdentifiers/src/android/appsecurity/cts/deviceids/DeviceIdentifierAppOpTest.java
index 753bc2b..e775b59 100644
--- a/hostsidetests/appsecurity/test-apps/DeviceIdentifiers/src/android/appsecurity/cts/deviceids/DeviceIdentifierAppOpTest.java
+++ b/hostsidetests/appsecurity/test-apps/DeviceIdentifiers/src/android/appsecurity/cts/deviceids/DeviceIdentifierAppOpTest.java
@@ -22,7 +22,7 @@
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.Build;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -46,7 +46,7 @@
                     + "granted when invoking %s.";
 
     @Test
-    @SecurityTest(minPatchLevel = "2021-04")
+    @AsbSecurityTest(cveBugId = 173421434)
     public void testAccessToDeviceIdentifiersWithAppOp() throws Exception {
         Context context = InstrumentationRegistry.getContext();
         TelephonyManager telephonyManager =
diff --git a/hostsidetests/appsecurity/test-apps/EphemeralTestApp/EphemeralApp1/src/com/android/cts/ephemeralapp1/ClientTest.java b/hostsidetests/appsecurity/test-apps/EphemeralTestApp/EphemeralApp1/src/com/android/cts/ephemeralapp1/ClientTest.java
index 6905564..0b12603 100644
--- a/hostsidetests/appsecurity/test-apps/EphemeralTestApp/EphemeralApp1/src/com/android/cts/ephemeralapp1/ClientTest.java
+++ b/hostsidetests/appsecurity/test-apps/EphemeralTestApp/EphemeralApp1/src/com/android/cts/ephemeralapp1/ClientTest.java
@@ -70,7 +70,7 @@
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import com.android.cts.util.TestResult;
 
@@ -1172,13 +1172,13 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-11")
+    @AsbSecurityTest(cveBugId = 140256621)
     public void testInstallPermissionNotGrantedInPackageInfo() throws Exception {
         assertThat(isPermissionGrantedInPackageInfo(Manifest.permission.SET_ALARM), is(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-11")
+    @AsbSecurityTest(cveBugId = 140256621)
     public void testInstallPermissionGrantedInPackageInfo() throws Exception {
         assertThat(isPermissionGrantedInPackageInfo(Manifest.permission.INTERNET), is(true));
     }
diff --git a/hostsidetests/appsecurity/test-apps/LocationPolicyApp/src/android/appsecurity/cts/locationpolicy/LocationPolicyTest.java b/hostsidetests/appsecurity/test-apps/LocationPolicyApp/src/android/appsecurity/cts/locationpolicy/LocationPolicyTest.java
index 51fa279..4087afa 100644
--- a/hostsidetests/appsecurity/test-apps/LocationPolicyApp/src/android/appsecurity/cts/locationpolicy/LocationPolicyTest.java
+++ b/hostsidetests/appsecurity/test-apps/LocationPolicyApp/src/android/appsecurity/cts/locationpolicy/LocationPolicyTest.java
@@ -24,7 +24,7 @@
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.UserManager;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.telephony.TelephonyManager;
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
@@ -37,7 +37,7 @@
     private final Context mContext = InstrumentationRegistry.getInstrumentation().getContext();
 
     @Test
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 148414207)
     public void testLocationPolicyPermissions() throws Exception {
         assertNotNull(mContext);
         PackageManager pm = mContext.getPackageManager();
diff --git a/hostsidetests/content/src/android/content/cts/InvalidSyncAuthoritiesHostTest.java b/hostsidetests/content/src/android/content/cts/InvalidSyncAuthoritiesHostTest.java
index ebffbe6..6c9684c 100644
--- a/hostsidetests/content/src/android/content/cts/InvalidSyncAuthoritiesHostTest.java
+++ b/hostsidetests/content/src/android/content/cts/InvalidSyncAuthoritiesHostTest.java
@@ -17,7 +17,7 @@
 package android.content.cts;
 
 import android.appsecurity.cts.Utils;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
 import com.android.tradefed.build.IBuildInfo;
@@ -31,7 +31,6 @@
  * Otherwise a malicious app can effectively DOS the filesystem and the user can only get out of it
  * via a factory reset.
  */
-@SecurityTest
 public class InvalidSyncAuthoritiesHostTest extends DeviceTestCase implements IBuildReceiver {
 
     private static final String DEVICE_TEST_PACKAGE = "android.content.sync.cts";
@@ -66,6 +65,7 @@
         getDevice().uninstallPackage(DEVICE_TEST_PACKAGE);
     }
 
+    @AsbSecurityTest(cveBugId = 35028827)
     public void testInvalidEntriesClearedOnBoot() throws Exception {
         runDeviceTests(DEVICE_TEST_PACKAGE, DEVICE_TEST_CLASS, "populateAndTestSyncAutomaticallyBeforeReboot");
         getDevice().reboot();
diff --git a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/DeviceIdentifiersTest.java b/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/DeviceIdentifiersTest.java
index a5a0cc6..e9a3cb3 100644
--- a/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/DeviceIdentifiersTest.java
+++ b/hostsidetests/devicepolicy/app/DeviceOwner/src/com/android/cts/deviceowner/DeviceIdentifiersTest.java
@@ -15,7 +15,7 @@
  */
 package com.android.cts.deviceowner;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.Build;
@@ -34,7 +34,7 @@
             "An unexpected value was received by the device owner with the READ_PHONE_STATE "
                     + "permission when invoking %s";
 
-    @SecurityTest(minPatchLevel = "2021-04")
+    @AsbSecurityTest(cveBugId = 173421434)
     public void testDeviceOwnerCanGetDeviceIdentifiersWithPermission() {
         // The device owner with the READ_PHONE_STATE permission should have access to all device
         // identifiers. However since the TelephonyManager methods can return null this method
diff --git a/hostsidetests/devicepolicy/app/SeparateProfileChallenge/src/com/android/cts/separateprofilechallenge/SeparateProfileChallengePermissionsTest.java b/hostsidetests/devicepolicy/app/SeparateProfileChallenge/src/com/android/cts/separateprofilechallenge/SeparateProfileChallengePermissionsTest.java
index 1b0378b..e1ce7d6 100644
--- a/hostsidetests/devicepolicy/app/SeparateProfileChallenge/src/com/android/cts/separateprofilechallenge/SeparateProfileChallengePermissionsTest.java
+++ b/hostsidetests/devicepolicy/app/SeparateProfileChallenge/src/com/android/cts/separateprofilechallenge/SeparateProfileChallengePermissionsTest.java
@@ -18,7 +18,7 @@
 
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import androidx.test.runner.AndroidJUnitRunner;
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceOwnerTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceOwnerTest.java
index 1264b18..6a64711 100644
--- a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceOwnerTest.java
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/DeviceOwnerTest.java
@@ -26,7 +26,7 @@
 
 import android.platform.test.annotations.FlakyTest;
 import android.platform.test.annotations.LargeTest;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.stats.devicepolicy.EventId;
 
 import com.android.compatibility.common.tradefed.build.CompatibilityBuildHelper;
@@ -748,7 +748,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2021-04")
+    @AsbSecurityTest(cveBugId = 173421434)
     public void testDeviceOwnerCanGetDeviceIdentifiers() throws Exception {
         // The Device Owner should have access to all device identifiers.
         if (!mHasFeature) {
diff --git a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/SeparateProfileChallengeTest.java b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/SeparateProfileChallengeTest.java
index b3983b6..54bbf63 100644
--- a/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/SeparateProfileChallengeTest.java
+++ b/hostsidetests/devicepolicy/src/com/android/cts/devicepolicy/SeparateProfileChallengeTest.java
@@ -16,7 +16,7 @@
 
 package com.android.cts.devicepolicy;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import org.junit.Test;
 
@@ -48,8 +48,8 @@
         super.tearDown();
     }
 
-    @SecurityTest
     @Test
+    @AsbSecurityTest(cveBugId = 128599668)
     public void testSeparateProfileChallengePermissions() throws Exception {
         if (!mHasFeature || !mSupportsMultiUser) {
             return;
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Bug_187957589.java b/hostsidetests/securitybulletin/src/android/security/cts/Bug_187957589.java
index 6957ff9..84ae114 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Bug_187957589.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Bug_187957589.java
@@ -17,7 +17,7 @@
 package android.security.cts;
 import static org.junit.Assume.assumeFalse;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/187957589
      * Vulnerability Behaviour: out of bounds write in noteAtomLogged for negative atom ids.
      */
-    @SecurityTest(minPatchLevel = "unknown")
     @Test
+    @AsbSecurityTest(cveBugId = 187957589)
     public void testPocBug_187957589() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.os.statsd"));
         AdbUtils.runPoc("Bug-187957589", getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_2182.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_2182.java
index e6e1015..4ee8a5e 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_2182.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_2182.java
@@ -15,7 +15,7 @@
  */
 
 package android.security.cts;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,8 +29,8 @@
      * b/32096880
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2017-03")
     @Test
+    @AsbSecurityTest(cveBugId = 32096880)
     public void testPocCVE_2016_2182() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.conscrypt"));
         String binaryName = "CVE-2016-2182";
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_6328.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_6328.java
index b75dd3a..c8fd81b 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_6328.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_6328.java
@@ -18,7 +18,7 @@
 
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import com.android.tradefed.device.ITestDevice;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -29,8 +29,8 @@
      * b/162602132
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2021-01")
     @Test
+    @AsbSecurityTest(cveBugId = 162602132)
     public void testPocCVE_2016_6328() throws Exception {
         pocPusher.only32();
         String inputFiles[] = {"cve_2016_6328.mp4"};
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_8332.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_8332.java
index 9d032cd..462864b 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_8332.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2016_8332.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -28,8 +28,8 @@
      * b/37761553
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2017-06")
     @Test
+    @AsbSecurityTest(cveBugId = 37761553)
     public void testPocCVE_2016_8332() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2016-8332", null, getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_0684.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_0684.java
index 4dd4b39..0267551 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_0684.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_0684.java
@@ -15,7 +15,7 @@
  */
 
 package android.security.cts;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -27,8 +27,8 @@
      * b/35421151
      * Vulnerability Behaviour: SIGSEGV in media.codec
      */
-    @SecurityTest(minPatchLevel = "2017-07")
     @Test
+    @AsbSecurityTest(cveBugId = 35421151)
     public void testPocCVE_2017_0684() throws Exception {
         pocPusher.only32();
         String errPattern[] = {"media\\.codec", "omx@\\d+?\\.\\d+?-service"};
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_0726.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_0726.java
index 5a17589..4f08b71 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_0726.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_0726.java
@@ -15,7 +15,7 @@
  */
 
 package android.security.cts;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -27,8 +27,8 @@
      * b/36389123
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2017-08")
     @Test
+    @AsbSecurityTest(cveBugId = 36389123)
     public void testPocCVE_2017_0726() throws Exception {
         pocPusher.only64();
         String inputFiles[] = {"cve_2017_0726.mp4"};
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_13194.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_13194.java
index ab83ce3..62c72f2 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_13194.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2017_13194.java
@@ -15,7 +15,7 @@
  */
 
 package android.security.cts;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,8 +30,8 @@
      * b/64710201
      * Vulnerability Behaviour: SIGSEGV in media.codec
      */
-    @SecurityTest(minPatchLevel = "2018-01")
     @Test
+    @AsbSecurityTest(cveBugId = 64710201)
     public void testPocCVE_2017_13194() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.media.swcodec"));
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9558.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9558.java
index 6f1c03f..31da488 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9558.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9558.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.compatibility.common.util.CrashUtils;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,8 +30,8 @@
      * b/112161557
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2018-12")
     @Test
+    @AsbSecurityTest(cveBugId = 112161557)
     public void testPocCVE_2018_9558() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9561.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9561.java
index ad88bb7..ceeb117 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9561.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9561.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/111660010
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 111660010)
     public void testPocCVE_2018_9561() throws Exception {
         pocPusher.only64();
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2018-9561", null, getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9563.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9563.java
index 8f8b53d..09d391e 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9563.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9563.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/114237888
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 114237888)
     public void testPocCVE_2018_9563() throws Exception {
         pocPusher.only64();
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2018-9563", null, getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9584.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9584.java
index 5d68ce6..ab18f52 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9584.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9584.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
@@ -29,8 +29,8 @@
      * b/114047681
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-01")
     @Test
+    @AsbSecurityTest(cveBugId = 114047681)
     public void testPocCVE_2018_9584() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9585.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9585.java
index f5d19e4..4f3a3bf 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9585.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2018_9585.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
@@ -29,8 +29,8 @@
      * b/117554809
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-01")
     @Test
+    @AsbSecurityTest(cveBugId = 117554809)
     public void testPocCVE_2018_9585() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2007.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2007.java
index 718878c..826db69 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2007.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2007.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -28,8 +28,8 @@
      *  b/120789744
      *  Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 120789744)
     public void testPocCVE_2019_2007() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2007", null, getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2011.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2011.java
index f92c876..373703e 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2011.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2011.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,8 +29,8 @@
      * b/120084106
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 120084106)
     public void testPocCVE_2019_2011() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2011", null, getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2013.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2013.java
index d2f60c7..0ac72b2 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2013.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2013.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
@@ -29,8 +29,8 @@
      * b/120497583
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 120497583)
     public void testPocCVE_2019_2013() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2014.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2014.java
index c70f560..afc7a2b 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2014.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2014.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.compatibility.common.util.CrashUtils;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
@@ -29,8 +29,8 @@
      * b/120499324
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 120499324)
     public void testPocCVE_2019_2014() throws Exception {
         pocPusher.only64();
         String binaryName = "CVE-2019-2014";
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2019.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2019.java
index cd61170..1c5a180 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2019.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2019.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/115635871
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 115635871)
     public void testPocCVE_2019_2019() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2021.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2021.java
index ca4c009..8d0d4d6 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2021.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2021.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/120428041
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 120428041)
     public void testPocCVE_2019_2021() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2022.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2022.java
index 673c2157..057e937 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2022.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2022.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/120506143
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 120506143)
     public void testPocCVE_2019_2022() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2035.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2035.java
index 0ac90e4..8757455 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2035.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2035.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/122320256
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-04")
     @Test
+    @AsbSecurityTest(cveBugId = 122320256)
     public void testPocCVE_2019_2035() throws Exception {
         pocPusher.only64();
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2035", null, getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2038.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2038.java
index 832bfdc..4fe0164 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2038.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2038.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/121259048
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-04")
     @Test
+    @AsbSecurityTest(cveBugId = 121259048)
     public void testPocCVE_2019_2038() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2039.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2039.java
index 8fec154..57e42ea 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2039.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2039.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -27,8 +27,8 @@
      * b/121260197
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-04")
     @Test
+    @AsbSecurityTest(cveBugId = 121260197)
     public void testPocCVE_2019_2039() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2040.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2040.java
index 2619ed9..6c6d239 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2040.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2040.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -28,8 +28,8 @@
      * b/122316913
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-04")
     @Test
+    @AsbSecurityTest(cveBugId = 122316913)
     public void testPocCVE_2019_2040() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2044.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2044.java
index 6072d12..e36c46f 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2044.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2044.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -28,8 +28,8 @@
      * b/123701862
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-05")
     @Test
+    @AsbSecurityTest(cveBugId = 123701862)
     public void testPocCVE_2019_2044() throws Exception {
         pocPusher.only32();
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2044", null, getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2046.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2046.java
index 783bfa1..9ed89c3 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2046.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2046.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,8 +29,8 @@
      * b/117556220
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-05")
     @Test
+    @AsbSecurityTest(cveBugId = 117556220)
     public void testPocCVE_2019_2046() throws Exception {
         pocPusher.only64();
         AdbUtils.runProxyAutoConfig("cve_2019_2046", "true", getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2099.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2099.java
index e20bb5c..16487a3 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2099.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2099.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
@@ -29,8 +29,8 @@
      * b/123583388
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      **/
-    @SecurityTest(minPatchLevel = "2019-06")
     @Test
+    @AsbSecurityTest(cveBugId = 123583388)
     public void testPocCVE_2019_2099() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2115.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2115.java
index 38c8be0..1f3552c 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2115.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2115.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
@@ -29,8 +29,8 @@
      * b/129768470
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2019-09")
     @Test
+    @AsbSecurityTest(cveBugId = 129768470)
     public void testPocCVE_2019_2115() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2115", null, getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2135.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2135.java
index 6833243..fe06a73 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2135.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2135.java
@@ -18,7 +18,7 @@
 
 import com.android.tradefed.device.ITestDevice;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,8 +30,8 @@
      * b/125900276
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-08")
     @Test
+    @AsbSecurityTest(cveBugId = 125900276)
     public void testPocCVE_2019_2135() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2136.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2136.java
index e4b41cc..91b2000 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2136.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2136.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,8 +29,8 @@
      * b/132650049
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-08")
     @Test
+    @AsbSecurityTest(cveBugId = 132650049)
     public void testPocCVE_2019_2136() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2136", null, getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2206.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2206.java
index 20396ac..15fab83 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2206.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2206.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/139188579
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-11")
     @Test
+    @AsbSecurityTest(cveBugId = 139188579)
     public void testPocCVE_2019_2206() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2207.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2207.java
index 6f4340c..7ce43c7 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2207.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_2207.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/124524315
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-11")
     @Test
+    @AsbSecurityTest(cveBugId = 124524315)
     public void testPocCVE_2019_2207() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_9247.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_9247.java
index ad9e06f..dbd7cc8 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_9247.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2019_9247.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,8 +29,8 @@
      * b/120426166
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2019-09")
     @Test
+    @AsbSecurityTest(cveBugId = 120426166)
     public void testPocCVE_2019_9247() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-9247", null, getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0006.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0006.java
index efd1e54..58a2449 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0006.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0006.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
@@ -29,8 +29,8 @@
      * b/139738828
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-01")
     @Test
+    @AsbSecurityTest(cveBugId = 139738828)
     public void testPocCVE_2020_0006() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0018.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0018.java
index 14001c8..1207d1a 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0018.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0018.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -35,8 +35,8 @@
     /**
      * b/139945049
      */
-    @SecurityTest(minPatchLevel = "2020-02")
     @Test
+    @AsbSecurityTest(cveBugId = 139945049)
     public void testPocCVE_2020_0018() throws Exception {
         ITestDevice device = getDevice();
         String debuggable = device.getProperty("ro.debuggable").trim();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0037.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0037.java
index e624134..3a87304 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0037.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0037.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.device.ITestDevice;
@@ -29,8 +29,8 @@
      * b/143106535
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-03")
     @Test
+    @AsbSecurityTest(cveBugId = 143106535)
     public void testPocCVE_2020_0037() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0038.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0038.java
index 5731c12..c197972 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0038.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0038.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.device.ITestDevice;
@@ -29,8 +29,8 @@
      * b/143109193
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-03")
     @Test
+    @AsbSecurityTest(cveBugId = 143109193)
     public void testPocCVE_2020_0038() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0039.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0039.java
index 7d5ae37..76ce470 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0039.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0039.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.device.ITestDevice;
@@ -29,8 +29,8 @@
      * b/143155861
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-03")
     @Test
+    @AsbSecurityTest(cveBugId = 143155861)
     public void testPocCVE_2020_0039() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0072.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0072.java
index 4f355d3..6133a87 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0072.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0072.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/147310271
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2020-04")
     @Test
+    @AsbSecurityTest(cveBugId = 147310271)
     public void testPocCVE_2020_0072() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0073.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0073.java
index 79826e7..9573b39 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0073.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0073.java
@@ -19,7 +19,7 @@
 import com.android.tradefed.device.ITestDevice;
 import com.android.compatibility.common.util.CrashUtils;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,8 +31,8 @@
      * b/147309942
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2020-04")
     @Test
+    @AsbSecurityTest(cveBugId = 147309942)
     public void testPocCVE_2020_0073() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0224.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0224.java
index 94a71d0..d6a9275 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0224.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0224.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.compatibility.common.util.CrashUtils;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import java.util.Arrays;
@@ -33,8 +33,8 @@
      * b/147664838
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-07")
     @Test
+    @AsbSecurityTest(cveBugId = 147664838)
     public void testPocCVE_2020_0224() throws Exception {
         assumeThat(getDevice().getProperty("ro.config.low_ram"), not(is("true")));
         AdbUtils.runProxyAutoConfig("cve_2020_0224", getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0226.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0226.java
index 43632ec..614447c 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0226.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0226.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -28,8 +28,8 @@
      * b/150226994
      * Vulnerability Behaviour: SIGSEGV in surfaceflinger
      */
-    @SecurityTest(minPatchLevel = "2020-07")
     @Test
+    @AsbSecurityTest(cveBugId = 150226994)
     public void testPocCVE_2020_0226() throws Exception {
         String processPatternStrings[] = {"surfaceflinger"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2020-0226", null, getDevice(),
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0240.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0240.java
index 352274e..143b504 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0240.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0240.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/150706594
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-08")
     @Test
+    @AsbSecurityTest(cveBugId = 150706594)
     public void testPocCVE_2020_0240() throws Exception {
         String inputFiles[] = {"cve_2020_0240.pac"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2020-0240",
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0243.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0243.java
index 4c2b91d..2ba62bf 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0243.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0243.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.compatibility.common.util.CrashUtils;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
@@ -29,8 +29,8 @@
      * b/151644303
      * Vulnerability Behaviour: SIGSEGV in mediaserver
      */
-    @SecurityTest(minPatchLevel = "2020-08")
     @Test
+    @AsbSecurityTest(cveBugId = 151644303)
     public void testPocCVE_2020_0243() throws Exception {
         AdbUtils.pocConfig testConfig = new AdbUtils.pocConfig("CVE-2020-0243", getDevice());
         testConfig.config = new CrashUtils.Config().setProcessPatterns("mediaserver");
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0381.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0381.java
index 2d5237a..695d8dc 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0381.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0381.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,8 +31,8 @@
      * b/150159669
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-09")
     @Test
+    @AsbSecurityTest(cveBugId = 150159669)
     public void testPocCVE_2020_0381() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.media"));
         String inputFiles[] = {"cve_2020_0381.xmf", "cve_2020_0381.info"};
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0383.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0383.java
index 2e1ca03..d2a4ca5 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0383.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0383.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,8 +29,8 @@
      * b/150160279
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-09")
     @Test
+    @AsbSecurityTest(cveBugId = 150160279)
     public void testPocCVE_2020_0383() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.media"));
         String inputFiles[] = {"cve_2020_0383.xmf", "cve_2020_0383.info"};
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0384.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0384.java
index 2f7b5d9..f89ec7d 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0384.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0384.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,8 +31,8 @@
      * b/150159906
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-09")
     @Test
+    @AsbSecurityTest(cveBugId = 150159906)
     public void testPocCVE_2020_0384() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.media"));
         String inputFiles[] = {"cve_2020_0384.xmf", "cve_2020_0384.info"};
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0385.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0385.java
index e7aefeb..19109b8 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0385.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_0385.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,8 +31,8 @@
      * b/150160041
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2020-09")
     @Test
+    @AsbSecurityTest(cveBugId = 150160041)
     public void testPocCVE_2020_0385() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.media"));
         String inputFiles[] = {"cve_2020_0385.xmf", "cve_2020_0385.info"};
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11164.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11164.java
index 4132917..e3f6c26 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11164.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11164.java
@@ -17,7 +17,7 @@
 
 import static org.junit.Assert.*;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
     /**
      * CVE-2020-11164
      */
-    @SecurityTest(minPatchLevel = "2020-10")
     @Test
+    @AsbSecurityTest(cveBugId = 160605595)
     public void testPocCVE_2020_11164() throws Exception {
         String result =
                 AdbUtils.runCommandLine("pm list package com.qualcomm.qti.perfdump", getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11173.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11173.java
index f26c94f..a15335a 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11173.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11173.java
@@ -1,19 +1,18 @@
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 @RunWith(DeviceJUnit4ClassRunner.class)
-@SecurityTest
 public class CVE_2020_11173 extends SecurityTestCase {
 
     /**
      * CVE-2020-11173
      */
-    @SecurityTest(minPatchLevel = "2020-10")
     @Test
+    @AsbSecurityTest(cveBugId = 160605709)
     public void testPocCVE_2020_11173() throws Exception {
         if (containsDriver(getDevice(), "/dev/adsprpc-smd")
                 && containsDriver(getDevice(), "/dev/ion")) {
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11282.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11282.java
index f54bc72..9664abf 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11282.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2020_11282.java
@@ -3,7 +3,7 @@
 import static org.junit.Assert.*;
 import static org.junit.Assume.*;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -15,7 +15,7 @@
      * CVE-2020-11282
      */
     @Test
-    @SecurityTest(minPatchLevel = "2021-02")
+    @AsbSecurityTest(cveBugId = 161374239)
     public void testPocCVE_2020_11282() throws Exception {
         assumeTrue(containsDriver(getDevice(), "/dev/kgsl-3d0"));
         AdbUtils.runPocAssertExitStatusNotVulnerable("CVE-2020-11282", getDevice(), 60);
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0305.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0305.java
index dd2aff8..a6ae4f8 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0305.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0305.java
@@ -19,7 +19,7 @@
 import android.platform.test.annotations.AppModeInstant;
 import android.platform.test.annotations.AppModeFull;
 import android.util.Log;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
@@ -49,8 +49,8 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-09")
     @AppModeFull
+    @AsbSecurityTest(cveBugId = 154015447)
     public void testRunDeviceTestsPassesFull() throws Exception {
         installPackage();
         Assert.assertTrue(runDeviceTests(TEST_PKG, TEST_CLASS, "testClick"));
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0313.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0313.java
index 5248019..2cd9f7a 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0313.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0313.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -28,8 +28,8 @@
      * b/170968514
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2021-01")
     @Test
+    @AsbSecurityTest(cveBugId = 170968514)
     public void testPocCVE_2021_0313() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2021-0313", null, getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0330.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0330.java
index 3d3f4a8..fa4b66b 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0330.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0330.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,8 +29,8 @@
      * b/170732441
      * Vulnerability Behaviour: SIGSEGV in storaged
      */
-    @SecurityTest(minPatchLevel = "2021-02")
     @Test
+    @AsbSecurityTest(cveBugId = 170732441)
     public void testPocCVE_2021_0330() throws Exception {
         AdbUtils.pocConfig testConfig = new AdbUtils.pocConfig("CVE-2021-0330", getDevice());
         testConfig.config = new CrashUtils.Config().setProcessPatterns("storaged");
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0393.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0393.java
index 17e0a43..e2e34ab 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0393.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0393.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -32,8 +32,8 @@
      * b/168041375
      * Vulnerability Behavior: SIGSEGV in pacrunner
      */
-    @SecurityTest(minPatchLevel = "2021-03")
     @Test
+    @AsbSecurityTest(cveBugId = 168041375)
     public void testPocCVE_2021_0393() throws Exception {
         assumeThat(getDevice().getProperty("ro.config.low_ram"), is("false"));
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0396.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0396.java
index 3df46a7..35b36c9 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0396.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0396.java
@@ -18,7 +18,7 @@
 
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import static org.junit.Assert.assertTrue;
@@ -30,8 +30,8 @@
      * b/160610106
      * Vulnerability Behaviour: SIGSEGV in pacrunner
      */
-    @SecurityTest(minPatchLevel = "2021-03")
     @Test
+    @AsbSecurityTest(cveBugId = 160610106)
     public void testPocCVE_2021_0396() throws Exception {
         AdbUtils.runProxyAutoConfig("cve_2021_0396", getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0430.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0430.java
index 935b601..af3503c 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0430.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0430.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -28,8 +28,8 @@
      * b/178725766
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2021-04")
     @Test
+    @AsbSecurityTest(cveBugId = 178725766)
     public void testPocCVE_2021_0430() throws Exception {
         pocPusher.only64();
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2021-0430", null, getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0439.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0439.java
index 25802a0..fb7638c 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0439.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0439.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/174243830
      * Vulnerability Behaviour: SIGSEGV in system_server
      */
-    @SecurityTest(minPatchLevel = "2021-04")
     @Test
+    @AsbSecurityTest(cveBugId = 174243830)
     public void testPocCVE_2021_0439() throws Exception {
         String processPatternStrings[] = {"system_server"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2021-0439", null, getDevice(),
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0473.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0473.java
index d2dc169..1224dc2 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0473.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0473.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/179687208
      * Vulnerability Behavior: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2021-05")
     @Test
+    @AsbSecurityTest(cveBugId = 179687208)
     public void testPocCVE_2021_0473() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         pocPusher.only64();
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0484.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0484.java
index 915f296..7550df0 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0484.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0484.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/173720767
      * Vulnerability Behavior: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2021-05")
     @Test
+    @AsbSecurityTest(cveBugId = 173720767)
     public void testPocCVE_2021_0484() throws Exception {
         AdbUtils.pocConfig testConfig = new AdbUtils.pocConfig("CVE-2021-0484", getDevice());
         testConfig.checkCrash = false;
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0515.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0515.java
index ae1f607..78b58ae 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0515.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0515.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -28,8 +28,8 @@
      * b/167389063
      * Vulnerability Behaviour: SIGSEGV in pacrunner
      */
-    @SecurityTest(minPatchLevel = "2021-06")
     @Test
+    @AsbSecurityTest(cveBugId = 167389063)
     public void testPocCVE_2021_0515() throws Exception {
         AdbUtils.runProxyAutoConfig("cve_2021_0515", getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0523.java b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0523.java
index 905971a..db0a1b2 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0523.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/CVE_2021_0523.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import com.android.tradefed.device.ITestDevice;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
 import java.util.regex.Pattern;
@@ -44,8 +44,8 @@
     /**
      * b/174047492
      */
-    @SecurityTest(minPatchLevel = "2021-06")
     @Test
+    @AsbSecurityTest(cveBugId = 174047492)
     public void testPocCVE_2021_0523() throws Exception {
         final int SLEEP_INTERVAL_MILLISEC = 30 * 1000;
         String apkName = "CVE-2021-0523.apk";
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_04.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_04.java
index b0f0ddc..367c766 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_04.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_04.java
@@ -15,7 +15,7 @@
  */
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,7 +29,7 @@
      * b/26323455
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-04")
+    @AsbSecurityTest(cveBugId = 26323455)
     public void testPocCVE_2016_2419() throws Exception {
         AdbUtils.runCommandLine("logcat -c" , getDevice());
         AdbUtils.runPoc("CVE-2016-2419", getDevice(), 60);
@@ -41,7 +41,7 @@
     *  b/26324307
     */
     @Test
-    @SecurityTest(minPatchLevel = "2016-04")
+    @AsbSecurityTest(cveBugId = 26324307)
     public void testPocCVE_2016_0844() throws Exception {
         AdbUtils.runPoc("CVE-2016-0844", getDevice(), 60);
     }
@@ -50,7 +50,7 @@
      * b/26593930
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-04")
+    @AsbSecurityTest(cveBugId = 26593930)
     public void testPocCVE_2016_2412() throws Exception {
         AdbUtils.runPocAssertNoCrashes("CVE-2016-2412", getDevice(), "system_server");
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_05.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_05.java
index 0895607..f185352 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_05.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_05.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,7 +29,7 @@
      *  b/27555981
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-05")
+    @AsbSecurityTest(cveBugId = 27555981)
     public void testPocCVE_2016_2460() throws Exception {
         AdbUtils.runCommandLine("logcat -c" , getDevice());
         AdbUtils.runPoc("CVE-2016-2460", getDevice(), 60);
@@ -42,7 +42,7 @@
      *  b/27275324
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-05")
+    @AsbSecurityTest(cveBugId = 27275324)
     public void testPocCVE_2015_1805() throws Exception {
       AdbUtils.runPoc("CVE-2015-1805", getDevice(), TIMEOUT_NONDETERMINISTIC);
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_06.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_06.java
index 58c604e..6f7d26b 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_06.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_06.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,7 +29,7 @@
      *  b/27661749
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-06")
+    @AsbSecurityTest(cveBugId = 27661749)
     public void testPocCVE_2016_2482() throws Exception {
         AdbUtils.runPocAssertNoCrashes("CVE-2016-2482", getDevice(), "mediaserver");
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_07.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_07.java
index 835c1cf..d598252 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_07.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_07.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,7 +29,7 @@
      *  b/28740702
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28740702)
     public void testPocCVE_2016_3818() throws Exception {
         AdbUtils.runPoc("CVE-2016-3818", getDevice(), 60);
     }
@@ -38,7 +38,7 @@
      *  b/27890802
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 27890802)
     public void testPocCVE_2016_3746() throws Exception {
         AdbUtils.runPocAssertNoCrashes("CVE-2016-3746", getDevice(), "mediaserver");
     }
@@ -47,7 +47,7 @@
      *  b/28557020
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28557020)
     public void testPocCVE_2014_9803() throws Exception {
         AdbUtils.runPocAssertExitStatusNotVulnerable("CVE-2014-9803", getDevice(), 60);
     }
@@ -56,7 +56,7 @@
      * b/27903498
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 27903498)
     public void testPocCVE_2016_3747() throws Exception {
         AdbUtils.runPocAssertNoCrashes("CVE-2016-3747", getDevice(), "mediaserver");
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_09.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_09.java
index a253619..e3f9906 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_09.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_09.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,7 +29,7 @@
      * b/27773913
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-09")
+    @AsbSecurityTest(cveBugId = 27773913)
     public void testPocCVE_2016_2471() throws Exception {
         AdbUtils.runPoc("CVE-2016-2471", getDevice(), 60);
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_10.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_10.java
index d1550d2..c19333a 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_10.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_10.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      *  b/30204103
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-10")
+    @AsbSecurityTest(cveBugId = 30204103)
     public void testPocCVE_2016_3913() throws Exception {
         AdbUtils.runPocAssertNoCrashes("CVE-2016-3913", getDevice(), "mediaserver");
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_11.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_11.java
index 60a15e6..5012920c 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_11.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_11.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      *  b/29149404
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 72498387)
     public void testPocCVE_2012_6702() throws Exception {
         AdbUtils.runCommandLine("logcat -c", getDevice());
         AdbUtils.runPoc("CVE-2012-6702", getDevice(), 60);
@@ -42,7 +42,7 @@
      *  b/30904789
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 30904789)
     public void testPocCVE_2016_6730() throws Exception {
         if(containsDriver(getDevice(), "/dev/dri/renderD129")) {
             AdbUtils.runPoc("CVE-2016-6730", getDevice(), 60);
@@ -53,7 +53,7 @@
      *  b/30906023
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 30906023)
     public void testPocCVE_2016_6731() throws Exception {
         if(containsDriver(getDevice(), "/dev/dri/renderD129")) {
             AdbUtils.runPoc("CVE-2016-6731", getDevice(), 60);
@@ -64,7 +64,7 @@
      *  b/30906599
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 30906599)
     public void testPocCVE_2016_6732() throws Exception {
         if(containsDriver(getDevice(), "/dev/dri/renderD129")) {
             AdbUtils.runPoc("CVE-2016-6732", getDevice(), 60);
@@ -75,7 +75,7 @@
      *  b/30906694
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 30906694)
     public void testPocCVE_2016_6733() throws Exception {
         if(containsDriver(getDevice(), "/dev/dri/renderD129")) {
             AdbUtils.runPoc("CVE-2016-6733", getDevice(), 60);
@@ -86,7 +86,7 @@
      *  b/30907120
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 30907120)
     public void testPocCVE_2016_6734() throws Exception {
         if(containsDriver(getDevice(), "/dev/dri/renderD129")) {
             AdbUtils.runPoc("CVE-2016-6734", getDevice(), 60);
@@ -97,7 +97,7 @@
      *  b/30907701
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 30907701)
     public void testPocCVE_2016_6735() throws Exception {
         if(containsDriver(getDevice(), "/dev/dri/renderD129")) {
             AdbUtils.runPoc("CVE-2016-6735", getDevice(), 60);
@@ -108,7 +108,7 @@
      *  b/30953284
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 30953284)
     public void testPocCVE_2016_6736() throws Exception {
         if(containsDriver(getDevice(), "/dev/dri/renderD129")) {
             AdbUtils.runPoc("CVE-2016-6736", getDevice(), 60);
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_12.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_12.java
index 4e2031b..392b11a 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc16_12.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc16_12.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,7 +31,7 @@
      *  b/31796940
      */
     @Test
-    @SecurityTest(minPatchLevel = "2016-12")
+    @AsbSecurityTest(cveBugId = 31796940)
     public void testPocCVE_2016_8406() throws Exception {
         assertNotKernelPointer(() -> {
             String cmd = "ls /sys/kernel/slab 2>/dev/null | grep nf_conntrack";
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_01.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_01.java
index a7ae370..0773716 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_01.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_01.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,7 +31,7 @@
      *  b/31797770
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 31797770)
     public void testPocCVE_2016_8425() throws Exception {
         if(containsDriver(getDevice(), "/dev/nvhost-vic")) {
             AdbUtils.runPoc("CVE-2016-8425", getDevice(), 60);
@@ -42,7 +42,7 @@
      *  b/31799206
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 31799206)
     public void testPocCVE_2016_8426() throws Exception {
         if(containsDriver(getDevice(), "/dev/nvhost-gpu")) {
             AdbUtils.runPoc("CVE-2016-8426", getDevice(), 60);
@@ -53,7 +53,7 @@
      *  b/31799885
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 31799885)
     public void testPocCVE_2016_8427() throws Exception {
         if(containsDriver(getDevice(), "/dev/nvhost-gpu") ||
               containsDriver(getDevice(), "/dev/nvhost-dbg-gpu")) {
@@ -65,7 +65,7 @@
      *  b/31993456
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 31993456)
     public void testPocCVE_2016_8428() throws Exception {
         if(containsDriver(getDevice(), "/dev/nvmap")) {
             AdbUtils.runPoc("CVE-2016-8428", getDevice(), 60);
@@ -76,7 +76,7 @@
      *  b/32160775
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32160775)
     public void testPocCVE_2016_8429() throws Exception {
         if(containsDriver(getDevice(), "/dev/nvmap")) {
             AdbUtils.runPoc("CVE-2016-8429", getDevice(), 60);
@@ -87,7 +87,7 @@
      *  b/32225180
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 31801045)
     public void testPocCVE_2016_8430() throws Exception {
         if(containsDriver(getDevice(), "/dev/nvhost-vic")) {
             AdbUtils.runPoc("CVE-2016-8430", getDevice(), 60);
@@ -98,7 +98,7 @@
      *  b/32402179
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32402179)
     public void testPocCVE_2016_8431() throws Exception {
         if(containsDriver(getDevice(), "/dev/dri/renderD129")) {
             AdbUtils.runPoc("CVE-2016-8431", getDevice(), 60);
@@ -109,7 +109,7 @@
      *  b/32447738
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32447738)
     public void testPocCVE_2016_8432() throws Exception {
         if(containsDriver(getDevice(), "/dev/dri/renderD129")) {
             AdbUtils.runPoc("CVE-2016-8432", getDevice(), 60);
@@ -120,7 +120,7 @@
      *  b/32125137
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32125137)
     public void testPocCVE_2016_8434() throws Exception {
         if(containsDriver(getDevice(), "/dev/kgsl-3d0")) {
             // This poc is very verbose so we ignore the output to avoid using a lot of memory.
@@ -132,7 +132,7 @@
      *  b/31668540
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 31668540)
     public void testPocCVE_2016_8460() throws Exception {
         if(containsDriver(getDevice(), "/dev/nvmap")) {
             String result = AdbUtils.runPoc("CVE-2016-8460", getDevice(), 60);
@@ -144,7 +144,7 @@
      *  b/32255299
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32255299)
     public void testPocCVE_2017_0386() throws Exception {
         AdbUtils.runPocAssertExitStatusNotVulnerable("CVE-2017-0386", getDevice(), 60);
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_02.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_02.java
index 3f94a62..1fd4bf9 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_02.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_02.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,7 +29,7 @@
      *  b/32799236
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-02")
+    @AsbSecurityTest(cveBugId = 32799236)
     public void testPocCVE_2017_0426() throws Exception {
         AdbUtils.runCommandLine("logcat -c", getDevice());
         AdbUtils.runPoc("CVE-2017-0426", getDevice(), 60);
@@ -41,7 +41,7 @@
      *  b/32706020
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-02")
+    @AsbSecurityTest(cveBugId = 32706020)
     public void testPocCVE_2017_0415() throws Exception {
         AdbUtils.runPocAssertNoCrashes("CVE-2017-0415", getDevice(), "mediaserver");
     }
@@ -50,7 +50,7 @@
      *  b/31799863
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-02")
+    @AsbSecurityTest(cveBugId = 31799863)
     public void testPocCVE_2016_8482() throws Exception {
         if(containsDriver(getDevice(), "/dev/nvmap")) {
             AdbUtils.runPoc("CVE-2016-8482", getDevice(), 60);
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_03.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_03.java
index 3dacc96..50093b8 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_03.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_03.java
@@ -18,7 +18,7 @@
 
 import java.util.concurrent.Callable;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -32,7 +32,7 @@
      *  b/31824853
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 31824853)
     public void testPocCVE_2016_8479() throws Exception {
         if (containsDriver(getDevice(), "/dev/kgsl-3d0")) {
              AdbUtils.runPocNoOutput("CVE-2016-8479", getDevice(), TIMEOUT_NONDETERMINISTIC);
@@ -46,7 +46,7 @@
      *  b/33940449
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33940449)
     public void testPocCVE_2017_0508() throws Exception {
         if (containsDriver(getDevice(), "/dev/ion") &&
             containsDriver(getDevice(), "/dev/dri/renderD129")) {
@@ -61,7 +61,7 @@
      *  b/33899363
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33899363)
     public void testPocCVE_2017_0333() throws Exception {
         if (containsDriver(getDevice(), "/dev/dri/renderD128")) {
             AdbUtils.runPocNoOutput("CVE-2017-0333", getDevice(), 30);
@@ -74,7 +74,7 @@
      *  b/33245849
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33245849)
     public void testPocCVE_2017_0334() throws Exception {
         if (containsDriver(getDevice(), "/dev/dri/renderD129")) {
             String out = AdbUtils.runPoc("CVE-2017-0334", getDevice());
@@ -104,7 +104,7 @@
      * b/32707507
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 32707507)
     public void testPocCVE_2017_0479() throws Exception {
         AdbUtils.runPocAssertNoCrashes("CVE-2017-0479", getDevice(), "audioserver");
     }
@@ -113,7 +113,7 @@
      *  b/33178389
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33178389)
     public void testPocCVE_2017_0490() throws Exception {
         String bootCountBefore =
                 AdbUtils.runCommandLine("settings get global boot_count", getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_04.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_04.java
index f5c8fe3..36f921c 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_04.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_04.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/32342065
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 32342065)
     public void testPocCVE_2017_0553() throws Exception {
       // Error code of 139 represents segmentation fault
       getDevice().executeShellCommand("chmod +x /data/local/tmp/CVE-2017-0553");
@@ -42,7 +42,7 @@
      * b/72460737
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 34469585)
     public void testPocCVE_2014_3145() throws Exception {
       assertFalse("VULNERABLE DEVICE DETECTED",
                   AdbUtils.runPocCheckExitCode("CVE-2014-3145", getDevice(), 60));
@@ -52,7 +52,7 @@
      * b/32813456
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 32813456)
     public void testPocCVE_2016_10229() throws Exception {
       String out = AdbUtils.runPoc("CVE-2016-10229", getDevice());
       assertNotMatchesMultiLine("OVERWRITE", out);
@@ -62,7 +62,7 @@
      * b/33621647
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 33621647)
     public void testPocCVE_2017_0477() throws Exception {
         AdbUtils.pushResource("/CVE-2017-0477.gif", "/data/local/tmp/CVE-2017-0477.gif",
                 getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_05.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_05.java
index 797e58d..fcedfb9 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_05.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_05.java
@@ -19,7 +19,7 @@
 import java.util.Arrays;
 import java.util.concurrent.Callable;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -33,7 +33,7 @@
      * CVE-2016-5862
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-05")
+    @AsbSecurityTest(cveBugId = 35399803)
     public void testPocCVE_2016_5862() throws Exception {
         if (containsDriver(getDevice(), "/dev/snd/controlC0")) {
             AdbUtils.runPocNoOutput("CVE-2016-5862",getDevice(), 60);
@@ -44,7 +44,7 @@
      * CVE-2016-5867
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-05")
+    @AsbSecurityTest(cveBugId = 35400602)
     public void testPocCVE_2016_5867() throws Exception {
         if (containsDriver(getDevice(), "/dev/snd/controlC0")) {
             AdbUtils.runPocAssertExitStatusNotVulnerable("CVE-2016-5867", getDevice(), 60);
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_06.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_06.java
index 1f7e5e9..a3609a24 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_06.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_06.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/36392138
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 36392138)
     public void testPocCVE_2017_0647() throws Exception {
         AdbUtils.pushResource("/CVE-2017-0647.zip", "/data/local/tmp/CVE-2017-0647.zip",
                 getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_07.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_07.java
index d3a086a..f9309e5 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_07.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_07.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/35443725
      **/
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 35443725)
     public void testPocCVE_2016_2109() throws Exception {
       assertFalse("Overallocation detected!",
           AdbUtils.runPocCheckExitCode("CVE-2016-2109",
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_09.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_09.java
index de7381e..dbb50bd 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_09.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_09.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/63852675
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 63852675)
     public void testPocCve_2017_6983() throws Exception {
       // Error code of 139 represents segmentation fault
       assertFalse("Segfault found",
@@ -64,7 +64,7 @@
      * b/36590192
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 38195738)
     public void testPocBug_38195738() throws Exception {
         if(containsDriver(getDevice(), "/dev/kgsl-3d0")) {
             AdbUtils.runPocNoOutput("Bug-38195738", getDevice(), 60);
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_11.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_11.java
index e592d0f..1686561 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_11.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_11.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/36075131
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-11")
+    @AsbSecurityTest(cveBugId = 36075131)
     public void testPocCVE_2017_0859() throws Exception {
         AdbUtils.runCommandLine("logcat -c", getDevice());
         AdbUtils.pushResource("/cve_2017_0859.mp4", "/sdcard/cve_2017_0859.mp4", getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_12.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_12.java
index 71607c8..160ec27 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc17_12.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc17_12.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/38045794
      */
     @Test
-    @SecurityTest(minPatchLevel = "2017-12")
+    @AsbSecurityTest(cveBugId = 38045794)
     public void testPocCVE_2017_6262() throws Exception {
         if(containsDriver(getDevice(),"/dev/dri/renderD128")) {
             AdbUtils.runPocNoOutput("CVE-2017-6262", getDevice(), TIMEOUT_NONDETERMINISTIC);
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_02.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_02.java
index 377e219..1730fef 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_02.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_02.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/68953950
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-02")
+    @AsbSecurityTest(cveBugId = 68953950)
     public void testPocCVE_2017_13232() throws Exception {
         AdbUtils.runCommandLine("logcat -c" , getDevice());
         AdbUtils.runPocNoOutput("CVE-2017-13232", getDevice(), 60);
@@ -44,7 +44,7 @@
      *  b/65853158
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-02")
+    @AsbSecurityTest(cveBugId = 65853158)
     public void testPocCVE_2017_13273() throws Exception {
         AdbUtils.runCommandLine("dmesg -c" ,getDevice());
         AdbUtils.runCommandLine("setenforce 0",getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_03.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_03.java
index d5e2b90..0899f28 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_03.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_03.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/71389378
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-03")
+    @AsbSecurityTest(cveBugId = 71389378)
     public void testPocCVE_2017_13253() throws Exception {
         AdbUtils.runPocAssertExitStatusNotVulnerable("CVE-2017-13253", getDevice(), 300);
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_04.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_04.java
index dc41d7c..17ada80 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_04.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_04.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,7 +31,7 @@
      * a race condition
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-04")
+    @AsbSecurityTest(cveBugId = 69683251)
     public void testPocCVE_2017_13286() throws Exception {
         LaunchSomeWhere.launchSomeWhere("CVE_2017_13286", getDevice());
     }
@@ -41,7 +41,7 @@
      * Does not require root but must be a hostside test to avoid a race condition
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-04")
+    @AsbSecurityTest(cveBugId = 69634768)
     public void testPocCVE_2017_13288() throws Exception {
         LaunchSomeWhere.launchSomeWhere("CVE_2017_13288", getDevice());
     }
@@ -51,7 +51,7 @@
      * Does not require root but must be a hostside test to avoid a race condition
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-04")
+    @AsbSecurityTest(cveBugId = 70398564)
     public void testPocCVE_2017_13289() throws Exception {
         LaunchSomeWhere.launchSomeWhere("CVE_2017_13289", getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_05.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_05.java
index e3128f1..320f997 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_05.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_05.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,7 +31,7 @@
      * condition
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-05")
+    @AsbSecurityTest(cveBugId = 70721937)
     public void testPocCVE_2017_13315() throws Exception {
         LaunchSomeWhere.launchSomeWhere("CVE_2017_13315", getDevice());
     }
@@ -41,7 +41,7 @@
      * Does not require root but must be a hostside test to avoid a race condition
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-05")
+    @AsbSecurityTest(cveBugId = 73085795)
     public void testPocCVE_2017_13312() throws Exception {
         LaunchSomeWhere.launchSomeWhere("CVE_2017_13312", getDevice());
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_06.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_06.java
index c0aab3b..63cdf56 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_06.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_06.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * CVE-2018-5884
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-06")
+    @AsbSecurityTest(cveBugId = 74235510)
     public void testPocCVE_2018_5884() throws Exception {
         String wfd_service = AdbUtils.runCommandLine(
                 "pm list package com.qualcomm.wfd.service", getDevice());
@@ -46,7 +46,7 @@
      *  b/73172817
      */
     @Test
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 73172817)
     public void testPocCVE_2018_9344() throws Exception {
         AdbUtils.runPocAssertNoCrashes("CVE-2018-9344", getDevice(),
                 "android\\.hardware\\.cas@\\d+?\\.\\d+?-service");
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_07.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_07.java
index 64929d9..1147658 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_07.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_07.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
     * b/76221123
     */
     @Test
-    @SecurityTest(minPatchLevel = "2018-07")
+    @AsbSecurityTest(cveBugId = 76221123)
     public void testPocCVE_2018_9424() throws Exception {
         AdbUtils.runPocAssertNoCrashes(
             "CVE-2018-9424", getDevice(), "android\\.hardware\\.drm@\\d\\.\\d-service");
@@ -40,7 +40,7 @@
      * CVE-2017-18275
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-07")
+    @AsbSecurityTest(cveBugId = 78242049)
     public void testPocCVE_2017_18275() throws Exception {
       String command =
           "am startservice "
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_10.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_10.java
index ef5b726..3d326a5 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_10.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_10.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      *  b/111641492
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-10")
+    @AsbSecurityTest(cveBugId = 111641492)
     public void testPocCVE_2018_9515() throws Exception {
         AdbUtils.runCommandLine("rm /sdcard/Android/data/CVE-2018-9515", getDevice());
         AdbUtils.runCommandLine("mkdir /sdcard/Android/data/CVE-2018-9515", getDevice());
@@ -47,7 +47,7 @@
      *  b/111274046
      */
     @Test
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 111274046)
     public void testPocCVE_2018_9490() throws Exception {
         int code = AdbUtils.runProxyAutoConfig("CVE-2018-9490", getDevice());
         assertTrue(code != 139); // 128 + signal 11
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_11.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_11.java
index 0abe1bb..e6ca50b 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc18_11.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc18_11.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      *  b/113027383
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-11")
+    @AsbSecurityTest(cveBugId = 113027383)
     public void testPocCVE_2018_9539() throws Exception {
         AdbUtils.runPocAssertExitStatusNotVulnerable("CVE-2018-9539", getDevice(), 300);
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_03.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_03.java
index 5977b4a..1e56873 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_03.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_03.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,7 +29,7 @@
      * b/115739809
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-03")
+    @AsbSecurityTest(cveBugId = 115739809)
     public void testPocBug_115739809() throws Exception {
         assertFalse(AdbUtils.runPocCheckExitCode("Bug-115739809", getDevice(), 30));
     }
@@ -38,7 +38,7 @@
      * b/116855682
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-03")
+    @AsbSecurityTest(cveBugId = 116855682)
     public void testPocCVE_2019_2025() throws Exception {
         AdbUtils.runPocNoOutput("CVE-2019-2025", getDevice(), 300);
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_05.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_05.java
index fd3b638..c0756d4 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_05.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_05.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/129556464
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-05")
+    @AsbSecurityTest(cveBugId = 117556606)
     public void testPocCVE_2019_2052() throws Exception {
         int code = AdbUtils.runProxyAutoConfig("CVE-2019-2052", getDevice());
         assertTrue(code != 139); // 128 + signal 11
@@ -40,7 +40,7 @@
      * b/129556111
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-05")
+    @AsbSecurityTest(cveBugId = 117554758)
     public void testPocCVE_2019_2045() throws Exception {
         int code = AdbUtils.runProxyAutoConfig("CVE-2019-2045", getDevice());
         assertTrue(code != 139); // 128 + signal 11
@@ -50,7 +50,7 @@
      * b/129556718
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-05")
+    @AsbSecurityTest(cveBugId = 117607414)
     public void testPocCVE_2019_2047() throws Exception {
         int code = AdbUtils.runProxyAutoConfig("CVE-2019-2047", getDevice());
         assertTrue(code != 139); // 128 + signal 11
@@ -60,7 +60,7 @@
      * CVE-2019-2257
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-05")
+    @AsbSecurityTest(cveBugId = 112303441)
     public void testPocCVE_2019_2257() throws Exception {
         String result = AdbUtils.runCommandLine(
                                 "dumpsys package com.qualcomm.qti.telephonyservice", getDevice());
@@ -72,7 +72,7 @@
      * b/117555811
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-05")
+    @AsbSecurityTest(cveBugId = 117555811)
     public void testPocCVE_2019_2051() throws Exception {
         int code = AdbUtils.runProxyAutoConfig("CVE-2019-2051", getDevice());
         assertTrue(code != 139); // 128 + signal 11
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_06.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_06.java
index 67986fe..c2f0f08 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_06.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_06.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/129556445
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-06")
+    @AsbSecurityTest(cveBugId = 117606285)
     public void testPocCVE_2019_2097() throws Exception {
         int code = AdbUtils.runProxyAutoConfig("CVE-2019-2097", getDevice());
         assertTrue(code != 139); // 128 + signal 11
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_07.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_07.java
index 8ce2804..71cb84d 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_07.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_07.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -29,7 +29,7 @@
      * Bug-137878930
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-07")
+    @AsbSecurityTest(cveBugId = 137878930)
     public void testPocBug_137878930() throws Exception {
         assertFalse("Heap use after free encountered",
             AdbUtils.runPocCheckExitCode("Bug-137878930", getDevice(), 300));
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_08.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_08.java
index c2ce29d..809d527 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_08.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_08.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/129556445
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-08")
+    @AsbSecurityTest(cveBugId = 132073833)
     public void testPocCVE_2019_2130() throws Exception {
         int code = AdbUtils.runProxyAutoConfig("CVE-2019-2130", getDevice());
         assertTrue(code != 139); // 128 + signal 11
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_11.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_11.java
index a79e2b1..e8cfc54 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc19_11.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc19_11.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * b/138441919
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-11")
+    @AsbSecurityTest(cveBugId = 138441919)
     public void testPocBug_138441919() throws Exception {
         int code = AdbUtils.runProxyAutoConfig("bug_138441919", getDevice());
         assertTrue(code != 139); // 128 + signal 11
@@ -40,7 +40,7 @@
      * b/139806216
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-11")
+    @AsbSecurityTest(cveBugId = 139806216)
     public void testPocBug_139806216() throws Exception {
         int code = AdbUtils.runProxyAutoConfig("bug_139806216", getDevice());
         assertTrue(code != 139 && code != 135); // 128 + signal 11, 128 + signal 7
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc20_01.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc20_01.java
index 3c6d4b3..5a8f4d7 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc20_01.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc20_01.java
@@ -1,6 +1,6 @@
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -13,7 +13,7 @@
      * CVE-2019-14002
      */
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271274)
     public void testPocCVE_2019_14002() throws Exception {
         String result =
                 AdbUtils.runCommandLine(
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc20_03.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc20_03.java
index ea944ab1..5b9bb22 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc20_03.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc20_03.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,7 +31,7 @@
      * b/152874234
      */
     @Test
-    @SecurityTest(minPatchLevel = "2020-03")
+    @AsbSecurityTest(cveBugId = 147882143)
     public void testPocCVE_2020_0069() throws Exception {
         if(containsDriver(getDevice(), "/dev/mtk_cmdq") ||
            containsDriver(getDevice(), "/proc/mtk_cmdq") ||
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc20_06.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc20_06.java
index bd8f3cd..6ed83c1 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc20_06.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc20_06.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -30,7 +30,7 @@
      * CVE-2020-3635
      */
     @Test
-    @SecurityTest(minPatchLevel = "2020-06")
+    @AsbSecurityTest(cveBugId = 148817146)
     public void testPocCVE_2020_3635() throws Exception {
         String isApplicable = AdbUtils.runCommandLine("service list", getDevice());
         if (isApplicable.contains("com.qualcomm.qti.IPerfManager")) {
@@ -47,7 +47,7 @@
      * CVE-2020-3626
      */
     @Test
-    @SecurityTest(minPatchLevel = "2020-06")
+    @AsbSecurityTest(cveBugId = 150697952)
     public void testPocCVE_2020_3626() throws Exception {
         String isApplicable =
                 AdbUtils.runCommandLine("pm list package com.qualcomm.qti.lpa", getDevice());
@@ -62,7 +62,7 @@
      * CVE-2020-3628
      */
     @Test
-    @SecurityTest(minPatchLevel = "2020-06")
+    @AsbSecurityTest(cveBugId = 150695508)
     public void testPocCVE_2020_3628() throws Exception {
         String result = AdbUtils.runCommandLine(
                 "pm list package com.qualcomm.qti.logkit",getDevice());
@@ -73,7 +73,7 @@
      * CVE-2020-3676
      */
     @Test
-    @SecurityTest(minPatchLevel = "2020-06")
+    @AsbSecurityTest(cveBugId = 152310294)
     public void testPocCVE_2020_3676() throws Exception {
         String isApplicable = AdbUtils.runCommandLine("service list", getDevice());
         if (isApplicable.contains("com.qualcomm.qti.IPerfManager")) {
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc20_11.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc20_11.java
index 627f098..bd2a761 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc20_11.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc20_11.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,7 +31,7 @@
      * b/162741784
      */
     @Test
-    @SecurityTest(minPatchLevel = "2020-11")
+    @AsbSecurityTest(cveBugId = 162741784)
     public void testPocCVE_2020_0437() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.cellbroadcast"));
         AdbUtils.runCommandLine("logcat -c", getDevice());
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/Poc21_01.java b/hostsidetests/securitybulletin/src/android/security/cts/Poc21_01.java
index 711949a..e555700 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/Poc21_01.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/Poc21_01.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -31,7 +31,7 @@
      * b/168211968
      */
     @Test
-    @SecurityTest(minPatchLevel = "2021-01")
+    @AsbSecurityTest(cveBugId = 168211968)
     public void testPocCVE_2021_0318() throws Exception {
         AdbUtils.runPocAssertExitStatusNotVulnerable("CVE-2021-0318", getDevice(), 300);
     }
diff --git a/hostsidetests/securitybulletin/src/android/security/cts/TestMedia.java b/hostsidetests/securitybulletin/src/android/security/cts/TestMedia.java
index db5b4ca..19ec7f7 100644
--- a/hostsidetests/securitybulletin/src/android/security/cts/TestMedia.java
+++ b/hostsidetests/securitybulletin/src/android/security/cts/TestMedia.java
@@ -20,7 +20,7 @@
 import com.android.tradefed.log.LogUtil.CLog;
 import com.android.compatibility.common.util.CrashUtils;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
@@ -52,8 +52,8 @@
      * b/17769851
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2015-12")
     @Test
+    @AsbSecurityTest(cveBugId = 17769851)
     public void testPocCVE_2015_6616() throws Exception {
         pocPusher.only64();
         String inputFiles[] = {"cve_2015_6616.mp4"};
@@ -65,8 +65,8 @@
      * b/37239013
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2017-07")
     @Test
+    @AsbSecurityTest(cveBugId = 37239013)
     public void testPocCVE_2017_0697() throws Exception {
         String inputFiles[] = {"cve_2017_0697.mp4"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2017-0697",
@@ -77,8 +77,8 @@
      * b/127702368
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2019-08")
     @Test
+    @AsbSecurityTest(cveBugId = 127702368)
     public void testPocCVE_2019_2126() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2126", null, getDevice());
     }
@@ -87,8 +87,8 @@
      * b/66969349
      * Vulnerability Behaviour: SIGSEGV in media.codec
      */
-    @SecurityTest(minPatchLevel = "2018-01")
     @Test
+    @AsbSecurityTest(cveBugId = 66969349)
     public void testPocCVE_2017_13180() throws Exception {
         String processPatternStrings[] = {"media\\.codec", "omx@\\d+?\\.\\d+?-service"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2017-13180", null, getDevice(),
@@ -99,8 +99,8 @@
      * b/111210196
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2019-12")
     @Test
+    @AsbSecurityTest(cveBugId = 111210196)
     public void testPocCVE_2019_2228() throws Exception {
         String inputFiles[] = {"cve_2019_2228_ipp.mp4"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2228",
@@ -111,8 +111,8 @@
      * b/157650336
      * Vulnerability Behaviour: SIGSEGV in self / EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2020-11")
     @Test
+    @AsbSecurityTest(cveBugId = 157650336)
     public void testPocCVE_2020_0450() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2020-0450", null, getDevice());
@@ -122,8 +122,8 @@
      * b/156997193
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2020-11")
     @Test
+    @AsbSecurityTest(cveBugId = 156997193)
     public void testPocCVE_2020_0409() throws Exception {
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
         String binaryName = "CVE-2020-0409";
@@ -137,8 +137,8 @@
      * b/156999009
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2020-10")
     @Test
+    @AsbSecurityTest(cveBugId = 156999009)
     public void testPocCVE_2020_0408() throws Exception {
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
         String binaryName = "CVE-2020-0408";
@@ -152,8 +152,8 @@
      * b/161894517
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2020-10")
     @Test
+    @AsbSecurityTest(cveBugId = 161894517)
     public void testPocCVE_2020_0421() throws Exception {
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
         String binaryName = "CVE-2020-0421";
@@ -167,8 +167,8 @@
      * b/132082342
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-08")
     @Test
+    @AsbSecurityTest(cveBugId = 132082342)
     public void testPocCVE_2019_2133() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2133", null, getDevice());
@@ -178,8 +178,8 @@
      * b/132083376
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-08")
     @Test
+    @AsbSecurityTest(cveBugId = 132083376)
     public void testPocCVE_2019_2134() throws Exception {
         AdbUtils.assumeHasNfc(getDevice());
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-2134", null, getDevice());
@@ -189,8 +189,8 @@
      * b/31470908
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2017-04")
     @Test
+    @AsbSecurityTest(cveBugId = 31470908)
     public void testPocCVE_2016_10244() throws Exception {
         String inputFiles[] = {"cve_2016_10244"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2016-10244",
@@ -201,8 +201,8 @@
      * b/27793367
      * Vulnerability Behaviour: SIGSEGV in media.codec
      */
-    @SecurityTest(minPatchLevel = "2016-06")
     @Test
+    @AsbSecurityTest(cveBugId = 27793367)
     public void testPocCVE_2016_2485() throws Exception {
         String inputFiles[] = {"cve_2016_2485.raw"};
         String processPatternStrings[] = {"media\\.codec", "omx@\\d+?\\.\\d+?-service"};
@@ -215,8 +215,8 @@
      * b/141890807
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2020-01")
     @Test
+    @AsbSecurityTest(cveBugId = 141890807)
     public void testPocCVE_2020_0007() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2020-0007", null, getDevice());
     }
@@ -225,8 +225,8 @@
      * b/118372692
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2019-02")
     @Test
+    @AsbSecurityTest(cveBugId = 118372692)
     public void testPocCVE_2019_1988() throws Exception {
         assumeThat(getDevice().getProperty("ro.config.low_ram"), not(is("true")));
         String inputFiles[] = {"cve_2019_1988.mp4"};
@@ -238,8 +238,8 @@
      * b/63522430
      * Vulnerability Behaviour: SIGSEGV in media.codec
      */
-    @SecurityTest(minPatchLevel = "2018-01")
     @Test
+    @AsbSecurityTest(cveBugId = 63522430)
     public void testPocCVE_2017_0817() throws Exception {
         String processPatternStrings[] = {"media\\.codec", "omx@\\d+?\\.\\d+?-service"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2017-0817", null, getDevice(),
@@ -250,8 +250,8 @@
      * b/36104177
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2017-09")
     @Test
+    @AsbSecurityTest(cveBugId = 36104177)
     public void testPocCVE_2017_0670() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2017-0670", null, getDevice());
     }
@@ -260,8 +260,8 @@
      * b/68159767
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2018-02")
     @Test
+    @AsbSecurityTest(cveBugId = 68159767)
     public void testPocCVE_2017_13234() throws Exception {
         String inputFiles[] = { "cve_2017_13234.xmf" };
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2017-13234",
@@ -272,8 +272,8 @@
      * b/74122779
      * Vulnerability Behaviour: SIGABRT in audioserver
      */
-    @SecurityTest(minPatchLevel = "2018-07")
     @Test
+    @AsbSecurityTest(cveBugId = 74122779)
     public void testPocCVE_2018_9428() throws Exception {
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
         AdbUtils.pocConfig testConfig = new AdbUtils.pocConfig("CVE-2018-9428", getDevice());
@@ -283,8 +283,8 @@
      * b/64340921
      * Vulnerability Behaviour: SIGABRT in audioserver
      */
-    @SecurityTest(minPatchLevel = "2018-02")
     @Test
+    @AsbSecurityTest(cveBugId = 64340921)
     public void testPocCVE_2017_0837() throws Exception {
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
         AdbUtils.pocConfig testConfig = new AdbUtils.pocConfig("CVE-2017-0837", getDevice());
@@ -300,7 +300,7 @@
      * Vulnerability Behaviour: SIGABRT by -fstack-protector
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-09")
+    @AsbSecurityTest(cveBugId = 62151041)
     public void testPocCVE_2018_9466_CVE_2017_9047() throws Exception {
         String binaryName = "CVE-2018-9466-CVE-2017-9047";
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
@@ -314,7 +314,7 @@
      * Vulnerability Behaviour: SIGABRT by -fstack-protector
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-09")
+    @AsbSecurityTest(cveBugId = 62151041)
     public void testPocCVE_2018_9466_CVE_2017_9048() throws Exception {
         String binaryName = "CVE-2018-9466-CVE-2017-9048";
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
@@ -328,7 +328,7 @@
      * Vulnerability Behaviour: SIGSEGV in self
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-09")
+    @AsbSecurityTest(cveBugId = 62151041)
     public void testPocCVE_2018_9466_CVE_2017_9049() throws Exception {
         String binaryName = "CVE-2018-9466-CVE-2017-9049";
         String inputFiles[] = {"cve_2018_9466_cve_2017_9049.xml"};
@@ -346,7 +346,7 @@
      * Vulnerability Behaviour: SIGSEGV in self
      */
     @Test
-    @SecurityTest(minPatchLevel = "2018-09")
+    @AsbSecurityTest(cveBugId = 62151041)
     public void testPocCVE_2018_9466_CVE_2017_9050() throws Exception {
         String binaryName = "CVE-2018-9466-CVE-2017-9049";
         String inputFiles[] = {"cve_2018_9466_cve_2017_9050.xml"};
@@ -364,8 +364,8 @@
      * b/23247055
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2015-10")
     @Test
+    @AsbSecurityTest(cveBugId = 20674086)
     public void testPocCVE_2015_3873() throws Exception {
         String inputFiles[] = {"cve_2015_3873.mp4"};
         String binaryName = "CVE-2015-3873";
@@ -383,8 +383,8 @@
      * b/62948670
      * Vulnerability Behaviour: SIGSEGV in media.codec
      */
-    @SecurityTest(minPatchLevel = "2017-11")
     @Test
+    @AsbSecurityTest(cveBugId = 62948670)
     public void testPocCVE_2017_0840() throws Exception {
         pocPusher.only32();
         String processPatternStrings[] = {"media\\.codec", "omx@\\d+?\\.\\d+?-service"};
@@ -396,8 +396,8 @@
      * b/69065651
      * Vulnerability Behaviour: SIGSEGV in media.codec
      */
-    @SecurityTest(minPatchLevel = "2018-02")
     @Test
+    @AsbSecurityTest(cveBugId = 69065651)
     public void testPocCVE_2017_13241() throws Exception {
         pocPusher.only32();
         String processPatternStrings[] = {"media\\.codec", "omx@\\d+?\\.\\d+?-service"};
@@ -409,8 +409,8 @@
      * b/111603051
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2018-10")
     @Test
+    @AsbSecurityTest(cveBugId = 111603051)
     public void testPocCVE_2018_9491() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2018-9491", null, getDevice());
     }
@@ -419,8 +419,8 @@
      * b/79662501
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2018-09")
     @Test
+    @AsbSecurityTest(cveBugId = 79662501)
     public void testPocCVE_2018_9472() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2018-9472", null, getDevice());
     }
@@ -429,8 +429,8 @@
      * b/36554207
      * Vulnerability Behaviour: SIGSEGV in self
      **/
-    @SecurityTest(minPatchLevel = "2017-06")
     @Test
+    @AsbSecurityTest(cveBugId = 36554207)
     public void testPocCVE_2016_4658() throws Exception {
         String inputFiles[] = {"cve_2016_4658.xml"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2016-4658",
@@ -442,8 +442,8 @@
      * b/36554209
      * Vulnerability Behaviour: SIGSEGV in self
      **/
-    @SecurityTest(minPatchLevel = "2017-06")
     @Test
+    @AsbSecurityTest(cveBugId = 36554209)
     public void testPocCVE_2016_5131() throws Exception {
         String inputFiles[] = {"cve_2016_5131.xml"};
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2016-5131",
@@ -455,8 +455,8 @@
      * b/62800140
      * Vulnerability Behaviour: SIGSEGV in self
      */
-    @SecurityTest(minPatchLevel = "2017-10")
     @Test
+    @AsbSecurityTest(cveBugId = 62800140)
     public void testPocCVE_2017_0814() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2017-0814", null, getDevice());
     }
@@ -465,8 +465,8 @@
      * b/65540999
      * Vulnerability Behaviour: Assert failure
      **/
-    @SecurityTest(minPatchLevel = "2017-11")
     @Test
+    @AsbSecurityTest(cveBugId = 65540999)
     public void testPocCVE_2017_0847() throws Exception {
         String cmdOut = AdbUtils.runCommandLine("ps -eo cmd,gid | grep mediametrics", getDevice());
         if (cmdOut.length() > 0) {
@@ -483,8 +483,8 @@
      * b/112005441
      * Vulnerability Behaviour: EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2019-09")
     @Test
+    @AsbSecurityTest(cveBugId = 112005441)
     public void testPocCVE_2019_9313() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2019-9313", null, getDevice());
     }
@@ -493,8 +493,8 @@
      * b/112159345
      * Vulnerability Behaviour: SIGSEGV in self
      **/
-    @SecurityTest(minPatchLevel = "2018-01")
     @Test
+    @AsbSecurityTest(cveBugId = 112159345)
     public void testPocCVE_2018_9527() throws Exception {
         AdbUtils.runPocAssertNoCrashesNotVulnerable("CVE-2018-9527", null, getDevice());
     }
@@ -508,8 +508,8 @@
      * b/158762825
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2020-11")
     @Test
+    @AsbSecurityTest(cveBugId = 158762825)
     public void testPocCVE_2020_0451() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.media.swcodec"));
         String inputFiles[] = {"cve_2020_0451.aac"};
@@ -529,8 +529,8 @@
      * Vulnerability Behaviour: SIGSEGV in self (Android P),
      *                          SIGABRT in self (Android Q onward)
      */
-    @SecurityTest(minPatchLevel = "2018-11")
     @Test
+    @AsbSecurityTest(cveBugId = 112891564)
     public void testPocCVE_2018_9537() throws Exception {
         String binaryName = "CVE-2018-9537";
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
@@ -553,8 +553,8 @@
      * b/143464314
      * Vulnerability Behaviour: SIGSEGV in self / EXIT_VULNERABLE (113)
      */
-    @SecurityTest(minPatchLevel = "2020-10")
     @Test
+    @AsbSecurityTest(cveBugId = 143464314)
     public void testPocCVE_2020_0213() throws Exception {
         assumeFalse(moduleIsPlayManaged("com.google.android.media.swcodec"));
         String inputFiles[] = {"cve_2020_0213.hevc", "cve_2020_0213_info.txt"};
@@ -567,8 +567,8 @@
      * b/166268541
      * Vulnerability Behaviour: SIGSEGV in media.swcodec
      */
-    @SecurityTest(minPatchLevel = "2020-12")
     @Test
+    @AsbSecurityTest(cveBugId = 166268541)
     public void testPocCVE_2020_0470() throws Exception {
         String inputFiles[] = {"cve_2020_0470.mp4"};
         String processPatternStrings[] = {"media\\.swcodec"};
@@ -581,8 +581,8 @@
      * b/120426980
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2019-09")
     @Test
+    @AsbSecurityTest(cveBugId = 120426980)
     public void testPocCVE_2019_9362() throws Exception {
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
         String binaryName = "CVE-2019-9362";
@@ -596,8 +596,8 @@
      * b/112661742
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2019-09")
     @Test
+    @AsbSecurityTest(cveBugId = 112661742)
     public void testPocCVE_2019_9308() throws Exception {
         String inputFiles[] = {"cve_2019_9308.mp4"};
         String binaryName = "CVE-2019-9308";
@@ -615,8 +615,8 @@
      * b/112662995
      * Vulnerability Behaviour: SIGABRT in self
      */
-    @SecurityTest(minPatchLevel = "2019-09")
     @Test
+    @AsbSecurityTest(cveBugId = 112662995)
     public void testPocCVE_2019_9357() throws Exception {
         String signals[] = {CrashUtils.SIGSEGV, CrashUtils.SIGBUS, CrashUtils.SIGABRT};
         String binaryName = "CVE-2019-9357";
@@ -630,8 +630,8 @@
      * b/109891727
      * Vulnerability Behaviour: SIGSEGV in media.codec
      */
-    @SecurityTest(minPatchLevel = "2019-09")
     @Test
+    @AsbSecurityTest(cveBugId = 109891727)
     public void testPocCVE_2019_9347() throws Exception {
         pocPusher.only32();
         String processPatternStrings[] = {"media\\.codec", "omx@\\d+?\\.\\d+?-service"};
diff --git a/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java b/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java
index df883cc..1125cbbd 100644
--- a/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java
+++ b/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java
@@ -37,7 +37,7 @@
 import android.content.pm.ServiceInfo;
 import android.os.Bundle;
 import android.os.SystemClock;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.provider.DeviceConfig;
 import android.test.InstrumentationTestCase;
 
@@ -368,7 +368,7 @@
         }
     }
 
-    @SecurityTest(minPatchLevel = "2021-03")
+    @AsbSecurityTest(cveBugId = 173516292)
     public void testFgsLocationStartFromBGWithBind() throws Exception {
         ApplicationInfo app1Info = mContext.getPackageManager().getApplicationInfo(
                 PACKAGE_NAME_APP1, 0);
diff --git a/tests/framework/base/windowmanager/src/android/server/wm/PinnedStackTests.java b/tests/framework/base/windowmanager/src/android/server/wm/PinnedStackTests.java
index 6e19de2..0154e20 100644
--- a/tests/framework/base/windowmanager/src/android/server/wm/PinnedStackTests.java
+++ b/tests/framework/base/windowmanager/src/android/server/wm/PinnedStackTests.java
@@ -91,7 +91,7 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.platform.test.annotations.Presubmit;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.provider.Settings;
 import android.server.wm.CommandSession.ActivityCallback;
 import android.server.wm.CommandSession.SizeInfo;
@@ -279,7 +279,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel="2021-03")
+    @AsbSecurityTest(cveBugId = 174302616)
     public void testEnterPipWithTinyMinimalSize() throws Exception {
         // Launch a PiP activity with minimal size specified and smaller than allowed minimum
         launchActivity(PIP_ACTIVITY_WITH_TINY_MINIMAL_SIZE, EXTRA_ENTER_PIP, "true");
diff --git a/tests/tests/content/src/android/content/cts/ContentProviderCursorWindowTest.java b/tests/tests/content/src/android/content/cts/ContentProviderCursorWindowTest.java
index 5cfd532..80f0fad 100644
--- a/tests/tests/content/src/android/content/cts/ContentProviderCursorWindowTest.java
+++ b/tests/tests/content/src/android/content/cts/ContentProviderCursorWindowTest.java
@@ -20,17 +20,17 @@
 import android.database.CursorWindowAllocationException;
 import android.database.sqlite.SQLiteException;
 import android.net.Uri;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import android.util.Log;
 
 /**
  * Test {@link CursorWindowContentProvider} .
  */
-@SecurityTest
 public class ContentProviderCursorWindowTest extends AndroidTestCase {
     private static final String TAG = "ContentProviderCursorWindowTest";
 
+    @AsbSecurityTest(cveBugId = 34128677)
     public void testQuery() {
         // First check if the system has a patch for enforcing protected Parcel data
         Cursor cursor;
diff --git a/tests/tests/display/src/android/display/cts/VirtualDisplayTest.java b/tests/tests/display/src/android/display/cts/VirtualDisplayTest.java
index a0a567e..d09b34b 100644
--- a/tests/tests/display/src/android/display/cts/VirtualDisplayTest.java
+++ b/tests/tests/display/src/android/display/cts/VirtualDisplayTest.java
@@ -31,7 +31,7 @@
 import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.SystemClock;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import android.util.DisplayMetrics;
 import android.util.Log;
@@ -119,7 +119,7 @@
      * Ensures that an application can create a private virtual display and show
      * its own windows on it.
      */
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 141745510)
     public void testPrivateVirtualDisplay() throws Exception {
         VirtualDisplay virtualDisplay = mDisplayManager.createVirtualDisplay(NAME,
                 WIDTH, HEIGHT, DENSITY, mSurface, 0);
@@ -143,7 +143,7 @@
      * Ensures that an application can create a private presentation virtual display and show
      * its own windows on it.
      */
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 141745510)
     public void testPrivatePresentationVirtualDisplay() throws Exception {
         VirtualDisplay virtualDisplay = mDisplayManager.createVirtualDisplay(NAME,
                 WIDTH, HEIGHT, DENSITY, mSurface,
@@ -168,7 +168,7 @@
      * Ensures that an application can create a private virtual display and show
      * its own windows on it where the surface is attached or detached dynamically.
      */
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 141745510)
     public void testPrivateVirtualDisplayWithDynamicSurface() throws Exception {
         VirtualDisplay virtualDisplay = mDisplayManager.createVirtualDisplay(NAME,
                 WIDTH, HEIGHT, DENSITY, null, 0);
@@ -201,7 +201,6 @@
      * be clear if an application creates an virtual display without the
      * flag {@link DisplayManager#VIRTUAL_DISPLAY_FLAG_TRUSTED}.
      */
-    @SecurityTest
     public void testUntrustedSysDecorVirtualDisplay() throws Exception {
         VirtualDisplay virtualDisplay = mDisplayManager.createVirtualDisplay(NAME,
                 WIDTH, HEIGHT, DENSITY, mSurface,
@@ -228,7 +227,6 @@
      * Ensures that throws {@link SecurityException} when an application creates a trusted virtual
      * display without holding the permission {@code ADD_TRUSTED_DISPLAY}.
      */
-    @SecurityTest
     public void testTrustedVirtualDisplay() throws Exception {
         try {
             VirtualDisplay virtualDisplay = mDisplayManager.createVirtualDisplay(NAME,
diff --git a/tests/tests/os/src/android/os/cts/ParcelTest.java b/tests/tests/os/src/android/os/cts/ParcelTest.java
index 22479de..dd65196 100644
--- a/tests/tests/os/src/android/os/cts/ParcelTest.java
+++ b/tests/tests/os/src/android/os/cts/ParcelTest.java
@@ -42,7 +42,7 @@
 import android.os.Parcel;
 import android.os.ParcelFileDescriptor;
 import android.os.Parcelable;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import android.util.Log;
 import android.util.SparseArray;
@@ -3442,7 +3442,7 @@
         assertNotNull("Service should have started without crashing.", connection.get());
     }
 
-    @SecurityTest(minPatchLevel="2020-02")
+    @AsbSecurityTest(cveBugId = 140419401)
     public void testObjectResize() throws Exception {
         Parcel p;
         IBinder b1 = new Binder();
diff --git a/tests/tests/packageinstaller/uninstall/src/android/packageinstaller/uninstall/cts/UninstallTest.java b/tests/tests/packageinstaller/uninstall/src/android/packageinstaller/uninstall/cts/UninstallTest.java
index ce7878f..daec088 100644
--- a/tests/tests/packageinstaller/uninstall/src/android/packageinstaller/uninstall/cts/UninstallTest.java
+++ b/tests/tests/packageinstaller/uninstall/src/android/packageinstaller/uninstall/cts/UninstallTest.java
@@ -35,7 +35,7 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.support.test.uiautomator.By;
 import android.support.test.uiautomator.UiDevice;
 import android.support.test.uiautomator.UiObject2;
@@ -106,8 +106,8 @@
         mContext.startActivity(intent);
     }
 
-    @SecurityTest
     @Test
+    @AsbSecurityTest(cveBugId = 171221302)
     public void overlaysAreSuppressedWhenConfirmingUninstall() throws Exception {
         AppOpsUtils.setOpMode(mContext.getPackageName(), "SYSTEM_ALERT_WINDOW", MODE_ALLOWED);
 
diff --git a/tests/tests/permission/src/android/permission/cts/LocationAccessCheckTest.java b/tests/tests/permission/src/android/permission/cts/LocationAccessCheckTest.java
index 1a9c8dc..3a5e163 100644
--- a/tests/tests/permission/src/android/permission/cts/LocationAccessCheckTest.java
+++ b/tests/tests/permission/src/android/permission/cts/LocationAccessCheckTest.java
@@ -61,7 +61,7 @@
 import android.os.SystemClock;
 import android.permission.cts.appthataccesseslocation.IAccessLocationOnCommand;
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.provider.DeviceConfig;
 import android.provider.Settings;
 import android.service.notification.NotificationListenerService;
@@ -578,7 +578,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-12-01")
+    @AsbSecurityTest(cveBugId = 141028068)
     public void notificationIsShownOnlyOnce() throws Throwable {
         assumeNotPlayManaged();
         accessLocation();
@@ -588,7 +588,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-12-01")
+    @AsbSecurityTest(cveBugId = 141028068)
     public void notificationIsShownAgainAfterClear() throws Throwable {
         assumeNotPlayManaged();
         accessLocation();
@@ -626,7 +626,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-12-01")
+    @AsbSecurityTest(cveBugId = 141028068)
     public void removeNotificationOnUninstall() throws Throwable {
         assumeNotPlayManaged();
         accessLocation();
@@ -667,7 +667,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-12-01")
+    @AsbSecurityTest(cveBugId = 141028068)
     public void noNotificationIfFeatureDisabled() throws Throwable {
         assumeNotPlayManaged();
         disableLocationAccessCheck();
@@ -676,7 +676,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-12-01")
+    @AsbSecurityTest(cveBugId = 141028068)
     public void notificationOnlyForAccessesSinceFeatureWasEnabled() throws Throwable {
         assumeNotPlayManaged();
         // Disable the feature and access location in disabled state
@@ -695,7 +695,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-12-01")
+    @AsbSecurityTest(cveBugId = 141028068)
     public void noNotificationIfBlamerNotSystemOrLocationProvider() throws Throwable {
         assumeNotPlayManaged();
         getNotification(true);
@@ -709,7 +709,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-12-01")
+    @AsbSecurityTest(cveBugId = 141028068)
     public void testOpeningLocationSettingsDoesNotTriggerAccess() throws Throwable {
         assumeNotPlayManaged();
         Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
diff --git a/tests/tests/permission/src/android/permission/cts/PermissionGroupChange.java b/tests/tests/permission/src/android/permission/cts/PermissionGroupChange.java
index ce2fade..b6a6e99 100644
--- a/tests/tests/permission/src/android/permission/cts/PermissionGroupChange.java
+++ b/tests/tests/permission/src/android/permission/cts/PermissionGroupChange.java
@@ -31,7 +31,7 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.res.Resources;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.support.test.uiautomator.By;
 import android.support.test.uiautomator.UiDevice;
 import android.support.test.uiautomator.UiScrollable;
@@ -162,8 +162,8 @@
         runShellCommand("pm uninstall android.permission.cts.appthatrequestpermission");
     }
 
-    @SecurityTest
     @Test
+    @AsbSecurityTest(cveBugId = 72710897)
     public void permissionGroupShouldNotBeAutoGrantedIfNewMember() throws Throwable {
         installApp("CtsAppThatRequestsPermissionAandB");
 
diff --git a/tests/tests/permission/src/android/permission/cts/RemovePermissionTest.java b/tests/tests/permission/src/android/permission/cts/RemovePermissionTest.java
index d252d2d..3dc5f03 100644
--- a/tests/tests/permission/src/android/permission/cts/RemovePermissionTest.java
+++ b/tests/tests/permission/src/android/permission/cts/RemovePermissionTest.java
@@ -29,7 +29,7 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import androidx.test.InstrumentationRegistry;
 
@@ -150,8 +150,8 @@
                 pkg, permission);
     }
 
-    @SecurityTest(minPatchLevel = "2020-02")
     @Test
+    @AsbSecurityTest(cveBugId = 67319274)
     public void runtimePermissionShouldBeRevokedIfRemoved() throws Throwable {
         installApp(ADVERSARIAL_PERMISSION_DEFINER_APK_NAME);
         installApp(ADVERSARIAL_PERMISSION_USER_APK_NAME);
@@ -199,8 +199,8 @@
         assertFalse(permissionGranted(ADVERSARIAL_PERMISSION_USER_PKG_NAME, TEST_PERMISSION));
     }
 
-    @SecurityTest(minPatchLevel = "2021-01")
     @Test
+    @AsbSecurityTest(cveBugId = 155648771)
     public void installPermissionShouldBeRevokedIfRemoved() throws Throwable {
         installApp(INSTALL_PERMISSION_DEFINER_APK_NAME);
         installApp(INSTALL_PERMISSION_USER_APK_NAME);
diff --git a/tests/tests/provider/src/android/provider/cts/media/MediaStore_Video_MediaTest.java b/tests/tests/provider/src/android/provider/cts/media/MediaStore_Video_MediaTest.java
index 7707f12..99b8449 100644
--- a/tests/tests/provider/src/android/provider/cts/media/MediaStore_Video_MediaTest.java
+++ b/tests/tests/provider/src/android/provider/cts/media/MediaStore_Video_MediaTest.java
@@ -38,7 +38,7 @@
 import android.os.FileUtils;
 import android.os.ParcelFileDescriptor;
 import android.os.storage.StorageManager;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.provider.MediaStore;
 import android.provider.MediaStore.Files.FileColumns;
 import android.provider.MediaStore.Video.Media;
@@ -255,8 +255,8 @@
         }
     }
 
-    @SecurityTest
     @Test
+    @AsbSecurityTest(cveBugId = 134155286)
     public void testIsoLocationRedaction() throws Exception {
         // STOPSHIP: remove this once isolated storage is always enabled
         Assume.assumeTrue(StorageManager.hasIsolatedStorage());
diff --git a/tests/tests/provider/src/android/provider/cts/settings/Settings_SystemTest.java b/tests/tests/provider/src/android/provider/cts/settings/Settings_SystemTest.java
index 16d595f..2fc25b8 100644
--- a/tests/tests/provider/src/android/provider/cts/settings/Settings_SystemTest.java
+++ b/tests/tests/provider/src/android/provider/cts/settings/Settings_SystemTest.java
@@ -27,7 +27,7 @@
 import android.database.Cursor;
 import android.net.Uri;
 import android.os.SystemClock;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.provider.Settings;
 import android.provider.Settings.SettingNotFoundException;
 import android.provider.Settings.System;
@@ -143,8 +143,8 @@
     /**
      * Verifies that the invalid values for the font scale setting are rejected.
      */
-    @SecurityTest(minPatchLevel = "2021-02")
     @Test
+    @AsbSecurityTest(cveBugId = 156260178)
     public void testSystemSettingsRejectInvalidFontSizeScale() throws SettingNotFoundException {
         final ContentResolver cr = InstrumentationRegistry.getTargetContext().getContentResolver();
         // First put in a valid value
diff --git a/tests/tests/security/src/android/security/cts/ARTBootASLRTest.java b/tests/tests/security/src/android/security/cts/ARTBootASLRTest.java
index f085f20..2175bf0 100644
--- a/tests/tests/security/src/android/security/cts/ARTBootASLRTest.java
+++ b/tests/tests/security/src/android/security/cts/ARTBootASLRTest.java
@@ -17,7 +17,6 @@
 package android.security.cts;
 
 import android.test.AndroidTestCase;
-import android.platform.test.annotations.SecurityTest;
 
 import junit.framework.TestCase;
 
@@ -29,7 +28,6 @@
 /**
  * Verify that the boot.art isn't mapped out of the system partition.
  */
-@SecurityTest
 public class ARTBootASLRTest extends AndroidTestCase {
     public void testARTASLR() throws Exception {
         FileInputStream ins = new FileInputStream("/proc/self/maps");
diff --git a/tests/tests/security/src/android/security/cts/ActivityManagerTest.java b/tests/tests/security/src/android/security/cts/ActivityManagerTest.java
index 59d965d..9480251 100644
--- a/tests/tests/security/src/android/security/cts/ActivityManagerTest.java
+++ b/tests/tests/security/src/android/security/cts/ActivityManagerTest.java
@@ -19,7 +19,7 @@
 import android.app.ApplicationExitInfo;
 import android.content.Context;
 import android.os.IBinder;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.util.Log;
 
 import androidx.test.InstrumentationRegistry;
@@ -27,7 +27,6 @@
 
 import java.lang.reflect.InvocationTargetException;
 
-@SecurityTest
 public class ActivityManagerTest extends TestCase {
 
     @Override
@@ -35,7 +34,7 @@
         super.setUp();
     }
 
-    @SecurityTest(minPatchLevel = "2015-03")
+    @AsbSecurityTest(cveBugId = 19394591)
     public void testActivityManager_injectInputEvents() throws ClassNotFoundException {
         try {
             /*
@@ -53,7 +52,7 @@
     }
 
     // b/144285917
-    @SecurityTest(minPatchLevel = "2020-05")
+    @AsbSecurityTest(cveBugId = 144285917)
     public void testActivityManager_attachNullApplication() {
         SecurityException securityException = null;
         Exception unexpectedException = null;
@@ -81,7 +80,7 @@
     }
 
     // b/166667403
-    @SecurityTest(minPatchLevel = "2021-01")
+    @AsbSecurityTest(cveBugId = 166667403)
     public void testActivityManager_appExitReasonPackageNames() {
         final String mockPackage = "com.foo.bar";
         final String realPackage = "com.android.compatibility.common.deviceinfo";
diff --git a/tests/tests/security/src/android/security/cts/AllocatePixelRefIntOverflowTest.java b/tests/tests/security/src/android/security/cts/AllocatePixelRefIntOverflowTest.java
index df1018a..5d297c6 100644
--- a/tests/tests/security/src/android/security/cts/AllocatePixelRefIntOverflowTest.java
+++ b/tests/tests/security/src/android/security/cts/AllocatePixelRefIntOverflowTest.java
@@ -18,21 +18,20 @@
 
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import java.io.InputStream;
 
 import android.security.cts.R;
 
-@SecurityTest
 public class AllocatePixelRefIntOverflowTest extends AndroidTestCase {
 
     /**
      * Verifies that the device is not vulnerable to ANDROID-19270126: Android
      * BitmapFactory.decodeStream JPG allocPixelRef integer overflow
      */
-    @SecurityTest(minPatchLevel = "2015-03")
+    @AsbSecurityTest(cveBugId = 19394591)
     public void testAllocateJavaPixelRefIntOverflow() {
         InputStream exploitImage = mContext.getResources().openRawResource(
                 R.raw.cve_2015_1531_b_19270126);
diff --git a/tests/tests/security/src/android/security/cts/AmbiguousBundlesTest.java b/tests/tests/security/src/android/security/cts/AmbiguousBundlesTest.java
index 99b2ab7..73536e3 100644
--- a/tests/tests/security/src/android/security/cts/AmbiguousBundlesTest.java
+++ b/tests/tests/security/src/android/security/cts/AmbiguousBundlesTest.java
@@ -33,7 +33,7 @@
 import java.util.Random;
 
 import android.security.cts.R;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 public class AmbiguousBundlesTest extends AndroidTestCase {
 
@@ -41,7 +41,7 @@
      * b/140417434
      * Vulnerability Behaviour: Failure via Exception
      */
-    @SecurityTest(minPatchLevel = "2020-04")
+    @AsbSecurityTest(cveBugId = 140417434)
     public void test_android_CVE_2020_0082() throws Exception {
 
         Ambiguator ambiguator = new Ambiguator() {
@@ -179,7 +179,7 @@
     /*
      * b/71992105
      */
-    @SecurityTest(minPatchLevel = "2018-05")
+    @AsbSecurityTest(cveBugId = 71992105)
     public void test_android_CVE_2017_13310() throws Exception {
 
         Ambiguator ambiguator = new Ambiguator() {
@@ -269,7 +269,7 @@
     /*
      * b/71508348
      */
-    @SecurityTest(minPatchLevel = "2018-06")
+    @AsbSecurityTest(cveBugId = 71508348)
     public void test_android_CVE_2018_9339() throws Exception {
 
         Ambiguator ambiguator = new Ambiguator() {
@@ -372,7 +372,7 @@
     /*
      * b/62998805
      */
-    @SecurityTest(minPatchLevel = "2017-10")
+    @AsbSecurityTest(cveBugId = 62998805)
     public void test_android_CVE_2017_0806() throws Exception {
         Ambiguator ambiguator = new Ambiguator() {
             @Override
@@ -435,7 +435,7 @@
     /*
      * b/73252178
      */
-    @SecurityTest(minPatchLevel = "2018-05")
+    @AsbSecurityTest(cveBugId = 73252178)
     public void test_android_CVE_2017_13311() throws Exception {
         Ambiguator ambiguator = new Ambiguator() {
             @Override
@@ -529,7 +529,7 @@
     /*
      * b/71714464
      */
-    @SecurityTest(minPatchLevel = "2018-04")
+    @AsbSecurityTest(cveBugId = 71714464)
     public void test_android_CVE_2017_13287() throws Exception {
         Ambiguator ambiguator = new Ambiguator() {
             @Override
diff --git a/tests/tests/security/src/android/security/cts/AslrTest.java b/tests/tests/security/src/android/security/cts/AslrTest.java
index f248a40..8a5eeca 100644
--- a/tests/tests/security/src/android/security/cts/AslrTest.java
+++ b/tests/tests/security/src/android/security/cts/AslrTest.java
@@ -21,7 +21,6 @@
 
 import android.os.ParcelFileDescriptor;
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
 import android.util.Log;
 import java.io.BufferedReader;
 import java.io.File;
@@ -39,7 +38,6 @@
 /**
  * Verify that ASLR is properly enabled on Android Compatible devices.
  */
-@SecurityTest
 public class AslrTest extends InstrumentationTestCase {
 
     private static final int aslrMinEntropyBits = 8;
diff --git a/tests/tests/security/src/android/security/cts/AssetManagerTest.java b/tests/tests/security/src/android/security/cts/AssetManagerTest.java
index 27b6021..10e1c20 100644
--- a/tests/tests/security/src/android/security/cts/AssetManagerTest.java
+++ b/tests/tests/security/src/android/security/cts/AssetManagerTest.java
@@ -18,15 +18,14 @@
 
 import android.content.res.AssetManager;
 import android.content.res.XmlResourceParser;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import com.android.compatibility.common.util.CtsAndroidTestCase;
 
-@SecurityTest
 public class AssetManagerTest extends CtsAndroidTestCase {
 
     // b/144028297
-    @SecurityTest(minPatchLevel = "2020-04")
+    @AsbSecurityTest(cveBugId = 144028297)
     public void testCloseThenFinalize() throws Exception {
         final XmlResourceParser[] parser = {null};
         final AssetManager[] assetManager = {AssetManager.class.newInstance()};
diff --git a/tests/tests/security/src/android/security/cts/AudioSecurityTest.java b/tests/tests/security/src/android/security/cts/AudioSecurityTest.java
index 56cff46..1e1878d 100644
--- a/tests/tests/security/src/android/security/cts/AudioSecurityTest.java
+++ b/tests/tests/security/src/android/security/cts/AudioSecurityTest.java
@@ -20,7 +20,7 @@
 import android.media.AudioTrack;
 import android.media.audiofx.AudioEffect;
 import android.media.audiofx.Equalizer;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.util.Log;
 
 import com.android.compatibility.common.util.CtsAndroidTestCase;
@@ -30,7 +30,6 @@
 import java.util.Arrays;
 import java.util.UUID;
 
-@SecurityTest
 public class AudioSecurityTest extends CtsAndroidTestCase {
     private static final String TAG = "AudioSecurityTest";
 
@@ -90,7 +89,7 @@
     }
 
     // b/28173666
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28173666)
     public void testAllEffectsGetParameterAttemptOffload_CVE_2016_3745() throws Exception {
         testAllEffects("get parameter attempt offload",
                 new TestEffect() {
@@ -104,7 +103,7 @@
     // b/32438594
     // b/32624850
     // b/32635664
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 32438594)
     public void testAllEffectsGetParameter2AttemptOffload_CVE_2017_0398() throws Exception {
         testAllEffects("get parameter2 attempt offload",
                 new TestEffect() {
@@ -116,7 +115,7 @@
     }
 
     // b/30204301
-    @SecurityTest(minPatchLevel = "2016-10")
+    @AsbSecurityTest(cveBugId = 30204301)
     public void testAllEffectsSetParameterAttemptOffload_CVE_2016_3924() throws Exception {
         testAllEffects("set parameter attempt offload",
                 new TestEffect() {
@@ -128,7 +127,7 @@
     }
 
     // b/37536407
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32448258)
     public void testAllEffectsEqualizer_CVE_2017_0401() throws Exception {
         testAllEffects("equalizer get parameter name",
                 new TestEffect() {
@@ -355,7 +354,7 @@
     private static final int VISUALIZER_PARAM_CAPTURE_SIZE = 0;
 
     // b/31781965
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 31781965)
     public void testVisualizerCapture_CVE_2017_0396() throws Exception {
         // Capture params
         final int CAPTURE_SIZE = 1 << 24; // 16MB seems to be large enough to cause a SEGV.
diff --git a/tests/tests/security/src/android/security/cts/BannedFilesTest.java b/tests/tests/security/src/android/security/cts/BannedFilesTest.java
index 8847a84..d4ae7d9 100644
--- a/tests/tests/security/src/android/security/cts/BannedFilesTest.java
+++ b/tests/tests/security/src/android/security/cts/BannedFilesTest.java
@@ -17,7 +17,6 @@
 package android.security.cts;
 
 import android.platform.test.annotations.RestrictedBuildTest;
-import android.platform.test.annotations.SecurityTest;
 
 import com.android.compatibility.common.util.FileUtils;
 
@@ -29,7 +28,6 @@
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 
-@SecurityTest
 public class BannedFilesTest extends TestCase {
 
     /**
diff --git a/tests/tests/security/src/android/security/cts/BigRleTest.java b/tests/tests/security/src/android/security/cts/BigRleTest.java
index bcfb1df..20ac03a 100644
--- a/tests/tests/security/src/android/security/cts/BigRleTest.java
+++ b/tests/tests/security/src/android/security/cts/BigRleTest.java
@@ -22,7 +22,7 @@
 
 import java.io.InputStream;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.security.cts.R;
 
 public class BigRleTest extends AndroidTestCase {
@@ -32,7 +32,7 @@
      * This image reports that its encoded length is over 4 gigs. Prior to fixing issue 33251605,
      * we attempted to allocate space for all the encoded data at once, resulting in OOM.
      */
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 33251605)
     public void test_android_bug_33251605() {
         InputStream exploitImage = mContext.getResources().openRawResource(R.raw.bug_33251605);
         Bitmap bitmap = BitmapFactory.decodeStream(exploitImage);
diff --git a/tests/tests/security/src/android/security/cts/BinderExploitTest.java b/tests/tests/security/src/android/security/cts/BinderExploitTest.java
index abb0370..7516e5b 100644
--- a/tests/tests/security/src/android/security/cts/BinderExploitTest.java
+++ b/tests/tests/security/src/android/security/cts/BinderExploitTest.java
@@ -42,7 +42,7 @@
 import static org.junit.Assert.assertTrue;
 import android.test.AndroidTestCase;
 import androidx.test.InstrumentationRegistry;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import java.util.ArrayList;
 import android.util.Log;
@@ -97,7 +97,6 @@
     public native void runxpl(String pipedir);
 }
 
-@SecurityTest
 public class BinderExploitTest extends AndroidTestCase {
 
     static final String TAG = BinderExploitTest.class.getSimpleName();
@@ -115,7 +114,7 @@
     /**
      * b/141496757
      */
-    @SecurityTest(minPatchLevel = "2019-11")
+    @AsbSecurityTest(cveBugId = 133758011)
     public void testPoc_cve_2019_2213() throws Exception {
         Log.i(TAG, String.format("%s", "testPoc_cve_2019_2213 start..."));
 
diff --git a/tests/tests/security/src/android/security/cts/BitmapFactoryDecodeStreamTest.java b/tests/tests/security/src/android/security/cts/BitmapFactoryDecodeStreamTest.java
index ce28a7a..444b110 100644
--- a/tests/tests/security/src/android/security/cts/BitmapFactoryDecodeStreamTest.java
+++ b/tests/tests/security/src/android/security/cts/BitmapFactoryDecodeStreamTest.java
@@ -17,7 +17,7 @@
 package android.security.cts;
 
 import android.graphics.BitmapFactory;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import android.security.cts.R;
@@ -25,7 +25,6 @@
 import java.io.BufferedInputStream;
 import java.io.InputStream;
 
-@SecurityTest
 public class BitmapFactoryDecodeStreamTest extends AndroidTestCase {
     /*
      * This test case reproduces the bug in CVE-2015-1532.
@@ -33,7 +32,7 @@
      * to heap corruption by trying to open a crafted PNG image with incorrect
      * npTc chunk.
      */
-    @SecurityTest(minPatchLevel = "2015-01")
+    @AsbSecurityTest(cveBugId = 19151999)
     public void testNinePatchHeapOverflow() throws Exception {
         InputStream inStream = new BufferedInputStream(mContext.getResources().openRawResource(
                 R.raw.cve_2015_1532));
@@ -41,14 +40,14 @@
 
     }
 
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 36724453)
     public void testPocCVE_2017_0691() throws Exception {
         InputStream exploitImage = new BufferedInputStream(mContext.getResources().openRawResource(
                 R.raw.cve_2017_0691));
         BitmapFactory.decodeStream(exploitImage);
     }
 
-    @SecurityTest(minPatchLevel = "2017-12")
+    @AsbSecurityTest(cveBugId = 65290323)
     public void test_b65290323() throws Exception {
         InputStream exploitImage = new BufferedInputStream(mContext.getResources().openRawResource(
                 R.raw.b65290323));
diff --git a/tests/tests/security/src/android/security/cts/BitmapFactorySecurityTests.java b/tests/tests/security/src/android/security/cts/BitmapFactorySecurityTests.java
index f463855..b1de686 100644
--- a/tests/tests/security/src/android/security/cts/BitmapFactorySecurityTests.java
+++ b/tests/tests/security/src/android/security/cts/BitmapFactorySecurityTests.java
@@ -18,7 +18,7 @@
 
 import android.graphics.BitmapFactory;
 import android.os.ParcelFileDescriptor;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import java.io.File;
@@ -30,7 +30,6 @@
 
 import android.security.cts.R;
 
-@SecurityTest
 public class BitmapFactorySecurityTests extends AndroidTestCase {
     private FileDescriptor getResource(int resId) {
         try {
@@ -58,7 +57,7 @@
     /**
      * Verifies that decoding a corrupt ICO does crash.
      */
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 38116746)
     public void test_android_bug_38116746() {
         FileDescriptor exploitImage = getResource(R.raw.bug_38116746);
         try {
@@ -74,7 +73,7 @@
     /**
      * Verifies that decoding a corrupt BMP does crash.
      */
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 37627194)
     public void test_android_bug_37627194() {
         FileDescriptor exploitImage = getResource(R.raw.bug_37627194);
         try {
@@ -84,7 +83,7 @@
         }
     }
 
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 156261521)
     public void test_android_bug_156261521() {
         // Previously decoding this would crash.
         FileDescriptor exploitImage = getResource(R.raw.bug_156261521);
diff --git a/tests/tests/security/src/android/security/cts/BitmapTest.java b/tests/tests/security/src/android/security/cts/BitmapTest.java
index e7a326fe..40cb139 100644
--- a/tests/tests/security/src/android/security/cts/BitmapTest.java
+++ b/tests/tests/security/src/android/security/cts/BitmapTest.java
@@ -17,14 +17,13 @@
 package android.security.cts;
 
 import android.graphics.Bitmap;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-@SecurityTest
 @RunWith(AndroidJUnit4.class)
 public class BitmapTest {
     /**
@@ -34,7 +33,7 @@
      * OOME is more appropriate.
      */
     @Test(expected=OutOfMemoryError.class)
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 33846679)
     public void test_33846679() {
         // This size is based on the max size possible in a GIF file,
         // which might be passed to createBitmap from a Java decoder.
diff --git a/tests/tests/security/src/android/security/cts/BluetoothIntentsTest.java b/tests/tests/security/src/android/security/cts/BluetoothIntentsTest.java
index 6a4990f..38ebf5d 100644
--- a/tests/tests/security/src/android/security/cts/BluetoothIntentsTest.java
+++ b/tests/tests/security/src/android/security/cts/BluetoothIntentsTest.java
@@ -19,24 +19,23 @@
 
 import android.content.ComponentName;
 import android.content.Intent;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
-@SecurityTest
 public class BluetoothIntentsTest extends AndroidTestCase {
   /**
    * b/35258579
    */
-  @SecurityTest
-  public void testAcceptIntent() {
+    @AsbSecurityTest(cveBugId = 35258579)
+    public void testAcceptIntent() {
     genericIntentTest("ACCEPT");
   }
 
   /**
    * b/35258579
    */
-  @SecurityTest
-  public void testDeclineIntent() {
+    @AsbSecurityTest(cveBugId = 35258579)
+    public void testDeclineIntent() {
       genericIntentTest("DECLINE");
   }
 
diff --git a/tests/tests/security/src/android/security/cts/CVE_2020_0294.java b/tests/tests/security/src/android/security/cts/CVE_2020_0294.java
index 0a533bb..6625c9e 100644
--- a/tests/tests/security/src/android/security/cts/CVE_2020_0294.java
+++ b/tests/tests/security/src/android/security/cts/CVE_2020_0294.java
@@ -23,7 +23,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
@@ -34,7 +34,6 @@
 import static org.junit.Assert.*;
 import static org.junit.Assume.*;
 
-@SecurityTest
 @RunWith(AndroidJUnit4.class)
 public class CVE_2020_0294 {
     private static final String TAG = "CVE_2020_0294";
@@ -43,7 +42,7 @@
      * b/170661753
      */
     @Test
-    @SecurityTest(minPatchLevel = "2020-12")
+    @AsbSecurityTest(cveBugId = 154915372)
     public void testPocCVE_2020_0294() throws Exception {
         Instrumentation instrumentation = InstrumentationRegistry.getInstrumentation();
         ActivityManager activityManager = (ActivityManager) instrumentation.getContext()
diff --git a/tests/tests/security/src/android/security/cts/CVE_2021_0309.java b/tests/tests/security/src/android/security/cts/CVE_2021_0309.java
index 3f39a0e..deb7c40 100644
--- a/tests/tests/security/src/android/security/cts/CVE_2021_0309.java
+++ b/tests/tests/security/src/android/security/cts/CVE_2021_0309.java
@@ -26,7 +26,7 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.RemoteException;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
@@ -42,8 +42,8 @@
     /**
      * b/159145361
      */
-    @SecurityTest(minPatchLevel = "2021-01")
     @Test
+    @AsbSecurityTest(cveBugId = 158480899)
     public void testPocCVE_2021_0309() {
         /**
          * Output of adb shell pm list packages --user 0 -U com.android.providers.media
diff --git a/tests/tests/security/src/android/security/cts/CVE_2021_0327/CVE_2021_0327.java b/tests/tests/security/src/android/security/cts/CVE_2021_0327/CVE_2021_0327.java
index 56408ee..13076ba 100644
--- a/tests/tests/security/src/android/security/cts/CVE_2021_0327/CVE_2021_0327.java
+++ b/tests/tests/security/src/android/security/cts/CVE_2021_0327/CVE_2021_0327.java
@@ -19,7 +19,7 @@
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import android.util.Log;
 import androidx.test.runner.AndroidJUnit4;
@@ -29,7 +29,6 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-@SecurityTest
 @RunWith(AndroidJUnit4.class)
 public class CVE_2021_0327 {
 
@@ -51,7 +50,7 @@
      * b/175817081
      */
     @Test
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 172935267)
     public void testPocCVE_2021_0327() throws Exception {
         Log.d(TAG, "test start");
         testActivityCreated=false;
diff --git a/tests/tests/security/src/android/security/cts/CVE_2021_0339.java b/tests/tests/security/src/android/security/cts/CVE_2021_0339.java
index a59d749..13b320f 100644
--- a/tests/tests/security/src/android/security/cts/CVE_2021_0339.java
+++ b/tests/tests/security/src/android/security/cts/CVE_2021_0339.java
@@ -26,7 +26,7 @@
 import android.os.Bundle;
 import android.os.RemoteCallback;
 import android.os.SystemClock;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import android.util.Log;
 import androidx.test.InstrumentationRegistry;
@@ -37,7 +37,6 @@
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
 
-@SecurityTest
 @RunWith(AndroidJUnit4.class)
 public class CVE_2021_0339 {
 
@@ -63,7 +62,7 @@
      * start the first activity and get the result from the remote callback
      */
     @Test
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 145728687)
     public void testPocCVE_2021_0339() throws Exception {
         CompletableFuture<Integer> callbackReturn = new CompletableFuture<>();
         RemoteCallback cb = new RemoteCallback((Bundle result) ->
diff --git a/tests/tests/security/src/android/security/cts/CVE_2021_0394.java b/tests/tests/security/src/android/security/cts/CVE_2021_0394.java
index 6d504f6..571c293 100644
--- a/tests/tests/security/src/android/security/cts/CVE_2021_0394.java
+++ b/tests/tests/security/src/android/security/cts/CVE_2021_0394.java
@@ -16,7 +16,7 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import androidx.test.filters.RequiresDevice;
 import androidx.test.runner.AndroidJUnit4;
 import org.junit.runner.RunWith;
@@ -32,11 +32,11 @@
     /**
      * b/172655291
      */
-    @SecurityTest(minPatchLevel = "2021-03")
     @Test
     @RequiresDevice
     // emulators always have checkJNI enabled which causes the test
     // to abort the VM while passing invalid input to NewStringUTF
+    @AsbSecurityTest(cveBugId = 172655291)
     public void testPocCVE_2021_0394() throws Exception {
         assertFalse(poc());
     }
diff --git a/tests/tests/security/src/android/security/cts/ConscryptIntermediateVerificationTest.java b/tests/tests/security/src/android/security/cts/ConscryptIntermediateVerificationTest.java
index 3178616..3022b6ce 100644
--- a/tests/tests/security/src/android/security/cts/ConscryptIntermediateVerificationTest.java
+++ b/tests/tests/security/src/android/security/cts/ConscryptIntermediateVerificationTest.java
@@ -17,7 +17,7 @@
 package android.security.cts;
 
 import android.content.Context;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import java.io.InputStream;
 import java.security.KeyStore;
@@ -32,7 +32,6 @@
 import javax.net.ssl.TrustManagerFactory;
 import javax.net.ssl.X509TrustManager;
 
-@SecurityTest
 public class ConscryptIntermediateVerificationTest extends AndroidTestCase {
 
     private X509Certificate[] loadCertificates(int resource) throws Exception {
@@ -76,6 +75,7 @@
         return null;
     }
 
+    @AsbSecurityTest(cveBugId = 26232830)
     public void testIntermediateVerification() throws Exception {
         X509TrustManager tm = getTrustManager();
         X509Certificate[] validChain = loadCertificates(R.raw.intermediate_test_valid);
diff --git a/tests/tests/security/src/android/security/cts/DecodeTest.java b/tests/tests/security/src/android/security/cts/DecodeTest.java
index 3314166..26ab802 100644
--- a/tests/tests/security/src/android/security/cts/DecodeTest.java
+++ b/tests/tests/security/src/android/security/cts/DecodeTest.java
@@ -18,7 +18,7 @@
 
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import java.io.InputStream;
@@ -32,7 +32,7 @@
      * Prior to fixing bug 34778578, decoding this file would crash. Instead, it should fail to
      * decode.
      */
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 34778578)
     public void test_android_bug_34778578() {
         InputStream exploitImage = mContext.getResources().openRawResource(R.raw.bug_34778578);
         Bitmap bitmap = BitmapFactory.decodeStream(exploitImage);
@@ -45,7 +45,7 @@
      * Prior to fixing bug 67381469, decoding this file would crash. Instead, it should fail to
      * decode.
      */
-    @SecurityTest(minPatchLevel = "2017-12")
+    @AsbSecurityTest(cveBugId = 67381469)
     public void test_android_bug_67381469() {
         InputStream exploitImage = mContext.getResources().openRawResource(R.raw.bug_67381469);
         Bitmap bitmap = BitmapFactory.decodeStream(exploitImage);
diff --git a/tests/tests/security/src/android/security/cts/EffectBundleTest.java b/tests/tests/security/src/android/security/cts/EffectBundleTest.java
index d1baf37..5aef702 100644
--- a/tests/tests/security/src/android/security/cts/EffectBundleTest.java
+++ b/tests/tests/security/src/android/security/cts/EffectBundleTest.java
@@ -21,7 +21,7 @@
 import android.media.audiofx.Equalizer;
 import android.media.audiofx.PresetReverb;
 import android.media.MediaPlayer;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.InstrumentationTestCase;
 import android.util.Log;
 
@@ -31,7 +31,6 @@
 import java.util.Arrays;
 import java.util.UUID;
 
-@SecurityTest
 public class EffectBundleTest extends InstrumentationTestCase {
     private static final String TAG = "EffectBundleTest";
     private static final int[] INVALID_BAND_ARRAY = {Integer.MIN_VALUE, -10000, -100, -2, -1};
@@ -48,7 +47,7 @@
     private static final int intSize = 4;
 
     //Testing security bug: 32436341
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32436341)
     public void testEqualizer_getParamCenterFreq() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -58,7 +57,7 @@
     }
 
     //Testing security bug: 32588352
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32588352)
     public void testEqualizer_getParamCenterFreq_long() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -67,7 +66,7 @@
     }
 
     //Testing security bug: 32438598
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32438598)
     public void testEqualizer_getParamBandLevel() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -76,7 +75,7 @@
     }
 
     //Testing security bug: 32584034
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32584034)
     public void testEqualizer_getParamBandLevel_long() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -85,7 +84,7 @@
     }
 
     //Testing security bug: 32247948
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32247948)
     public void testEqualizer_getParamFreqRange() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -95,7 +94,7 @@
     }
 
     //Testing security bug: 32588756
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32588756)
     public void testEqualizer_getParamFreqRange_long() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -105,7 +104,7 @@
     }
 
     //Testing security bug: 32448258
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32448258)
     public void testEqualizer_getParamPresetName() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -114,7 +113,7 @@
     }
 
     //Testing security bug: 32588016
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32588016)
     public void testEqualizer_getParamPresetName_long() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -155,7 +154,7 @@
     }
 
     //testing security bug: 32095626
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32095626)
     public void testEqualizer_setParamBandLevel() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -171,7 +170,7 @@
     }
 
     //testing security bug: 32585400
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32585400)
     public void testEqualizer_setParamBandLevel_long() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -187,7 +186,7 @@
     }
 
     //testing security bug: 32705438
-    @SecurityTest(minPatchLevel = "2017-02")
+    @AsbSecurityTest(cveBugId = 32705438)
     public void testEqualizer_getParamFreqRangeCommand_short() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -197,7 +196,7 @@
     }
 
     //testing security bug: 32703959
-    @SecurityTest(minPatchLevel = "2017-02")
+    @AsbSecurityTest(cveBugId = 32703959)
     public void testEqualizer_getParamFreqRangeCommand_long() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -207,7 +206,7 @@
     }
 
     //testing security bug: 37563371 (short media)
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 37563371)
     public void testEqualizer_setParamProperties_short() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -217,7 +216,7 @@
     }
 
     //testing security bug: 37563371 (long media)
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 37563371)
     public void testEqualizer_setParamProperties_long() throws Exception {
         if (!hasEqualizer()) {
             return;
@@ -227,7 +226,7 @@
     }
 
     //Testing security bug: 63662938
-    @SecurityTest(minPatchLevel = "2017-10")
+    @AsbSecurityTest(cveBugId = 63662938)
     public void testDownmix_setParameter() throws Exception {
         verifyZeroPVSizeRejectedForSetParameter(
                 EFFECT_TYPE_DOWNMIX, new int[] { DOWNMIX_PARAM_TYPE });
@@ -243,7 +242,7 @@
     private static final int DOWNMIX_PARAM_TYPE = 0;
 
     //Testing security bug: 63526567
-    @SecurityTest(minPatchLevel = "2017-10")
+    @AsbSecurityTest(cveBugId = 63526567)
     public void testEnvironmentalReverb_setParameter() throws Exception {
         verifyZeroPVSizeRejectedForSetParameter(
                 AudioEffect.EFFECT_TYPE_ENV_REVERB, new int[] {
@@ -263,7 +262,7 @@
     }
 
     //Testing security bug: 67647856
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 67647856)
     public void testPresetReverb_setParameter() throws Exception {
         verifyZeroPVSizeRejectedForSetParameter(
                 AudioEffect.EFFECT_TYPE_PRESET_REVERB, new int[] {
diff --git a/tests/tests/security/src/android/security/cts/EncryptionTest.java b/tests/tests/security/src/android/security/cts/EncryptionTest.java
index 15a7081..67cb328 100644
--- a/tests/tests/security/src/android/security/cts/EncryptionTest.java
+++ b/tests/tests/security/src/android/security/cts/EncryptionTest.java
@@ -20,14 +20,12 @@
 import com.android.compatibility.common.util.PropertyUtil;
 
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
 import android.test.AndroidTestCase;
 import junit.framework.TestCase;
 
 import android.os.Build;
 import android.util.Log;
 
-@SecurityTest
 public class EncryptionTest extends AndroidTestCase {
     static {
         System.loadLibrary("ctssecurity_jni");
diff --git a/tests/tests/security/src/android/security/cts/FileIntegrityManagerTest.java b/tests/tests/security/src/android/security/cts/FileIntegrityManagerTest.java
index afb4397..43f5e3f 100644
--- a/tests/tests/security/src/android/security/cts/FileIntegrityManagerTest.java
+++ b/tests/tests/security/src/android/security/cts/FileIntegrityManagerTest.java
@@ -20,7 +20,6 @@
 import android.security.FileIntegrityManager;
 import android.platform.test.annotations.AppModeFull;
 import android.platform.test.annotations.RestrictedBuildTest;
-import android.platform.test.annotations.SecurityTest;
 import android.util.Log;
 
 import androidx.test.platform.app.InstrumentationRegistry;
@@ -38,7 +37,6 @@
 import java.security.cert.X509Certificate;
 
 @AppModeFull
-@SecurityTest
 public class FileIntegrityManagerTest extends CtsAndroidTestCase {
 
     private static final String TAG = "FileIntegrityManagerTest";
diff --git a/tests/tests/security/src/android/security/cts/HwRngTest.java b/tests/tests/security/src/android/security/cts/HwRngTest.java
index bb1d5d9..37466bb 100644
--- a/tests/tests/security/src/android/security/cts/HwRngTest.java
+++ b/tests/tests/security/src/android/security/cts/HwRngTest.java
@@ -17,7 +17,6 @@
 package android.security.cts;
 
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
 
 import com.android.compatibility.common.util.CtsAndroidTestCase;
 import com.android.compatibility.common.util.DeviceReportLog;
@@ -38,7 +37,6 @@
 /**
  * Tests for hardware random number generator device {@code /dev/hw_random}.
  */
-@SecurityTest
 public class HwRngTest extends CtsAndroidTestCase {
 
     // The block of constants below is from hw_random framework documentation and source code:
diff --git a/tests/tests/security/src/android/security/cts/IntentSenderRemovalTest.java b/tests/tests/security/src/android/security/cts/IntentSenderRemovalTest.java
index 1925781..00f4762 100644
--- a/tests/tests/security/src/android/security/cts/IntentSenderRemovalTest.java
+++ b/tests/tests/security/src/android/security/cts/IntentSenderRemovalTest.java
@@ -16,7 +16,6 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
 
 import android.content.Context;
 import android.content.Intent;
@@ -28,7 +27,6 @@
  * Make sure the DebugIntentSender activity, which allows privilege escalation of intent caller
  * to system uid, has been removed from the system.
  */
-@SecurityTest
 public class IntentSenderRemovalTest extends AndroidTestCase {
 
     /**
diff --git a/tests/tests/security/src/android/security/cts/IsolatedProcessTest.java b/tests/tests/security/src/android/security/cts/IsolatedProcessTest.java
index 2be37bb..60b329f 100644
--- a/tests/tests/security/src/android/security/cts/IsolatedProcessTest.java
+++ b/tests/tests/security/src/android/security/cts/IsolatedProcessTest.java
@@ -22,7 +22,7 @@
 import android.os.IBinder;
 import android.os.Process;
 import android.os.RemoteException;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.security.cts.IIsolatedService;
 import android.security.cts.IsolatedService;
 import android.test.AndroidTestCase;
@@ -74,7 +74,7 @@
                 mLatch.await(BIND_SERVICE_TIMEOUT, TimeUnit.MILLISECONDS));
     }
 
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 30202228)
     public void testGetCachedServicesFromIsolatedService() throws RemoteException {
         String[] cachedServices = mService.getCachedSystemServices();
         for (String serviceName : cachedServices) {
@@ -83,7 +83,7 @@
         }
     }
 
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 30202228)
     public void testGetServiceFromIsolatedService() throws RemoteException {
         for (String serviceName : RESTRICTED_SERVICES_TO_TEST) {
             IBinder service = mService.getSystemService(serviceName);
diff --git a/tests/tests/security/src/android/security/cts/IsolatedService.java b/tests/tests/security/src/android/security/cts/IsolatedService.java
index 0245105..094f689 100644
--- a/tests/tests/security/src/android/security/cts/IsolatedService.java
+++ b/tests/tests/security/src/android/security/cts/IsolatedService.java
@@ -20,7 +20,6 @@
 import android.content.Intent;
 import android.os.IBinder;
 import android.os.Process;
-import android.platform.test.annotations.SecurityTest;
 import android.util.Log;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
@@ -28,7 +27,6 @@
 import java.util.HashMap;
 import java.util.Map;
 
-@SecurityTest
 public class IsolatedService extends Service {
 
     private static final String TAG = IsolatedService.class.getSimpleName();
diff --git a/tests/tests/security/src/android/security/cts/LinuxRngTest.java b/tests/tests/security/src/android/security/cts/LinuxRngTest.java
index 9289e5a..e8712ce 100644
--- a/tests/tests/security/src/android/security/cts/LinuxRngTest.java
+++ b/tests/tests/security/src/android/security/cts/LinuxRngTest.java
@@ -16,13 +16,11 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
 
 import junit.framework.TestCase;
 
 import java.io.IOException;
 
-@SecurityTest
 public class LinuxRngTest extends TestCase {
     static {
         System.loadLibrary("ctssecurity_jni");
diff --git a/tests/tests/security/src/android/security/cts/MMapExecutableTest.java b/tests/tests/security/src/android/security/cts/MMapExecutableTest.java
index 6ba1120..bc2e115 100644
--- a/tests/tests/security/src/android/security/cts/MMapExecutableTest.java
+++ b/tests/tests/security/src/android/security/cts/MMapExecutableTest.java
@@ -15,14 +15,12 @@
  */
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
 import android.test.AndroidTestCase;
 
 /**
  * Verify that we can mmap executable code from an APK.
  * Prevent regression on: b/16727210 and b/16076402.
  */
-@SecurityTest
 public class MMapExecutableTest extends AndroidTestCase {
     public MMapExecutableTest() {}
 
diff --git a/tests/tests/security/src/android/security/cts/MediaMetadataRetrieverTest.java b/tests/tests/security/src/android/security/cts/MediaMetadataRetrieverTest.java
index dbe784a..ecf8acc 100644
--- a/tests/tests/security/src/android/security/cts/MediaMetadataRetrieverTest.java
+++ b/tests/tests/security/src/android/security/cts/MediaMetadataRetrieverTest.java
@@ -21,12 +21,11 @@
 import android.content.res.AssetFileDescriptor;
 import android.content.res.Resources;
 import android.media.MediaMetadataRetriever;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import java.io.IOException;
 
-@SecurityTest
 public class MediaMetadataRetrieverTest extends AndroidTestCase {
     protected Resources mResources;
     protected MediaMetadataRetriever mRetriever;
@@ -54,6 +53,7 @@
         }
     }
 
+    @AsbSecurityTest(cveBugId = 24623447)
     public void testID3v2EmbeddedPicture() {
         setDataSourceFd(R.raw.id3v2_3_extended_header_overflow_padding);
 
diff --git a/tests/tests/security/src/android/security/cts/MediaRecorderInfoLeakTest.java b/tests/tests/security/src/android/security/cts/MediaRecorderInfoLeakTest.java
index af62105..b427516 100644
--- a/tests/tests/security/src/android/security/cts/MediaRecorderInfoLeakTest.java
+++ b/tests/tests/security/src/android/security/cts/MediaRecorderInfoLeakTest.java
@@ -16,20 +16,19 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.media.MediaRecorder;
 import android.test.AndroidTestCase;
 import android.util.Log;
 
 import java.io.File;
 
-@SecurityTest
 public class MediaRecorderInfoLeakTest extends AndroidTestCase {
 
    /**
     *  b/27855172
     */
-    @SecurityTest(minPatchLevel = "2016-06")
+    @AsbSecurityTest(cveBugId = 27855172)
     public void test_cve_2016_2499() throws Exception {
         MediaRecorder mediaRecorder = null;
         long end = System.currentTimeMillis() + 600_000; // 10 minutes from now
diff --git a/tests/tests/security/src/android/security/cts/MediaServerCrashTest.java b/tests/tests/security/src/android/security/cts/MediaServerCrashTest.java
index 382a95f..2d2e084 100644
--- a/tests/tests/security/src/android/security/cts/MediaServerCrashTest.java
+++ b/tests/tests/security/src/android/security/cts/MediaServerCrashTest.java
@@ -23,7 +23,7 @@
 import android.os.ConditionVariable;
 import android.os.Environment;
 import android.os.ParcelFileDescriptor;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import android.util.Log;
 
@@ -38,7 +38,6 @@
 
 import android.security.cts.R;
 
-@SecurityTest
 public class MediaServerCrashTest extends AndroidTestCase {
     private static final String TAG = "MediaServerCrashTest";
 
@@ -90,6 +89,7 @@
         new File(mFlFilePath).delete();
     }
 
+    @AsbSecurityTest(cveBugId = 25070434)
     public void testInvalidMidiNullPointerAccess() throws Exception {
         testIfMediaServerDied(R.raw.midi_crash);
     }
@@ -115,6 +115,7 @@
         }
     }
 
+    @AsbSecurityTest(cveBugId = 25070434)
     public void testDrmManagerClientReset() throws Exception {
         checkIfMediaServerDiedForDrm(R.raw.drm_uaf);
     }
diff --git a/tests/tests/security/src/android/security/cts/Movie33897722.java b/tests/tests/security/src/android/security/cts/Movie33897722.java
index efc050f..2ce1610 100644
--- a/tests/tests/security/src/android/security/cts/Movie33897722.java
+++ b/tests/tests/security/src/android/security/cts/Movie33897722.java
@@ -23,14 +23,13 @@
 import android.graphics.Paint;
 import android.graphics.PorterDuff;
 import android.graphics.PorterDuffXfermode;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import java.io.InputStream;
 
 import android.security.cts.R;
 
-@SecurityTest
 public class Movie33897722 extends AndroidTestCase {
     /**
      * Verifies that decoding a particular GIF file does not read out out of bounds.
@@ -39,7 +38,7 @@
      * larger than 2. Ensure that we do not attempt to read colors from beyond the end of the
      * color map, which would be reading memory that we do not control, and may be uninitialized.
      */
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 33897722)
     public void test_android_bug_33897722() {
         // The image has a 10 x 10 frame on top of a transparent background. Only test the
         // 10 x 10 frame, since the original bug would never have used uninitialized memory
@@ -47,6 +46,7 @@
         test_movie(R.raw.bug_33897722, 600, 752, 10, 10);
     }
 
+    @AsbSecurityTest(cveBugId = 37662286)
     public void test_android_bug_37662286() {
         // The image has a background color that is out of range. Arbitrarily test
         // the upper left corner. (Most of the image is transparent.)
diff --git a/tests/tests/security/src/android/security/cts/NanoAppBundleTest.java b/tests/tests/security/src/android/security/cts/NanoAppBundleTest.java
index a324fd7..4f5754c 100644
--- a/tests/tests/security/src/android/security/cts/NanoAppBundleTest.java
+++ b/tests/tests/security/src/android/security/cts/NanoAppBundleTest.java
@@ -17,7 +17,7 @@
 package android.security.cts;
 
 import android.test.AndroidTestCase;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import androidx.test.InstrumentationRegistry;
 
 import android.content.pm.ActivityInfo;
@@ -53,7 +53,6 @@
 import static org.junit.Assert.assertTrue;
 
 @AppModeFull
-@SecurityTest
 public class NanoAppBundleTest extends AndroidTestCase {
 
     private static final String TAG = "NanoAppBundleTest";
@@ -93,7 +92,7 @@
     /**
      * b/113527124
      */
-    @SecurityTest(minPatchLevel = "2018-09")
+    @AsbSecurityTest(cveBugId = 77599679)
     public void testPoc_cve_2018_9471() throws Exception {
 
         try {
diff --git a/tests/tests/security/src/android/security/cts/NativeCodeTest.java b/tests/tests/security/src/android/security/cts/NativeCodeTest.java
index bb77ca9..c5a9bac 100644
--- a/tests/tests/security/src/android/security/cts/NativeCodeTest.java
+++ b/tests/tests/security/src/android/security/cts/NativeCodeTest.java
@@ -16,18 +16,17 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import junit.framework.TestCase;
 
-@SecurityTest
 public class NativeCodeTest extends TestCase {
 
     static {
         System.loadLibrary("ctssecurity_jni");
     }
 
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 22300191)
     public void testSysVipc() throws Exception {
         assertTrue("Android does not support Sys V IPC, it must "
                    + "be removed from the kernel. In the kernel config: "
diff --git a/tests/tests/security/src/android/security/cts/NetdTest.java b/tests/tests/security/src/android/security/cts/NetdTest.java
index 5ebd141..14623fd 100644
--- a/tests/tests/security/src/android/security/cts/NetdTest.java
+++ b/tests/tests/security/src/android/security/cts/NetdTest.java
@@ -18,7 +18,7 @@
 
 import android.os.Binder;
 import android.os.IBinder;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import junit.framework.TestCase;
 
@@ -26,7 +26,6 @@
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
-@SecurityTest
 public class NetdTest extends TestCase {
 
     /**
@@ -34,6 +33,7 @@
      * Based on jsharkey PoC in b/5758556
      *    serv.setInterfaceThrottle("foo; reboot; echo ", -1, -1);
      */
+    @AsbSecurityTest(cveBugId = 5758556)
     public void testThrottleSanitization() {
         try {
 
diff --git a/tests/tests/security/src/android/security/cts/OutputConfigurationTest.java b/tests/tests/security/src/android/security/cts/OutputConfigurationTest.java
index d1b263f..f810817 100644
--- a/tests/tests/security/src/android/security/cts/OutputConfigurationTest.java
+++ b/tests/tests/security/src/android/security/cts/OutputConfigurationTest.java
@@ -19,7 +19,7 @@
 import android.graphics.SurfaceTexture;
 import android.hardware.camera2.params.OutputConfiguration;
 import android.os.Parcel;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import android.util.Size;
 import android.view.Surface;
@@ -28,8 +28,8 @@
 /**
  * Verify that OutputConfiguration's fields propagate through parcel properly.
  */
-@SecurityTest
 public class OutputConfigurationTest extends AndroidTestCase {
+    @AsbSecurityTest(cveBugId = 69683251)
     public void testSharedSurfaceOutputConfigurationBasic() throws Exception {
         SurfaceTexture outputTexture = new SurfaceTexture(/* random texture ID */ 5);
         Surface surface = new Surface(outputTexture);
diff --git a/tests/tests/security/src/android/security/cts/PackageInstallerTest.java b/tests/tests/security/src/android/security/cts/PackageInstallerTest.java
index b87b36b..887538b 100644
--- a/tests/tests/security/src/android/security/cts/PackageInstallerTest.java
+++ b/tests/tests/security/src/android/security/cts/PackageInstallerTest.java
@@ -18,7 +18,7 @@
 
 import android.Manifest;
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
 import androidx.test.platform.app.InstrumentationRegistry;
 
@@ -36,7 +36,6 @@
 import java.util.concurrent.TimeUnit;
 
 @RunWith(JUnit4.class)
-@SecurityTest
 @AppModeFull
 public class PackageInstallerTest {
 
@@ -65,6 +64,7 @@
     }
 
     @Test
+    @AsbSecurityTest(cveBugId = 138650665)
     public void verificationCanNotBeDisabledByInstaller() throws Exception {
         Install.single(TEST_APP).addInstallFlags(
                 0x00080000 /* PackageManager.INSTALL_DISABLE_VERIFICATION */).commit();
diff --git a/tests/tests/security/src/android/security/cts/PackageSignatureTest.java b/tests/tests/security/src/android/security/cts/PackageSignatureTest.java
index c5234d6..6e0c06d 100644
--- a/tests/tests/security/src/android/security/cts/PackageSignatureTest.java
+++ b/tests/tests/security/src/android/security/cts/PackageSignatureTest.java
@@ -22,7 +22,6 @@
 import android.content.pm.Signature;
 import android.content.res.Resources.NotFoundException;
 import android.platform.test.annotations.RestrictedBuildTest;
-import android.platform.test.annotations.SecurityTest;
 import android.test.AndroidTestCase;
 import android.util.Log;
 
@@ -38,7 +37,6 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-@SecurityTest
 public class PackageSignatureTest extends AndroidTestCase {
 
     private static final String TAG = PackageSignatureTest.class.getSimpleName();
diff --git a/tests/tests/security/src/android/security/cts/ParcelableExceptionTest.java b/tests/tests/security/src/android/security/cts/ParcelableExceptionTest.java
index a024e50..5b4e530 100644
--- a/tests/tests/security/src/android/security/cts/ParcelableExceptionTest.java
+++ b/tests/tests/security/src/android/security/cts/ParcelableExceptionTest.java
@@ -17,7 +17,7 @@
 package android.security.cts;
 
 import android.test.AndroidTestCase;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.security.cts.R;
 
 import android.content.Context;
@@ -30,10 +30,9 @@
 import java.io.File;
 import java.lang.reflect.Field;
 
-@SecurityTest
 public class ParcelableExceptionTest extends AndroidTestCase {
 
-    @SecurityTest(minPatchLevel = "2017-12")
+    @AsbSecurityTest(cveBugId = 65281159)
     public void test_CVE_2017_0871() throws Exception {
         String filePath = "/data/system/" + System.currentTimeMillis();
         File file = new File(filePath);
diff --git a/tests/tests/security/src/android/security/cts/PutOverflowTest.java b/tests/tests/security/src/android/security/cts/PutOverflowTest.java
index 6f7e8da..2bf7a85 100644
--- a/tests/tests/security/src/android/security/cts/PutOverflowTest.java
+++ b/tests/tests/security/src/android/security/cts/PutOverflowTest.java
@@ -16,13 +16,12 @@
 
 package android.security.cts;
 
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import java.lang.reflect.Method;
 
-@SecurityTest
 public class PutOverflowTest extends AndroidTestCase {
-    @SecurityTest(minPatchLevel = "2015-02")
+    @AsbSecurityTest(cveBugId = 22802399)
     public void testCrash() throws Exception {
         try {
             Class<?> keystoreClass = Class.forName("android.security.KeyStore");
diff --git a/tests/tests/security/src/android/security/cts/RunningAppProcessInfoTest.java b/tests/tests/security/src/android/security/cts/RunningAppProcessInfoTest.java
index 65ce85f..8405acc 100644
--- a/tests/tests/security/src/android/security/cts/RunningAppProcessInfoTest.java
+++ b/tests/tests/security/src/android/security/cts/RunningAppProcessInfoTest.java
@@ -18,12 +18,11 @@
 
 import android.app.ActivityManager;
 import android.content.Context;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import java.util.List;
 
-@SecurityTest
 public class RunningAppProcessInfoTest extends AndroidTestCase {
     /*
      * This test verifies severity vulnerability: apps can bypass the L restrictions in
@@ -31,6 +30,7 @@
      * the test if it is not able to get other process information.
      */
 
+    @AsbSecurityTest(cveBugId = 20034603)
     public void testRunningAppProcessInfo() {
         ActivityManager amActivityManager =
                 (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
diff --git a/tests/tests/security/src/android/security/cts/SQLiteTest.java b/tests/tests/security/src/android/security/cts/SQLiteTest.java
index 55e731d..a3a14d4 100644
--- a/tests/tests/security/src/android/security/cts/SQLiteTest.java
+++ b/tests/tests/security/src/android/security/cts/SQLiteTest.java
@@ -26,7 +26,7 @@
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 import android.net.Uri;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.provider.VoicemailContract;
 import android.test.AndroidTestCase;
 
@@ -35,7 +35,6 @@
 import java.io.File;
 import java.io.FileInputStream;
 
-@SecurityTest
 public class SQLiteTest extends AndroidTestCase {
     private static final String DATABASE_FILE_NAME = "database_test.db";
 
@@ -62,7 +61,7 @@
     /**
      * b/139186193
      */
-    @SecurityTest(minPatchLevel = "2019-11")
+    @AsbSecurityTest(cveBugId = 139186193)
     public void test_android_cve_2019_2195() {
         Uri uri = VoicemailContract.Voicemails.CONTENT_URI;
         uri = uri.buildUpon().appendQueryParameter("source_package", mPackageName).build();
@@ -99,7 +98,7 @@
     /**
      * b/153352319
      */
-    @SecurityTest(minPatchLevel = "2021-06")
+    @AsbSecurityTest(cveBugId = 153352319)
     public void test_android_float_to_text_conversion_overflow() {
         String create_cmd = "select (printf('%.2147483647G',0.01));";
         try (Cursor c = mDatabase.rawQuery(create_cmd, null)) {
diff --git a/tests/tests/security/src/android/security/cts/STKFrameworkTest.java b/tests/tests/security/src/android/security/cts/STKFrameworkTest.java
index e431a6c..7e6fb7c 100644
--- a/tests/tests/security/src/android/security/cts/STKFrameworkTest.java
+++ b/tests/tests/security/src/android/security/cts/STKFrameworkTest.java
@@ -17,12 +17,11 @@
 
 import android.content.ComponentName;
 import android.content.Intent;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 import android.content.pm.PackageManager;
 import android.test.AndroidTestCase;
 
-@SecurityTest
 public class STKFrameworkTest extends AndroidTestCase {
     private boolean mHasTelephony;
 
@@ -42,6 +41,7 @@
      * Verifies commands Intercepting which has been sent from SIM card to Telephony using
      * zero-permission malicious application
      */
+    @AsbSecurityTest(cveBugId = 21697171)
     public void testInterceptedSIMCommandsToTelephony() {
         if (!mHasTelephony) {
             return;
diff --git a/tests/tests/security/src/android/security/cts/SkiaICORecursiveDecodingTest.java b/tests/tests/security/src/android/security/cts/SkiaICORecursiveDecodingTest.java
index 16f01eb..4a9802f 100644
--- a/tests/tests/security/src/android/security/cts/SkiaICORecursiveDecodingTest.java
+++ b/tests/tests/security/src/android/security/cts/SkiaICORecursiveDecodingTest.java
@@ -18,28 +18,27 @@
 
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import java.io.InputStream;
 
 import android.security.cts.R;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 
-@SecurityTest
 public class SkiaICORecursiveDecodingTest extends AndroidTestCase {
 
-    @SecurityTest(minPatchLevel = "2018-05")
+    @AsbSecurityTest(cveBugId = 73782357)
     public void testAndroid_cve_2017_13318() {
         doSkiaIcoRecursiveDecodingTest(R.raw.cve_2017_13318);
     }
 
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 17262540)
     public void test_android_bug_17262540() {
         doSkiaIcoRecursiveDecodingTest(R.raw.bug_17262540);
     }
 
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 17265466)
     public void test_android_bug_17265466() {
         doSkiaIcoRecursiveDecodingTest(R.raw.bug_17265466);
     }
diff --git a/tests/tests/security/src/android/security/cts/StagefrightTest.java b/tests/tests/security/src/android/security/cts/StagefrightTest.java
index cfa6012..4d40a23 100644
--- a/tests/tests/security/src/android/security/cts/StagefrightTest.java
+++ b/tests/tests/security/src/android/security/cts/StagefrightTest.java
@@ -42,7 +42,7 @@
 import android.os.SystemClock;
 import android.platform.test.annotations.AppModeFull;
 import android.os.Parcel;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.util.Log;
 import android.view.Surface;
 import android.webkit.cts.CtsTestServer;
@@ -144,206 +144,206 @@
      ***********************************************************/
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-04")
+    @AsbSecurityTest(cveBugId = 122472139)
     public void testStagefright_cve_2019_2244() throws Exception {
         doStagefrightTestRawBlob(R.raw.cve_2019_2244, "video/mpeg2", 320, 420);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 36725407)
     public void testStagefright_bug_36725407() throws Exception {
         doStagefrightTest(R.raw.bug_36725407);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-08")
+    @AsbSecurityTest(cveBugId = 29023649)
     public void testStagefright_cve_2016_3829() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3829, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 35645051)
     public void testStagefright_cve_2017_0643() throws Exception {
         doStagefrightTest(R.raw.cve_2017_0643, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 37469795)
     public void testStagefright_cve_2017_0728() throws Exception {
         doStagefrightTest(R.raw.cve_2017_0728, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-10")
+    @AsbSecurityTest(cveBugId = 62187433)
     public void testStagefright_bug_62187433() throws Exception {
         doStagefrightTest(R.raw.bug_62187433);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 62673844)
     public void testStagefrightANR_bug_62673844() throws Exception {
         doStagefrightTestANR(R.raw.bug_62673844);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 37079296)
     public void testStagefright_bug_37079296() throws Exception {
         doStagefrightTest(R.raw.bug_37079296);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 38342499)
     public void testStagefright_bug_38342499() throws Exception {
         doStagefrightTest(R.raw.bug_38342499);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 22771132)
     public void testStagefright_bug_22771132() throws Exception {
         doStagefrightTest(R.raw.bug_22771132);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 21443020)
     public void testStagefright_bug_21443020() throws Exception {
         doStagefrightTest(R.raw.bug_21443020_webm);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-03")
+    @AsbSecurityTest(cveBugId = 34360591)
     public void testStagefright_bug_34360591() throws Exception {
         doStagefrightTest(R.raw.bug_34360591);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 35763994)
     public void testStagefright_bug_35763994() throws Exception {
         doStagefrightTest(R.raw.bug_35763994, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33137046)
     public void testStagefright_bug_33137046() throws Exception {
         doStagefrightTest(R.raw.bug_33137046);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 28532266)
     public void testStagefright_cve_2016_2507() throws Exception {
         doStagefrightTest(R.raw.cve_2016_2507, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 31647370)
     public void testStagefright_bug_31647370() throws Exception {
         doStagefrightTest(R.raw.bug_31647370);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-01")
+    @AsbSecurityTest(cveBugId = 32577290)
     public void testStagefright_bug_32577290() throws Exception {
         doStagefrightTest(R.raw.bug_32577290);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 20139950)
     public void testStagefright_cve_2015_1538_1() throws Exception {
         doStagefrightTest(R.raw.cve_2015_1538_1);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 20139950)
     public void testStagefright_cve_2015_1538_2() throws Exception {
         doStagefrightTest(R.raw.cve_2015_1538_2);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 20139950)
     public void testStagefright_cve_2015_1538_3() throws Exception {
         doStagefrightTest(R.raw.cve_2015_1538_3);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 20139950)
     public void testStagefright_cve_2015_1538_4() throws Exception {
         doStagefrightTest(R.raw.cve_2015_1538_4);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 20139950)
     public void testStagefright_cve_2015_1539() throws Exception {
         doStagefrightTest(R.raw.cve_2015_1539);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-01")
+    @AsbSecurityTest(cveBugId = 21468251)
     public void testStagefright_cve_2015_3824() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3824);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-01")
+    @AsbSecurityTest(cveBugId = 21467632)
     public void testStagefright_cve_2015_3826() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3826);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-01")
+    @AsbSecurityTest(cveBugId = 21468053)
     public void testStagefright_cve_2015_3827() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3827);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-01")
+    @AsbSecurityTest(cveBugId = 21467634)
     public void testStagefright_cve_2015_3828() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3828);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-01")
+    @AsbSecurityTest(cveBugId = 21467767)
     public void testStagefright_cve_2015_3829() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3829);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-01")
+    @AsbSecurityTest(cveBugId = 21132860)
     public void testStagefright_cve_2015_3836() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3836);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-01")
+    @AsbSecurityTest(cveBugId = 23034759)
     public void testStagefright_cve_2015_3864() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3864);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-01")
+    @AsbSecurityTest(cveBugId = 23034759)
     public void testStagefright_cve_2015_3864_b23034759() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3864_b23034759);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 23306638)
     public void testStagefright_cve_2015_6598() throws Exception {
         doStagefrightTest(R.raw.cve_2015_6598);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-12")
+    @AsbSecurityTest(cveBugId = 31318219)
     public void testStagefright_cve_2016_6766() throws Exception {
         doStagefrightTest(R.raw.cve_2016_6766);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-02")
+    @AsbSecurityTest(cveBugId = 27211885)
     public void testStagefright_cve_2016_2429_b_27211885() throws Exception {
         doStagefrightTest(R.raw.cve_2016_2429_b_27211885,
                 new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 34031018)
     public void testStagefright_bug_34031018() throws Exception {
         doStagefrightTest(R.raw.bug_34031018_32bit, new CrashUtils.Config().checkMinAddress(false));
         doStagefrightTest(R.raw.bug_34031018_64bit, new CrashUtils.Config().checkMinAddress(false));
@@ -355,38 +355,38 @@
      ***********************************************************/
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 65123471)
     public void testStagefright_bug_65123471() throws Exception {
         doStagefrightTest(R.raw.bug_65123471);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-04")
+    @AsbSecurityTest(cveBugId = 72165027)
     public void testStagefright_bug_72165027() throws Exception {
         doStagefrightTest(R.raw.bug_72165027);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-06")
+    @AsbSecurityTest(cveBugId = 65483665)
     public void testStagefright_bug_65483665() throws Exception {
         doStagefrightTest(R.raw.bug_65483665);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 62815506)
     public void testStagefright_cve_2017_0852_b_62815506() throws Exception {
         doStagefrightTest(R.raw.cve_2017_0852_b_62815506,
                 new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-02")
+    @AsbSecurityTest(cveBugId = 68160703)
     public void testStagefright_cve_2017_13229() throws Exception {
         doStagefrightTest(R.raw.cve_2017_13229);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 62534693)
     public void testStagefright_cve_2017_0763() throws Exception {
         doStagefrightTest(R.raw.cve_2017_0763);
     }
@@ -397,92 +397,92 @@
      ***********************************************************/
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-06")
+    @AsbSecurityTest(cveBugId = 73965890)
     public void testBug_73965890() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_73965890_framelen);
         doStagefrightTestRawBlob(R.raw.bug_73965890_hevc, "video/hevc", 320, 240, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-10")
+    @AsbSecurityTest(cveBugId = 30744884)
     public void testStagefright_cve_2016_3920() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3920, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 38448381)
     public void testStagefright_bug_38448381() throws Exception {
         doStagefrightTest(R.raw.bug_38448381);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-08")
+    @AsbSecurityTest(cveBugId = 28166152)
     public void testStagefright_cve_2016_3821() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3821, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-04")
+    @AsbSecurityTest(cveBugId = 70897454)
     public void testStagefright_bug_70897454() throws Exception {
         doStagefrightTestRawBlob(R.raw.b70897454_avc, "video/avc", 320, 420);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28165659)
     public void testStagefright_cve_2016_3742_b_28165659() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3742_b_28165659);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-05")
+    @AsbSecurityTest(cveBugId = 35039946)
     public void testStagefright_bug_35039946() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_35039946_hevc, "video/hevc", 320, 420);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 38115076)
     public void testStagefright_bug_38115076() throws Exception {
         doStagefrightTest(R.raw.bug_38115076, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-05")
+    @AsbSecurityTest(cveBugId = 34618607)
     public void testStagefright_bug_34618607() throws Exception {
         doStagefrightTest(R.raw.bug_34618607, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-02")
+    @AsbSecurityTest(cveBugId = 69478425)
     public void testStagefright_bug_69478425() throws Exception {
         doStagefrightTest(R.raw.bug_69478425);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 65735716)
     public void testStagefright_bug_65735716() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_65735716_avc, "video/avc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-12")
+    @AsbSecurityTest(cveBugId = 65717533)
     public void testStagefright_bug_65717533() throws Exception {
         doStagefrightTest(R.raw.bug_65717533_header_corrupt);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 38239864)
     public void testStagefright_bug_38239864() throws Exception {
         doStagefrightTest(R.raw.bug_38239864, (4 * 60 * 1000));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-05")
+    @AsbSecurityTest(cveBugId = 35269635)
     public void testStagefright_cve_2017_0600() throws Exception {
         doStagefrightTest(R.raw.cve_2017_0600, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 38014992)
     public void testBug_38014992() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_38014992_framelen);
         doStagefrightTestRawBlob(R.raw.bug_38014992_avc, "video/avc", 640, 480, frameSizes,
@@ -490,35 +490,35 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 35584425)
     public void testBug_35584425() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_35584425_framelen);
         doStagefrightTestRawBlob(R.raw.bug_35584425_avc, "video/avc", 352, 288, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 31092462)
     public void testBug_31092462() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_31092462_framelen);
         doStagefrightTestRawBlob(R.raw.bug_31092462_avc, "video/avc", 1280, 1024, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 34097866)
     public void testBug_34097866() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_34097866_frame_len);
         doStagefrightTestRawBlob(R.raw.bug_34097866_avc, "video/avc", 352, 288, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33862021)
     public void testBug_33862021() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_33862021_frame_len);
         doStagefrightTestRawBlob(R.raw.bug_33862021_hevc, "video/hevc", 160, 96, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33387820)
     public void testBug_33387820() throws Exception {
         int[] frameSizes = {45, 3202, 430, 2526};
         doStagefrightTestRawBlob(R.raw.bug_33387820_avc, "video/avc", 320, 240, frameSizes,
@@ -526,42 +526,42 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 37008096)
     public void testBug_37008096() throws Exception {
         int[] frameSizes = {245, 12, 33, 140, 164};
         doStagefrightTestRawBlob(R.raw.bug_37008096_avc, "video/avc", 320, 240, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 34231163)
     public void testStagefright_bug_34231163() throws Exception {
         int[] frameSizes = {22, 357, 217, 293, 175};
         doStagefrightTestRawBlob(R.raw.bug_34231163_mpeg2, "video/mpeg2", 320, 240, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 33933140)
     public void testStagefright_bug_33933140() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_33933140_framelen);
         doStagefrightTestRawBlob(R.raw.bug_33933140_avc, "video/avc", 320, 240, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 34097915)
     public void testStagefright_bug_34097915() throws Exception {
         int[] frameSizes = {4140, 593, 0, 15495};
         doStagefrightTestRawBlob(R.raw.bug_34097915_avc, "video/avc", 320, 240, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 34097213)
     public void testStagefright_bug_34097213() throws Exception {
         int[] frameSizes = {2571, 210, 33858};
         doStagefrightTestRawBlob(R.raw.bug_34097213_avc, "video/avc", 320, 240, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-08")
+    @AsbSecurityTest(cveBugId = 28816956)
     public void testBug_28816956() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_28816956_framelen);
         doStagefrightTestRawBlob(
@@ -570,7 +570,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33818500)
     public void testBug_33818500() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_33818500_framelen);
         doStagefrightTestRawBlob(R.raw.bug_33818500_avc, "video/avc", 64, 32, frameSizes,
@@ -578,114 +578,114 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 64784973)
     public void testBug_64784973() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_64784973_framelen);
         doStagefrightTestRawBlob(R.raw.bug_64784973_hevc, "video/hevc", 1280, 720, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 34231231)
     public void testBug_34231231() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_34231231_framelen);
         doStagefrightTestRawBlob(R.raw.bug_34231231_mpeg2, "video/mpeg2", 352, 288, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-10")
+    @AsbSecurityTest(cveBugId = 63045918)
     public void testBug_63045918() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_63045918_framelen);
         doStagefrightTestRawBlob(R.raw.bug_63045918_hevc, "video/hevc", 352, 288, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33298089)
     public void testBug_33298089() throws Exception {
         int[] frameSizes = {3247, 430, 221, 2305};
         doStagefrightTestRawBlob(R.raw.bug_33298089_avc, "video/avc", 32, 64, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-05")
+    @AsbSecurityTest(cveBugId = 34672748)
     public void testStagefright_cve_2017_0599() throws Exception {
         doStagefrightTest(R.raw.cve_2017_0599, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 36492741)
     public void testStagefright_bug_36492741() throws Exception {
         doStagefrightTest(R.raw.bug_36492741);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 38487564)
     public void testStagefright_bug_38487564() throws Exception {
         doStagefrightTest(R.raw.bug_38487564, (4 * 60 * 1000));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 37237396)
     public void testStagefright_bug_37237396() throws Exception {
         doStagefrightTest(R.raw.bug_37237396);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 25818142)
     public void testStagefright_cve_2016_0842() throws Exception {
         doStagefrightTest(R.raw.cve_2016_0842);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-11")
+    @AsbSecurityTest(cveBugId = 63121644)
     public void testStagefright_bug_63121644() throws Exception {
         doStagefrightTest(R.raw.bug_63121644);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 30593752)
     public void testStagefright_cve_2016_6712() throws Exception {
         doStagefrightTest(R.raw.cve_2016_6712, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 34097231)
     public void testStagefright_bug_34097231() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_34097231_avc, "video/avc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-05")
+    @AsbSecurityTest(cveBugId = 34097672)
     public void testStagefright_bug_34097672() throws Exception {
         doStagefrightTest(R.raw.bug_34097672);
     }
 
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33751193)
     public void testStagefright_bug_33751193() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_33751193_avc, "video/avc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 36993291)
     public void testBug_36993291() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_36993291_avc, "video/avc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 33818508)
     public void testStagefright_bug_33818508() throws Exception {
         doStagefrightTest(R.raw.bug_33818508, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 32873375)
     public void testStagefright_bug_32873375() throws Exception {
         doStagefrightTest(R.raw.bug_32873375, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-02")
+    @AsbSecurityTest(cveBugId = 63522067)
     public void testStagefright_bug_63522067() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_63522067_1_hevc, "video/hevc", 320, 420);
         doStagefrightTestRawBlob(R.raw.bug_63522067_2_hevc, "video/hevc", 320, 420);
@@ -694,79 +694,79 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-03")
+    @AsbSecurityTest(cveBugId = 25765591)
     public void testStagefright_bug_25765591() throws Exception {
         doStagefrightTest(R.raw.bug_25765591);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 62673179)
     public void testStagefright_bug_62673179() throws Exception {
         doStagefrightTest(R.raw.bug_62673179_ts, (4 * 60 * 1000));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-03")
+    @AsbSecurityTest(cveBugId = 69269702)
     public void testStagefright_bug_69269702() throws Exception {
         doStagefrightTest(R.raw.bug_69269702);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 23213430)
     public void testStagefright_cve_2015_3867() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3867);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 65398821)
     public void testStagefright_bug_65398821() throws Exception {
         doStagefrightTest(R.raw.bug_65398821, ( 4 * 60 * 1000 ) );
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 23036083)
     public void testStagefright_cve_2015_3869() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3869);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-03")
+    @AsbSecurityTest(cveBugId = 23452792)
     public void testStagefright_bug_23452792() throws Exception {
         doStagefrightTest(R.raw.bug_23452792);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-08")
+    @AsbSecurityTest(cveBugId = 28673410)
     public void testStagefright_cve_2016_3820() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3820);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28165661)
     public void testStagefright_cve_2016_3741() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3741);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28175045)
     public void testStagefright_cve_2016_2506() throws Exception {
         doStagefrightTest(R.raw.cve_2016_2506);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-06")
+    @AsbSecurityTest(cveBugId = 26751339)
     public void testStagefright_cve_2016_2428() throws Exception {
         doStagefrightTest(R.raw.cve_2016_2428, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28556125)
     public void testStagefright_cve_2016_3756() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3756);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 36592202)
     public void testStagefright_bug_36592202() throws Exception {
         Resources resources = getInstrumentation().getContext().getResources();
         AssetFileDescriptor fd = resources.openRawResourceFd(R.raw.bug_36592202);
@@ -816,165 +816,165 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 30822755)
     public void testStagefright_bug_30822755() throws Exception {
         doStagefrightTest(R.raw.bug_30822755);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 32322258)
     public void testStagefright_bug_32322258() throws Exception {
         doStagefrightTest(R.raw.bug_32322258, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 23248776)
     public void testStagefright_cve_2015_3873_b_23248776() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3873_b_23248776);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 35472997)
     public void testStagefright_bug_35472997() throws Exception {
         doStagefrightTest(R.raw.bug_35472997);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 20718524)
     public void testStagefright_cve_2015_3873_b_20718524() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3873_b_20718524);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 34896431)
     public void testStagefright_bug_34896431() throws Exception {
         doStagefrightTest(R.raw.bug_34896431);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-04")
+    @AsbSecurityTest(cveBugId = 33641588)
     public void testBug_33641588() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_33641588_avc, "video/avc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 22954006)
     public void testStagefright_cve_2015_3862_b_22954006() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3862_b_22954006,
                 new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 23213430)
     public void testStagefright_cve_2015_3867_b_23213430() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3867_b_23213430);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 21814993)
     public void testStagefright_cve_2015_3873_b_21814993() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3873_b_21814993);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-04")
+    @AsbSecurityTest(cveBugId = 25812590)
     public void testStagefright_bug_25812590() throws Exception {
         doStagefrightTest(R.raw.bug_25812590);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 22882938)
     public void testStagefright_cve_2015_6600() throws Exception {
         doStagefrightTest(R.raw.cve_2015_6600);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 23227354)
     public void testStagefright_cve_2015_6603() throws Exception {
         doStagefrightTest(R.raw.cve_2015_6603);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 23129786)
     public void testStagefright_cve_2015_6604() throws Exception {
         doStagefrightTest(R.raw.cve_2015_6604);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-12")
+    @AsbSecurityTest(cveBugId = 24157524)
     public void testStagefright_bug_24157524() throws Exception {
         doStagefrightTestMediaCodec(R.raw.bug_24157524);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-10")
+    @AsbSecurityTest(cveBugId = 23031033)
     public void testStagefright_cve_2015_3871() throws Exception {
         doStagefrightTest(R.raw.cve_2015_3871);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-04")
+    @AsbSecurityTest(cveBugId = 26070014)
     public void testStagefright_bug_26070014() throws Exception {
         doStagefrightTest(R.raw.bug_26070014);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 32915871)
     public void testStagefright_bug_32915871() throws Exception {
         doStagefrightTest(R.raw.bug_32915871);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28333006)
     public void testStagefright_bug_28333006() throws Exception {
         doStagefrightTest(R.raw.bug_28333006);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-11")
+    @AsbSecurityTest(cveBugId = 14388161)
     public void testStagefright_bug_14388161() throws Exception {
         doStagefrightTestMediaPlayer(R.raw.bug_14388161);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28470138)
     public void testStagefright_cve_2016_3755() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3755, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-09")
+    @AsbSecurityTest(cveBugId = 29493002)
     public void testStagefright_cve_2016_3878_b_29493002() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3878_b_29493002,
                 new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 36819262)
     public void testBug_36819262() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_36819262_mpeg2, "video/mpeg2", 640, 480);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-11")
+    @AsbSecurityTest(cveBugId = 23680780)
     public void testStagefright_cve_2015_6608_b_23680780() throws Exception {
         doStagefrightTest(R.raw.cve_2015_6608_b_23680780);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 36715268)
     public void testStagefright_bug_36715268() throws Exception {
         doStagefrightTest(R.raw.bug_36715268);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-06")
+    @AsbSecurityTest(cveBugId = 27855419)
     public void testStagefright_bug_27855419_CVE_2016_2463() throws Exception {
         doStagefrightTest(R.raw.bug_27855419, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-11")
+    @AsbSecurityTest(cveBugId = 19779574)
     public void testStagefright_bug_19779574() throws Exception {
         doStagefrightTest(R.raw.bug_19779574, new CrashUtils.Config().checkMinAddress(false));
     }
@@ -985,20 +985,20 @@
      ***********************************************************/
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33090864)
     public void testBug_33090864() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_33090864_framelen);
         doStagefrightTestRawBlob(R.raw.bug_33090864_avc, "video/avc", 320, 240, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 36279112)
     public void testStagefright_bug_36279112() throws Exception {
         doStagefrightTest(R.raw.bug_36279112, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 33129467)
     public void testStagefright_cve_2017_0640() throws Exception {
         int[] frameSizes = {21, 4};
         doStagefrightTestRawBlob(R.raw.cve_2017_0640_avc, "video/avc", 640, 480,
@@ -1006,33 +1006,33 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 37203196)
     public void testBug_37203196() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_37203196_framelen);
         doStagefrightTestRawBlob(R.raw.bug_37203196_mpeg2, "video/mpeg2", 48, 48, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-06")
+    @AsbSecurityTest(cveBugId = 73552574)
     public void testBug_73552574() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_73552574_framelen);
         doStagefrightTestRawBlob(R.raw.bug_73552574_avc, "video/avc", 320, 240, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2015-09")
+    @AsbSecurityTest(cveBugId = 23285192)
     public void testStagefright_bug_23285192() throws Exception {
         doStagefrightTest(R.raw.bug_23285192);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-03")
+    @AsbSecurityTest(cveBugId = 25928803)
     public void testStagefright_bug_25928803() throws Exception {
         doStagefrightTest(R.raw.bug_25928803);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-04")
+    @AsbSecurityTest(cveBugId = 26399350)
     public void testBug_26399350() throws Exception {
         int[] frameSizes = {657, 54930};
         doStagefrightTestRawBlob(R.raw.bug_26399350_avc, "video/avc", 640, 480,
@@ -1040,13 +1040,13 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-12")
+    @AsbSecurityTest(cveBugId = 113260892)
     public void testBug_113260892() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_113260892_hevc, "video/hevc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-02")
+    @AsbSecurityTest(cveBugId = 68342866)
     public void testStagefright_bug_68342866() throws Exception {
         NetworkSecurityPolicy policy = NetworkSecurityPolicy.getInstance();
         policy.setCleartextTrafficPermitted(true);
@@ -1120,74 +1120,74 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-05")
+    @AsbSecurityTest(cveBugId = 74114680)
     public void testStagefright_bug_74114680() throws Exception {
         doStagefrightTest(R.raw.bug_74114680_ts, (10 * 60 * 1000));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-03")
+    @AsbSecurityTest(cveBugId = 70239507)
     public void testStagefright_bug_70239507() throws Exception {
         doStagefrightTestExtractorSeek(R.raw.bug_70239507,1311768465173141112L);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33250932)
     public void testBug_33250932() throws Exception {
     int[] frameSizes = {65, 11, 102, 414};
     doStagefrightTestRawBlob(R.raw.bug_33250932_avc, "video/avc", 640, 480, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 37430213)
     public void testStagefright_bug_37430213() throws Exception {
     doStagefrightTest(R.raw.bug_37430213);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-11")
+    @AsbSecurityTest(cveBugId = 68664359)
     public void testStagefright_bug_68664359() throws Exception {
         doStagefrightTest(R.raw.bug_68664359, 60000);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-11")
+    @AsbSecurityTest(cveBugId = 110435401)
     public void testStagefright_bug_110435401() throws Exception {
         doStagefrightTest(R.raw.bug_110435401, 60000);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 32589224)
     public void testStagefright_cve_2017_0474() throws Exception {
         doStagefrightTest(R.raw.cve_2017_0474, 120000);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-09")
+    @AsbSecurityTest(cveBugId = 62872863)
     public void testStagefright_cve_2017_0765() throws Exception {
         doStagefrightTest(R.raw.cve_2017_0765);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-04")
+    @AsbSecurityTest(cveBugId = 70637599)
     public void testStagefright_cve_2017_13276() throws Exception {
         doStagefrightTest(R.raw.cve_2017_13276);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-12")
+    @AsbSecurityTest(cveBugId = 31681434)
     public void testStagefright_cve_2016_6764() throws Exception {
         doStagefrightTest(R.raw.cve_2016_6764, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 38495900)
     public void testStagefright_cve_2017_13214() throws Exception {
         doStagefrightTest(R.raw.cve_2017_13214);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 35467107)
     public void testStagefright_bug_35467107() throws Exception {
         doStagefrightTest(R.raw.bug_35467107, new CrashUtils.Config().checkMinAddress(false));
     }
@@ -1197,13 +1197,13 @@
      before any existing test methods
      ***********************************************************/
     @Test
-    @SecurityTest(minPatchLevel = "2020-11")
+    @AsbSecurityTest(cveBugId = 162756352)
     public void testStagefright_cve_2020_11184() throws Exception {
         doStagefrightTest(R.raw.cve_2020_11184);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-07")
+    @AsbSecurityTest(cveBugId = 130024844)
     public void testStagefright_cve_2019_2107() throws Exception {
         assumeFalse(ModuleDetector.moduleIsPlayManaged(
             getInstrumentation().getContext().getPackageManager(),
@@ -1214,85 +1214,85 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-04")
+    @AsbSecurityTest(cveBugId = 122473145)
     public void testStagefright_cve_2019_2245() throws Exception {
         doStagefrightTest(R.raw.cve_2019_2245);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-04")
+    @AsbSecurityTest(cveBugId = 120483842)
     public void testStagefright_cve_2018_13925() throws Exception {
         doStagefrightTest(R.raw.cve_2018_13925);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-12")
+    @AsbSecurityTest(cveBugId = 157905659)
     public void testStagefright_cve_2020_11139() throws Exception {
         doStagefrightTest(R.raw.cve_2020_11139);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-06")
+    @AsbSecurityTest(cveBugId = 150697436)
     public void testStagefright_cve_2020_3663() throws Exception {
         doStagefrightTest(R.raw.cve_2020_3663);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-08")
+    @AsbSecurityTest(cveBugId = 155653312)
     public void testStagefright_cve_2020_11122() throws Exception {
         doStagefrightTest(R.raw.cve_2020_11122);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-07")
+    @AsbSecurityTest(cveBugId = 153345450)
     public void testStagefright_cve_2020_3688() throws Exception {
         doStagefrightTest(R.raw.cve_2020_3688);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-11")
+    @AsbSecurityTest(cveBugId = 162756122)
     public void testStagefright_cve_2020_11168() throws Exception {
         doStagefrightTest(R.raw.cve_2020_11168);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-06")
+    @AsbSecurityTest(cveBugId = 150697838)
     public void testStagefright_cve_2020_3658() throws Exception {
         doStagefrightTest(R.raw.cve_2020_3658);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-05")
+    @AsbSecurityTest(cveBugId = 148816216)
     public void testStagefright_cve_2020_3633() throws Exception {
         doStagefrightTest(R.raw.cve_2020_3633);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-06")
+    @AsbSecurityTest(cveBugId = 150695050)
     public void testStagefright_cve_2020_3660() throws Exception {
         doStagefrightTest(R.raw.cve_2020_3660);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-06")
+    @AsbSecurityTest(cveBugId = 150695169)
     public void testStagefright_cve_2020_3661() throws Exception {
         doStagefrightTest(R.raw.cve_2020_3661);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271944)
     public void testStagefright_cve_2019_14013() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14013);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-06")
+    @AsbSecurityTest(cveBugId = 150696661)
     public void testStagefright_cve_2020_3662() throws Exception {
         doStagefrightTest(R.raw.cve_2020_3662);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2021-01")
+    @AsbSecurityTest(cveBugId = 170583712)
     public void testStagefright_cve_2021_0312() throws Exception {
         assumeFalse(ModuleDetector.moduleIsPlayManaged(
             getInstrumentation().getContext().getPackageManager(),
@@ -1302,7 +1302,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-09")
+    @AsbSecurityTest(cveBugId = 77600398)
     public void testStagefright_cve_2018_9474() throws Exception {
         MediaPlayer mp = new MediaPlayer();
         RenderTarget renderTarget = RenderTarget.create();
@@ -1339,7 +1339,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-09")
+    @AsbSecurityTest(cveBugId = 130025324)
     public void testStagefright_cve_2019_2108() throws Exception {
         doStagefrightTestRawBlob(R.raw.cve_2019_2108_hevc, "video/hevc", 320, 240,
             new CrashUtils.Config().setSignals(CrashUtils.SIGSEGV, CrashUtils.SIGBUS,
@@ -1347,7 +1347,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-09")
+    @AsbSecurityTest(cveBugId = 25747670)
     public void testStagefright_cve_2016_3880() throws Exception {
         Thread server = new Thread() {
             @Override
@@ -1423,7 +1423,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2021-01")
+    @AsbSecurityTest(cveBugId = 170240631)
     public void testStagefright_bug170240631() throws Exception {
         assumeFalse(ModuleDetector.moduleIsPlayManaged(
             getInstrumentation().getContext().getPackageManager(),
@@ -1432,133 +1432,133 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-05")
+    @AsbSecurityTest(cveBugId = 148816624)
     public void testStagefright_cve_2020_3641() throws Exception {
         doStagefrightTest(R.raw.cve_2020_3641);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-04")
+    @AsbSecurityTest(cveBugId = 147103871)
     public void testStagefright_cve_2019_14127() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14127);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-04")
+    @AsbSecurityTest(cveBugId = 147104052)
     public void testStagefright_cve_2019_14132() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14132);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-03")
+    @AsbSecurityTest(cveBugId = 145545283)
     public void testStagefright_cve_2019_10591() throws Exception {
         doStagefrightTest(R.raw.cve_2019_10591);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-02")
+    @AsbSecurityTest(cveBugId = 143903858)
     public void testStagefright_cve_2019_10590() throws Exception {
         doStagefrightTest(R.raw.cve_2019_10590);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271848)
     public void testStagefright_cve_2019_14004() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14004);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271498)
     public void testStagefright_cve_2019_14003() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14003);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-02")
+    @AsbSecurityTest(cveBugId = 143903018)
     public void testStagefright_cve_2019_14057() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14057);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271634)
     public void testStagefright_cve_2019_10532() throws Exception {
         doStagefrightTest(R.raw.cve_2019_10532);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142268949)
     public void testStagefright_cve_2019_10578() throws Exception {
         doStagefrightTest(R.raw.cve_2019_10578);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-03")
+    @AsbSecurityTest(cveBugId = 145545758)
     public void testStagefright_cve_2019_14061() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14061, 180000);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271615)
     public void testStagefright_cve_2019_10611() throws Exception {
         doStagefrightTest(R.raw.cve_2019_10611);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-08")
+    @AsbSecurityTest(cveBugId = 132108754)
     public void testStagefright_cve_2019_10489() throws Exception {
         doStagefrightTest(R.raw.cve_2019_10489);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-03")
+    @AsbSecurityTest(cveBugId = 145545282)
     public void testStagefright_cve_2019_14048() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14048);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-07")
+    @AsbSecurityTest(cveBugId = 129766432)
     public void testStagefright_cve_2019_2253() throws Exception {
         doStagefrightTest(R.raw.cve_2019_2253);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271692)
     public void testStagefright_cve_2019_10579() throws Exception {
         doStagefrightTestANR(R.raw.cve_2019_10579);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271965)
     public void testStagefright_cve_2019_14005() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14005);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271827)
     public void testStagefright_cve_2019_14006() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14006);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142270646)
     public void testStagefright_CVE_2019_14016() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14016);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-01")
+    @AsbSecurityTest(cveBugId = 142271515)
     public void testStagefright_CVE_2019_14017() throws Exception {
         doStagefrightTest(R.raw.cve_2019_14017);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-07")
+    @AsbSecurityTest(cveBugId = 78029004)
     public void testStagefright_cve_2018_9412() throws Exception {
         doStagefrightTest(R.raw.cve_2018_9412, 180000);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "Unknown")
+    @AsbSecurityTest(cveBugId = 142641801)
     public void testStagefright_bug_142641801() throws Exception {
         assumeFalse(ModuleDetector.moduleIsPlayManaged(
             getInstrumentation().getContext().getPackageManager(),
@@ -1567,32 +1567,32 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-09")
+    @AsbSecurityTest(cveBugId = 134437379)
     public void testStagefright_cve_2019_10534() throws Exception {
         doStagefrightTest(R.raw.cve_2019_10534);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-09")
+    @AsbSecurityTest(cveBugId = 134437210)
     public void testStagefright_cve_2019_10533() throws Exception {
         doStagefrightTest(R.raw.cve_2019_10533);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-09")
+    @AsbSecurityTest(cveBugId = 134437115)
     public void testStagefright_cve_2019_10541() throws Exception {
         doStagefrightTest(R.raw.cve_2019_10541);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-02")
+    @AsbSecurityTest(cveBugId = 62851602)
     public void testStagefright_cve_2017_13233() throws Exception {
         doStagefrightTestRawBlob(R.raw.cve_2017_13233_hevc, "video/hevc", 640,
                 480);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-07")
+    @AsbSecurityTest(cveBugId = 130023983)
     public void testStagefright_cve_2019_2106() throws Exception {
         int[] frameSizes = {943, 3153};
         doStagefrightTestRawBlob(R.raw.cve_2019_2106_hevc, "video/hevc", 320,
@@ -1600,105 +1600,105 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-06")
+    @AsbSecurityTest(cveBugId = 34064500)
     public void testStagefright_cve_2017_0637() throws Exception {
         doStagefrightTest(R.raw.cve_2017_0637, 2 * 72000);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-09")
+    @AsbSecurityTest(cveBugId = 109678380)
     public void testStagefright_cve_2018_11287() throws Exception {
         doStagefrightTest(R.raw.cve_2018_11287, 180000);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-07")
+    @AsbSecurityTest(cveBugId = 129766125)
     public void testStagefright_cve_2019_2327() throws Exception {
         doStagefrightTest(R.raw.cve_2019_2327);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-07")
+    @AsbSecurityTest(cveBugId = 129766496)
     public void testStagefright_cve_2019_2322() throws Exception {
         doStagefrightTest(R.raw.cve_2019_2322);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-07")
+    @AsbSecurityTest(cveBugId = 129766099)
     public void testStagefright_cve_2019_2334() throws Exception {
         doStagefrightTest(R.raw.cve_2019_2334);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 64380237)
     public void testStagefright_cve_2017_13204() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.cve_2017_13204_framelen);
         doStagefrightTestRawBlob(R.raw.cve_2017_13204_avc, "video/avc", 16, 16, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-03")
+    @AsbSecurityTest(cveBugId = 70221445)
     public void testStagefright_cve_2017_17773() throws Exception {
         doStagefrightTest(R.raw.cve_2017_17773);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-04")
+    @AsbSecurityTest(cveBugId = 68326816)
     public void testStagefright_cve_2017_18074() throws Exception {
         doStagefrightTest(R.raw.cve_2017_18074);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-06")
+    @AsbSecurityTest(cveBugId = 74236854)
     public void testStagefright_cve_2018_5894() throws Exception {
         doStagefrightTest(R.raw.cve_2018_5894);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-07")
+    @AsbSecurityTest(cveBugId = 77485139)
     public void testStagefright_cve_2018_5874() throws Exception {
         doStagefrightTest(R.raw.cve_2018_5874);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-07")
+    @AsbSecurityTest(cveBugId = 77485183)
     public void testStagefright_cve_2018_5875() throws Exception {
         doStagefrightTest(R.raw.cve_2018_5875);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-07")
+    @AsbSecurityTest(cveBugId = 77485022)
     public void testStagefright_cve_2018_5876() throws Exception {
         doStagefrightTest(R.raw.cve_2018_5876);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-07")
+    @AsbSecurityTest(cveBugId = 77483830)
     public void testStagefright_cve_2018_5882() throws Exception {
         doStagefrightTest(R.raw.cve_2018_5882);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-12")
+    @AsbSecurityTest(cveBugId = 65186291)
     public void testBug_65186291() throws Exception {
         int[] frameSizes = getFrameSizes(R.raw.bug_65186291_framelen);
         doStagefrightTestRawBlob(R.raw.bug_65186291_hevc, "video/hevc", 1920, 1080, frameSizes);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 67737022)
     public void testBug_67737022() throws Exception {
         doStagefrightTest(R.raw.bug_67737022);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 37093318)
     public void testStagefright_bug_37093318() throws Exception {
         doStagefrightTest(R.raw.bug_37093318, (4 * 60 * 1000));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-05")
+    @AsbSecurityTest(cveBugId = 73172046)
     public void testStagefright_bug_73172046() throws Exception {
         doStagefrightTest(R.raw.bug_73172046);
 
@@ -1711,55 +1711,55 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-03")
+    @AsbSecurityTest(cveBugId = 25765591)
     public void testStagefright_cve_2016_0824() throws Exception {
         doStagefrightTest(R.raw.cve_2016_0824);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-03")
+    @AsbSecurityTest(cveBugId = 26365349)
     public void testStagefright_cve_2016_0815() throws Exception {
         doStagefrightTest(R.raw.cve_2016_0815);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-05")
+    @AsbSecurityTest(cveBugId = 26221024)
     public void testStagefright_cve_2016_2454() throws Exception {
         doStagefrightTest(R.raw.cve_2016_2454);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-12")
+    @AsbSecurityTest(cveBugId = 31449945)
     public void testStagefright_cve_2016_6765() throws Exception {
         doStagefrightTest(R.raw.cve_2016_6765, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-07")
+    @AsbSecurityTest(cveBugId = 28799341)
     public void testStagefright_cve_2016_2508() throws Exception {
         doStagefrightTest(R.raw.cve_2016_2508, new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-11")
+    @AsbSecurityTest(cveBugId = 31373622)
     public void testStagefright_cve_2016_6699() throws Exception {
         doStagefrightTest(R.raw.cve_2016_6699);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-06")
+    @AsbSecurityTest(cveBugId = 66734153)
     public void testStagefright_cve_2017_18155() throws Exception {
         doStagefrightTest(R.raw.cve_2017_18155);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-07")
+    @AsbSecurityTest(cveBugId = 77599438)
     public void testStagefright_cve_2018_9423() throws Exception {
         doStagefrightTest(R.raw.cve_2018_9423);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2016-09")
+    @AsbSecurityTest(cveBugId = 29770686)
     public void testStagefright_cve_2016_3879() throws Exception {
         doStagefrightTest(R.raw.cve_2016_3879, new CrashUtils.Config().checkMinAddress(false));
     }
@@ -1770,13 +1770,13 @@
      ***********************************************************/
 
     @Test
-    @SecurityTest(minPatchLevel = "2020-11")
+    @AsbSecurityTest(cveBugId = 162756960)
     public void testStagefright_cve_2020_11196() throws Exception {
         doStagefrightTest(R.raw.cve_2020_11196);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-11")
+    @AsbSecurityTest(cveBugId = 112661641)
     public void testStagefright_cve_2018_9531() throws Exception {
         assumeFalse(ModuleDetector.moduleIsPlayManaged(
                 getInstrumentation().getContext().getPackageManager(),
@@ -1789,7 +1789,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-12")
+    @AsbSecurityTest(cveBugId = 140322595)
     public void testStagefright_cve_2019_2222() throws Exception {
         // TODO(b/170987914): This also skips testing hw_codecs.
         // Update doStagefrightTestRawBlob to skip just the sw_codec test.
@@ -1810,7 +1810,7 @@
      ***********************************************************/
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-12")
+    @AsbSecurityTest(cveBugId = 140692129)
     public void testStagefright_cve_2019_2223() throws Exception {
         // TODO(b/170987914): This also skips testing hw_codecs.
         // Update doStagefrightTestRawBlob to skip just the sw_codec test.
@@ -1822,7 +1822,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-03")
+    @AsbSecurityTest(cveBugId = 118399205)
     public void testStagefright_cve_2019_1989() throws Exception {
         Object obj[] = getFrameInfo(R.raw.cve_2019_1989_info);
         int[] isHeader = (int[])obj [0];
@@ -2166,7 +2166,7 @@
      * b/135207745
      */
     @Test
-    @SecurityTest(minPatchLevel = "2019-08")
+    @AsbSecurityTest(cveBugId = 124781927)
     public void testStagefright_cve_2019_2129() throws Exception {
         final int rid = R.raw.cve_2019_2129;
         String name = getInstrumentation().getContext().getResources().getResourceEntryName(rid);
@@ -2519,94 +2519,94 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 36215950)
     public void testBug36215950() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_36215950, "video/hevc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 36816007)
     public void testBug36816007() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_36816007, "video/avc", 320, 240,
                 new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-05")
+    @AsbSecurityTest(cveBugId = 36895511)
     public void testBug36895511() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_36895511, "video/hevc", 320, 240,
                 new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-11")
+    @AsbSecurityTest(cveBugId = 64836894)
     public void testBug64836894() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_64836894, "video/avc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 35583675)
     public void testCve_2017_0687() throws Exception {
         doStagefrightTestRawBlob(R.raw.cve_2017_0687, "video/avc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-07")
+    @AsbSecurityTest(cveBugId = 37207120)
     public void testCve_2017_0696() throws Exception {
         doStagefrightTestRawBlob(R.raw.cve_2017_0696, "video/avc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-01")
+    @AsbSecurityTest(cveBugId = 37930177)
     public void testBug_37930177() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_37930177_hevc, "video/hevc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2017-08")
+    @AsbSecurityTest(cveBugId = 37712181)
     public void testBug_37712181() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_37712181_hevc, "video/hevc", 320, 240);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2018-04")
+    @AsbSecurityTest(cveBugId = 70897394)
     public void testBug_70897394() throws Exception {
         doStagefrightTestRawBlob(R.raw.bug_70897394_avc, "video/avc", 320, 240,
                 new CrashUtils.Config().checkMinAddress(false));
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "Unknown")
+    @AsbSecurityTest(cveBugId = 123700383)
     public void testBug_123700383() throws Exception {
         assertExtractorDoesNotHang(R.raw.bug_123700383);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "Unknown")
+    @AsbSecurityTest(cveBugId = 127310810)
     public void testBug_127310810() throws Exception {
         assertExtractorDoesNotHang(R.raw.bug_127310810);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "Unknown")
+    @AsbSecurityTest(cveBugId = 127312550)
     public void testBug_127312550() throws Exception {
         assertExtractorDoesNotHang(R.raw.bug_127312550);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "Unknown")
+    @AsbSecurityTest(cveBugId = 127313223)
     public void testBug_127313223() throws Exception {
         assertExtractorDoesNotHang(R.raw.bug_127313223);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "Unknown")
+    @AsbSecurityTest(cveBugId = 127313537)
     public void testBug_127313537() throws Exception {
         assertExtractorDoesNotHang(R.raw.bug_127313537);
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "Unknown")
+    @AsbSecurityTest(cveBugId = 127313764)
     public void testBug_127313764() throws Exception {
         assertExtractorDoesNotHang(R.raw.bug_127313764);
     }
diff --git a/tests/tests/security/src/android/security/cts/VisualizerEffectTest.java b/tests/tests/security/src/android/security/cts/VisualizerEffectTest.java
index d0afec0..3be7534 100644
--- a/tests/tests/security/src/android/security/cts/VisualizerEffectTest.java
+++ b/tests/tests/security/src/android/security/cts/VisualizerEffectTest.java
@@ -18,7 +18,7 @@
 import junit.framework.TestCase;
 
 import android.content.Context;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.media.audiofx.AudioEffect;
 import android.media.MediaPlayer;
 import android.media.audiofx.Visualizer;
@@ -30,7 +30,6 @@
 import java.util.UUID;
 
 
-@SecurityTest
 public class VisualizerEffectTest extends AndroidTestCase {
     private String TAG = "VisualizerEffectTest";
     @Override
@@ -39,7 +38,7 @@
     }
 
     //Testing security bug: 30229821
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 30229821)
     public void testVisualizer_MalformedConstructor() throws Exception {
         final String VISUALIZER_TYPE = "e46b26a0-dddd-11db-8afd-0002a5d5c51b";
         final int VISUALIZER_CMD_MEASURE = 0x10001;
diff --git a/tests/tests/security/src/android/security/cts/VoldExploitTest.java b/tests/tests/security/src/android/security/cts/VoldExploitTest.java
index a68d5d0..248579c 100644
--- a/tests/tests/security/src/android/security/cts/VoldExploitTest.java
+++ b/tests/tests/security/src/android/security/cts/VoldExploitTest.java
@@ -18,10 +18,8 @@
 
 import android.content.Context;
 import android.os.storage.StorageManager;
-import android.platform.test.annotations.SecurityTest;
 import android.test.AndroidTestCase;
 
-@SecurityTest
 public class VoldExploitTest extends AndroidTestCase {
 
     /**
diff --git a/tests/tests/security/src/android/security/cts/X509CertChainBuildingTest.java b/tests/tests/security/src/android/security/cts/X509CertChainBuildingTest.java
index 76449fa..70e345d 100644
--- a/tests/tests/security/src/android/security/cts/X509CertChainBuildingTest.java
+++ b/tests/tests/security/src/android/security/cts/X509CertChainBuildingTest.java
@@ -18,7 +18,6 @@
 
 import android.content.res.AssetManager;
 import android.net.http.X509TrustManagerExtensions;
-import android.platform.test.annotations.SecurityTest;
 import android.test.AndroidTestCase;
 
 import java.io.File;
@@ -41,7 +40,6 @@
  * {@link X509TrustManagerExtensions#checkServerTrusted(X509Certificate[], String, String)} when
  * multiple possible certificate paths exist.
  */
-@SecurityTest
 public class X509CertChainBuildingTest extends AndroidTestCase {
     private static final String CERT_ASSET_DIR = "path_building";
 
diff --git a/tests/tests/security/src/android/security/cts/ZeroHeightTiffTest.java b/tests/tests/security/src/android/security/cts/ZeroHeightTiffTest.java
index 5368e93..5cc4fe5 100644
--- a/tests/tests/security/src/android/security/cts/ZeroHeightTiffTest.java
+++ b/tests/tests/security/src/android/security/cts/ZeroHeightTiffTest.java
@@ -18,14 +18,13 @@
 
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.AndroidTestCase;
 
 import java.io.InputStream;
 
 import android.security.cts.R;
 
-@SecurityTest
 public class ZeroHeightTiffTest extends AndroidTestCase {
     /**
      * Verifies that the device fails to decode a zero height tiff file.
@@ -33,7 +32,7 @@
      * Prior to fixing bug 33300701, decoding resulted in undefined behavior (divide by zero).
      * With the fix, decoding will fail, without dividing by zero.
      */
-    @SecurityTest(minPatchLevel = "2017-03")
+    @AsbSecurityTest(cveBugId = 33300701)
     public void test_android_bug_33300701() {
         InputStream exploitImage = mContext.getResources().openRawResource(R.raw.bug_33300701);
         Bitmap bitmap = BitmapFactory.decodeStream(exploitImage);
diff --git a/tests/tests/shortcutmanager/src/android/content/pm/cts/shortcutmanager/ShortcutManagerFakingPublisherTest.java b/tests/tests/shortcutmanager/src/android/content/pm/cts/shortcutmanager/ShortcutManagerFakingPublisherTest.java
index ed737b0..92f14a4 100644
--- a/tests/tests/shortcutmanager/src/android/content/pm/cts/shortcutmanager/ShortcutManagerFakingPublisherTest.java
+++ b/tests/tests/shortcutmanager/src/android/content/pm/cts/shortcutmanager/ShortcutManagerFakingPublisherTest.java
@@ -24,7 +24,7 @@
 import android.content.Intent;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ShortcutInfo;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.test.suitebuilder.annotation.SmallTest;
 
 import androidx.test.InstrumentationRegistry;
@@ -33,7 +33,6 @@
  * CTS for b/109824443.
  */
 @SmallTest
-@SecurityTest
 public class ShortcutManagerFakingPublisherTest extends ShortcutManagerCtsTestsBase {
     private static final String ANOTHER_PACKAGE =
             "android.content.pm.cts.shortcutmanager.packages.package4";
@@ -55,6 +54,7 @@
                 + "icon_quality=100";
     }
 
+    @AsbSecurityTest(cveBugId = 109824443)
     public void testSpoofingPublisher() {
         final Context myContext = getTestContext();
         final Context anotherContext;
diff --git a/tests/tests/slice/src/android/slice/cts/SliceProviderTest.kt b/tests/tests/slice/src/android/slice/cts/SliceProviderTest.kt
index 5e7f940..b4e94a2 100644
--- a/tests/tests/slice/src/android/slice/cts/SliceProviderTest.kt
+++ b/tests/tests/slice/src/android/slice/cts/SliceProviderTest.kt
@@ -20,7 +20,7 @@
 import android.net.Uri
 import android.os.Bundle
 
-import android.platform.test.annotations.SecurityTest
+import android.platform.test.annotations.AsbSecurityTest
 import androidx.test.rule.ActivityTestRule
 import androidx.test.runner.AndroidJUnit4
 import org.junit.Before
@@ -53,13 +53,13 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2019-11-01")
+    @AsbSecurityTest(cveBugId = [138441555])
     fun testCallSliceUri_ValidAuthority() {
         doQuery(validActionUri)
     }
 
     @Test(expected = SecurityException::class)
-    @SecurityTest(minPatchLevel = "2019-11-01")
+    @AsbSecurityTest(cveBugId = [138441555])
     fun testCallSliceUri_ShadyAuthority() {
         doQuery(shadyActionUri)
     }
diff --git a/tests/tests/telephony/current/src/android/telephony/cts/CarrierConfigManagerTest.java b/tests/tests/telephony/current/src/android/telephony/cts/CarrierConfigManagerTest.java
index 2d63f71..2a84428 100644
--- a/tests/tests/telephony/current/src/android/telephony/cts/CarrierConfigManagerTest.java
+++ b/tests/tests/telephony/current/src/android/telephony/cts/CarrierConfigManagerTest.java
@@ -43,7 +43,7 @@
 import android.net.ConnectivityManager;
 import android.os.Looper;
 import android.os.PersistableBundle;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 import android.telephony.SubscriptionManager.OnSubscriptionsChangedListener;
@@ -187,8 +187,8 @@
         checkConfig(config);
     }
 
-    @SecurityTest
     @Test
+    @AsbSecurityTest(cveBugId = 73136824)
     public void testRevokePermission() {
         if (!mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
             return;
diff --git a/tests/tests/telephony3/src/android/telephony3/cts/TelephonyManagerTest.java b/tests/tests/telephony3/src/android/telephony3/cts/TelephonyManagerTest.java
index b1f4a52..c57ed64 100644
--- a/tests/tests/telephony3/src/android/telephony3/cts/TelephonyManagerTest.java
+++ b/tests/tests/telephony3/src/android/telephony3/cts/TelephonyManagerTest.java
@@ -23,7 +23,7 @@
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.os.Build;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -53,7 +53,7 @@
     }
 
     @Test
-    @SecurityTest(minPatchLevel = "2021-04")
+    @AsbSecurityTest(cveBugId = 173421434)
     public void testDeviceIdentifiersAreNotAccessible() throws Exception {
         // Apps with the READ_PHONE_STATE permission should no longer have access to device
         // identifiers. If an app's target SDK is less than Q and it has been granted the
diff --git a/tests/tests/text/src/android/text/cts/StaticLayoutTest.java b/tests/tests/text/src/android/text/cts/StaticLayoutTest.java
index 12a4271..456ca78 100644
--- a/tests/tests/text/src/android/text/cts/StaticLayoutTest.java
+++ b/tests/tests/text/src/android/text/cts/StaticLayoutTest.java
@@ -33,7 +33,7 @@
 import android.graphics.Paint.FontMetricsInt;
 import android.graphics.Typeface;
 import android.os.LocaleList;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.text.Editable;
 import android.text.Layout;
 import android.text.Layout.Alignment;
@@ -1684,8 +1684,8 @@
     }
 
     // This is for b/140755449
-    @SecurityTest
     @Test
+    @AsbSecurityTest(cveBugId = 140632678)
     public void testBidiVisibleEnd() {
         TextPaint paint = new TextPaint();
         // The default text size is too small and not useful for handling line breaks.
diff --git a/tests/tests/text/src/android/text/util/cts/LinkifyTest.java b/tests/tests/text/src/android/text/util/cts/LinkifyTest.java
index 56b9c6e..c30f9ca 100644
--- a/tests/tests/text/src/android/text/util/cts/LinkifyTest.java
+++ b/tests/tests/text/src/android/text/util/cts/LinkifyTest.java
@@ -23,7 +23,7 @@
 import static org.junit.Assert.assertTrue;
 
 import android.content.Context;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.telephony.TelephonyManager;
 import android.text.Spannable;
 import android.text.SpannableString;
@@ -985,8 +985,8 @@
                 domain.length(), email);
     }
 
-    @SecurityTest(minPatchLevel = "2019-03")
     @Test
+    @AsbSecurityTest(cveBugId = 116321860)
     public void testAddLinks_unsupportedCharacters() {
         String url = "moc.diordna.com";
         verifyAddLinksWithWebUrlSucceeds(url + " should be linkified", url);
diff --git a/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java b/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java
index f4afa87..6761c69 100644
--- a/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java
+++ b/tests/tests/wifi/src/android/net/wifi/cts/WifiManagerTest.java
@@ -66,7 +66,7 @@
 import android.os.SystemClock;
 import android.os.UserHandle;
 import android.platform.test.annotations.AppModeFull;
-import android.platform.test.annotations.SecurityTest;
+import android.platform.test.annotations.AsbSecurityTest;
 import android.provider.Settings;
 import android.support.test.uiautomator.UiDevice;
 import android.telephony.TelephonyManager;
@@ -1934,7 +1934,7 @@
      * Tests {@link WifiManager#forget(int, WifiManager.ActionListener)} by adding/removing a new
      * network.
      */
-    @SecurityTest
+    @AsbSecurityTest(cveBugId = 159373687)
     public void testForget() throws Exception {
         if (!WifiFeature.isWifiSupported(getContext())) {
             // skip the test if WiFi is not supported