From ada29f5f9f7cda37e9a22a8a01d4123bf8d94b6b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 22 Dec 2024 12:10:55 -0300 Subject: [PATCH 001/180] comment print --- src/main/scala/br/unb/cic/soot/svfa/jimple/JSVFA.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/br/unb/cic/soot/svfa/jimple/JSVFA.scala b/src/main/scala/br/unb/cic/soot/svfa/jimple/JSVFA.scala index 9e57f9da..eb983212 100644 --- a/src/main/scala/br/unb/cic/soot/svfa/jimple/JSVFA.scala +++ b/src/main/scala/br/unb/cic/soot/svfa/jimple/JSVFA.scala @@ -280,7 +280,7 @@ abstract class JSVFA val body = method.retrieveActiveBody() - println(body) +// println(body) val graph = new ExceptionalUnitGraph(body) val defs = new SimpleLocalDefs(graph) From e6ad1c917025c00dc20b2ddcd629a1ed5762e0f0 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 22 Dec 2024 12:12:11 -0300 Subject: [PATCH 002/180] create AndroidTaintBenchSuiteTest --- ...{RoidsecTest.scala => AndroidTaintBenchSuiteTest.scala} | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) rename src/test/scala/br/unb/cic/android/{RoidsecTest.scala => AndroidTaintBenchSuiteTest.scala} (55%) diff --git a/src/test/scala/br/unb/cic/android/RoidsecTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala similarity index 55% rename from src/test/scala/br/unb/cic/android/RoidsecTest.scala rename to src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index a51ab83f..e2f43555 100644 --- a/src/test/scala/br/unb/cic/android/RoidsecTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,12 +1,9 @@ package br.unb.cic.android -import br.unb.cic.soot.graph.{NodeType, _} import org.scalatest.FunSuite -import soot.jimple.{AssignStmt, InvokeExpr, InvokeStmt} - -class RoidsecTest extends FunSuite { - test("in the class Basic2 we should detect 6 flows") { +class AndroidTaintBenchSuiteTest extends FunSuite { + test("in the APK Roidsec, we should detect 1 flow") { val svfa = new AndroidTaintBenchTest("roidsec") svfa.buildSparseValueFlowGraph() // println(svfa.svgToDotModel()) From 6c7652a505b31c3a5887c7dc9f56a44bfb8fa2dd Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:07:48 -0300 Subject: [PATCH 003/180] use standar trait --- src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala index 0b4c6541..4a6aa0aa 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala @@ -20,7 +20,7 @@ import java.nio.file.Paths import br.unb.cic.soot.svfa.configuration.AndroidSootConfiguration class AndroidTaintBenchTest(apk: String) extends JSVFA - with RoidSecSpec + with FlowdroidSpec with AndroidSootConfiguration with Interprocedural with FieldSensitive From 19de1b3ecab019d49d1da6d3b2731429bf2c8b10 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:08:21 -0300 Subject: [PATCH 004/180] RoidSecSpec extends AndroidTaintBenchTest --- src/test/scala/br/unb/cic/android/RoidSecSpec.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/RoidSecSpec.scala b/src/test/scala/br/unb/cic/android/RoidSecSpec.scala index 3ec492fa..545e3e84 100644 --- a/src/test/scala/br/unb/cic/android/RoidSecSpec.scala +++ b/src/test/scala/br/unb/cic/android/RoidSecSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android -trait RoidSecSpec { +trait RoidSecSpec extends AndroidTaintBenchTest { // URL https://github.com/TaintBench/roidsec/blob/master/README.md - val sourceList = List( + override val sourceList = List( "", "", "", @@ -45,7 +45,7 @@ trait RoidSecSpec { "", ) - val sinkList = List( + override val sinkList = List( "", "", "", From 26f3baebfe0aa34d89808b9c25944637c9c4843b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:09:28 -0300 Subject: [PATCH 005/180] test RoidSecSpec --- .../br/unb/cic/android/AndroidTaintBenchSuiteTest.scala | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index e2f43555..ea68c50d 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -4,9 +4,16 @@ import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { test("in the APK Roidsec, we should detect 1 flow") { - val svfa = new AndroidTaintBenchTest("roidsec") + val svfa = new AndroidTaintBenchTest("roidsec") with RoidSecSpec svfa.buildSparseValueFlowGraph() // println(svfa.svgToDotModel()) assert(svfa.reportConflictsSVG().size == 1) } + +// test("in the APK backflash, we should detect X flow") { +// val svfa = new AndroidTaintBenchTest("backflash") +// svfa.buildSparseValueFlowGraph() +// // println(svfa.svgToDotModel()) +// assert(svfa.reportConflictsSVG().size == 1) +// } } From cf8d40232e7d1c1dc2c867d31a84a8614872036a Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:11:06 -0300 Subject: [PATCH 006/180] move to folder specs --- .../br/unb/cic/android/AndroidTaintBenchSuiteTest.scala | 1 + .../scala/br/unb/cic/android/AndroidTaintBenchTest.scala | 7 ++----- .../br/unb/cic/android/{ => specs}/FlowdroidSpec.scala | 9 +-------- .../br/unb/cic/android/{ => specs}/RoidSecSpec.scala | 4 +++- 4 files changed, 7 insertions(+), 14 deletions(-) rename src/test/scala/br/unb/cic/android/{ => specs}/FlowdroidSpec.scala (99%) rename src/test/scala/br/unb/cic/android/{ => specs}/RoidSecSpec.scala (98%) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index ea68c50d..12e2107b 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,5 +1,6 @@ package br.unb.cic.android +import br.unb.cic.android.specs.RoidSecSpec import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala index 4a6aa0aa..8a725807 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala @@ -1,5 +1,6 @@ package br.unb.cic.android +import br.unb.cic.android.specs.FlowdroidSpec import br.unb.cic.soot.svfa.jimple.JSVFA import br.unb.cic.soot.svfa.configuration.AndroidSootConfiguration import br.unb.cic.soot.svfa.jimple.{FieldSensitive, Interprocedural, JSVFA, PropagateTaint} @@ -8,15 +9,11 @@ import scala.io.Source import java.util.Properties import java.io.File import java.io.FileInputStream - import soot._ import soot.jimple._ - -import br.unb.cic.soot.graph._ - +import br.unb.cic.soot.graph._ import java.nio.file.Paths - import br.unb.cic.soot.svfa.configuration.AndroidSootConfiguration class AndroidTaintBenchTest(apk: String) extends JSVFA diff --git a/src/test/scala/br/unb/cic/android/FlowdroidSpec.scala b/src/test/scala/br/unb/cic/android/specs/FlowdroidSpec.scala similarity index 99% rename from src/test/scala/br/unb/cic/android/FlowdroidSpec.scala rename to src/test/scala/br/unb/cic/android/specs/FlowdroidSpec.scala index 0af40c02..e5af8c23 100644 --- a/src/test/scala/br/unb/cic/android/FlowdroidSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FlowdroidSpec.scala @@ -1,11 +1,4 @@ -package br.unb.cic.android - -import br.unb.cic.soot.JSVFATest -import br.unb.cic.soot.graph.{SinkNode, SourceNode} -import soot.{G, Scene} -import soot.options.Options - -import scala.collection.JavaConverters._ +package br.unb.cic.android.specs trait FlowdroidSpec { val sourceList = List( diff --git a/src/test/scala/br/unb/cic/android/RoidSecSpec.scala b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala similarity index 98% rename from src/test/scala/br/unb/cic/android/RoidSecSpec.scala rename to src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala index 545e3e84..8f0a2a9f 100644 --- a/src/test/scala/br/unb/cic/android/RoidSecSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala @@ -1,4 +1,6 @@ -package br.unb.cic.android +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest trait RoidSecSpec extends AndroidTaintBenchTest { // URL https://github.com/TaintBench/roidsec/blob/master/README.md From 0cb1ac95572071beaf1521b9d6d82fba2eba4e30 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:12:43 -0300 Subject: [PATCH 007/180] remove comment --- src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala index 8f0a2a9f..d7fdf59d 100644 --- a/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala @@ -3,7 +3,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest trait RoidSecSpec extends AndroidTaintBenchTest { -// URL https://github.com/TaintBench/roidsec/blob/master/README.md + override val sourceList = List( "", "", From 2b69db29d1dc6ae333d099ccb46842aa38c2bdd5 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:12:54 -0300 Subject: [PATCH 008/180] ExampleSpec --- .../br/unb/cic/android/specs/ExampleSpec.scala | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/test/scala/br/unb/cic/android/specs/ExampleSpec.scala diff --git a/src/test/scala/br/unb/cic/android/specs/ExampleSpec.scala b/src/test/scala/br/unb/cic/android/specs/ExampleSpec.scala new file mode 100644 index 00000000..1ce1d51d --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/ExampleSpec.scala @@ -0,0 +1,14 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait ExampleSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/roidsec/blob/master/README.md + override val sourceList = List( + "", + ) + + override val sinkList = List( + "", + ) +} \ No newline at end of file From 449850d95e972f32e1340223d59a84484760facd Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:18:40 -0300 Subject: [PATCH 009/180] sourceList --- .../unb/cic/android/specs/BackFlashSpec.scala | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala diff --git a/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala new file mode 100644 index 00000000..a57f252d --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala @@ -0,0 +1,66 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait BackFlashSpec extends AndroidTaintBenchTest { + + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + """, + ) +} \ No newline at end of file From aac650c9b784025d78975631eadfebaa5e5bf3f1 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:21:41 -0300 Subject: [PATCH 010/180] sinkList --- .../unb/cic/android/specs/BackFlashSpec.scala | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala index a57f252d..e86e1390 100644 --- a/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala @@ -61,6 +61,40 @@ trait BackFlashSpec extends AndroidTaintBenchTest { ) override val sinkList = List( - """, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", ) } \ No newline at end of file From 4024cd23465a71af4b549c2b1b5f9db4e15b94f4 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:37:27 -0300 Subject: [PATCH 011/180] backflash --- .../cic/android/AndroidTaintBenchSuiteTest.scala | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 12e2107b..304e7e83 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.RoidSecSpec +import br.unb.cic.android.specs.{BackFlashSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -11,10 +11,10 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 1) } -// test("in the APK backflash, we should detect X flow") { -// val svfa = new AndroidTaintBenchTest("backflash") -// svfa.buildSparseValueFlowGraph() -// // println(svfa.svgToDotModel()) -// assert(svfa.reportConflictsSVG().size == 1) -// } + test("in the APK backflash, we should detect 6 flow") { + val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec + svfa.buildSparseValueFlowGraph() + // println(svfa.svgToDotModel()) + assert(svfa.reportConflictsSVG().size == 6) + } } From 56d93bce9b882710012dc8868ed48f28eef5e20b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 00:45:47 -0300 Subject: [PATCH 012/180] roidsec conflicts --- .../scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 304e7e83..cafcb724 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -8,7 +8,7 @@ class AndroidTaintBenchSuiteTest extends FunSuite { val svfa = new AndroidTaintBenchTest("roidsec") with RoidSecSpec svfa.buildSparseValueFlowGraph() // println(svfa.svgToDotModel()) - assert(svfa.reportConflictsSVG().size == 1) + assert(svfa.reportConflictsSVG().size == 13) } test("in the APK backflash, we should detect 6 flow") { From be05d96eab8f53d7c0c495266ab9e45ccdbcddc0 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 11:17:25 -0300 Subject: [PATCH 013/180] sourceList --- .../specs/BeitaComBeitaContactSpec.scala | 95 +++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala diff --git a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala new file mode 100644 index 00000000..15e91720 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala @@ -0,0 +1,95 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait BeitaComBeitaContactSpec extends AndroidTaintBenchTest { + + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + """, + ) +} \ No newline at end of file From b96403a735a366d002a7c10c2a84594652fa3726 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 11:20:16 -0300 Subject: [PATCH 014/180] sinkList --- .../specs/BeitaComBeitaContactSpec.scala | 71 ++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala index 15e91720..8d605395 100644 --- a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala @@ -90,6 +90,75 @@ trait BeitaComBeitaContactSpec extends AndroidTaintBenchTest { ) override val sinkList = List( - """, + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "",6 + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", ) } \ No newline at end of file From f6c12844308e996b554073289617fcbbcf2e85b0 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 11:23:10 -0300 Subject: [PATCH 015/180] beita_com_beita_contact --- .../android/AndroidTaintBenchSuiteTest.scala | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index cafcb724..24b17338 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -14,7 +14,21 @@ class AndroidTaintBenchSuiteTest extends FunSuite { test("in the APK backflash, we should detect 6 flow") { val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec svfa.buildSparseValueFlowGraph() - // println(svfa.svgToDotModel()) assert(svfa.reportConflictsSVG().size == 6) } + + test("in the APK beita_com_beita_contact, we should detect 3 flow") { + val svfa = new AndroidTaintBenchTest("beita_com_beita_contact") with BeitaComBeitaContactSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 3) + } + + + +//template + test("in the XXX, we should detect X flow") { + val svfa = new AndroidTaintBenchTest("XXX") with BackFlashSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 0) + } } From 40393e0b4e9104a9ce16b3b749aaa9408729d8b3 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 11:23:21 -0300 Subject: [PATCH 016/180] fix --- .../br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala index 8d605395..49fe7d46 100644 --- a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala @@ -117,7 +117,7 @@ trait BeitaComBeitaContactSpec extends AndroidTaintBenchTest { "", "", "", - "",6 + "", "", "", "", From 7a3f78429a93f22a65312413c35483d06c702891 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 12:13:52 -0300 Subject: [PATCH 017/180] cajino_baidu --- .../android/AndroidTaintBenchSuiteTest.scala | 12 +- .../cic/android/specs/CajinoBaiduSpec.scala | 772 ++++++++++++++++++ 2 files changed, 782 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 24b17338..3ba26a82 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -23,10 +23,18 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 3) } + test("in the APK cajino_baidu, we should detect 12 flow") { + val svfa = new AndroidTaintBenchTest("cajino_baidu") with CajinoBaiduSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 12) + } + + + //template - test("in the XXX, we should detect X flow") { + test("in the APK XXX, we should detect X flow") { val svfa = new AndroidTaintBenchTest("XXX") with BackFlashSpec svfa.buildSparseValueFlowGraph() assert(svfa.reportConflictsSVG().size == 0) diff --git a/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala b/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala new file mode 100644 index 00000000..32c58b3b --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala @@ -0,0 +1,772 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait CajinoBaiduSpec extends AndroidTaintBenchTest { + + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 5ea6d89f967c630cdf8c1a92776d4b8c587bc3ce Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 12:19:20 -0300 Subject: [PATCH 018/180] chat_hook --- .../android/AndroidTaintBenchSuiteTest.scala | 8 ++- .../unb/cic/android/specs/ChatHookSpec.scala | 56 +++++++++++++++++++ 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 3ba26a82..f406440d 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -29,10 +29,14 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 12) } + test("in the APK chat_hook, we should detect 12 flow") { + val svfa = new AndroidTaintBenchTest("chat_hook") with ChatHookSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 12) + } - //template test("in the APK XXX, we should detect X flow") { val svfa = new AndroidTaintBenchTest("XXX") with BackFlashSpec diff --git a/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala b/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala new file mode 100644 index 00000000..1a92491c --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala @@ -0,0 +1,56 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait ChatHookSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/chat_hook/blob/master/README.md + + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 0a4ab14d98fd797bb301ac4981d91c5bade04db8 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 12:23:07 -0300 Subject: [PATCH 019/180] chulia --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../br/unb/cic/android/specs/ChuliaSpec.scala | 80 +++++++++++++++++++ 2 files changed, 86 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index f406440d..94411c13 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -35,7 +35,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 12) } - + test("in the APK chulia, we should detect 4 flow") { + val svfa = new AndroidTaintBenchTest("chulia") with ChuliaSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } //template test("in the APK XXX, we should detect X flow") { diff --git a/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala b/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala new file mode 100644 index 00000000..d007fd08 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala @@ -0,0 +1,80 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait ChuliaSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/roidsec/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 1960177bedb1c856e6c3140bba6b32521bbaa9d8 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 12:27:24 -0300 Subject: [PATCH 020/180] death_ring_materialflow --- .../android/AndroidTaintBenchSuiteTest.scala | 12 +- .../specs/DeathRingMaterialflowSpec.scala | 193 ++++++++++++++++++ 2 files changed, 204 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 94411c13..90ff3552 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -41,6 +41,16 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 4) } + test("in the APK death_ring_materialflow, we should detect 1 flow") { + val svfa = new AndroidTaintBenchTest("death_ring_materialflow") with DeathRingMaterialflowSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } + + + + + //template test("in the APK XXX, we should detect X flow") { val svfa = new AndroidTaintBenchTest("XXX") with BackFlashSpec diff --git a/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala b/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala new file mode 100644 index 00000000..65f036d9 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala @@ -0,0 +1,193 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait DeathRingMaterialflowSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/death_ring_materialflow/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From abaf61e54cefe5564f70b78d6de3b5ee47933741 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 13:09:45 -0300 Subject: [PATCH 021/180] rename template --- .../cic/android/specs/{ExampleSpec.scala => _ExampleSpec.scala} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/test/scala/br/unb/cic/android/specs/{ExampleSpec.scala => _ExampleSpec.scala} (100%) diff --git a/src/test/scala/br/unb/cic/android/specs/ExampleSpec.scala b/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala similarity index 100% rename from src/test/scala/br/unb/cic/android/specs/ExampleSpec.scala rename to src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala From 9548d0e3606f58eb21971962eb69fd23018f968a Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 13:09:55 -0300 Subject: [PATCH 022/180] dsencrypt_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +++- .../cic/android/specs/DsencryptSampSpec.scala | 39 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 90ff3552..d50273a9 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -47,7 +47,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 1) } - + test("in the APK dsencrypt_samp, we should detect 1 flow") { + val svfa = new AndroidTaintBenchTest("dsencrypt_samp") with DsencryptSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } diff --git a/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala new file mode 100644 index 00000000..69a48646 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala @@ -0,0 +1,39 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait DsencryptSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/dsencrypt_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From eeef87f107d773287eca307db01eb3eb9bb49cf5 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 13:10:07 -0300 Subject: [PATCH 023/180] rename template --- src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala b/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala index 1ce1d51d..065d8702 100644 --- a/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait ExampleSpec extends AndroidTaintBenchTest { +trait _ExampleSpec extends AndroidTaintBenchTest { // URL https://github.com/TaintBench/roidsec/blob/master/README.md override val sourceList = List( "", From f90d00a457e5d19b38c3f91c1d515615417d5395 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 13:12:58 -0300 Subject: [PATCH 024/180] exprespam --- .../android/AndroidTaintBenchSuiteTest.scala | 7 +++++- .../unb/cic/android/specs/ExprespamSpec.scala | 22 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index d50273a9..b90d5e73 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -53,6 +53,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 1) } + test("in the APK exprespam, we should detect 2 flow") { + val svfa = new AndroidTaintBenchTest("exprespam") with ExprespamSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } //template diff --git a/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala b/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala new file mode 100644 index 00000000..470e95bf --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala @@ -0,0 +1,22 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait ExprespamSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/exprespam/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From fddcd25136a1a4b55c9cc1d66ea0e191144e7e3c Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 13:16:23 -0300 Subject: [PATCH 025/180] fakeappstore --- .../android/AndroidTaintBenchSuiteTest.scala | 13 ++- .../cic/android/specs/FakeappstoreSpec.scala | 87 +++++++++++++++++++ 2 files changed, 99 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index b90d5e73..e14e3586 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -59,6 +59,17 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 2) } + test("in the APK fakeappstore, we should detect 3 flow") { + val svfa = new AndroidTaintBenchTest("fakeappstore") with FakeappstoreSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 3) + } + + + + + + //template test("in the APK XXX, we should detect X flow") { diff --git a/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala new file mode 100644 index 00000000..5a6ea540 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala @@ -0,0 +1,87 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait FakeappstoreSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/fakeappstore/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 6d752474ee956b255515d05d7839412701b3b7a3 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 13:20:29 -0300 Subject: [PATCH 026/180] fakebank_android_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 10 +- .../specs/FakebankAndroidSampSpec.scala | 115 ++++++++++++++++++ 2 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index e14e3586..13150858 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -65,14 +65,18 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 3) } - + test("in the APK fakebank_android_samp, we should detect 5 flow") { + val svfa = new AndroidTaintBenchTest("fakebank_android_samp") with FakebankAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 5) + } //template - test("in the APK XXX, we should detect X flow") { + test("in the APK XXX, we should detect X flows") { val svfa = new AndroidTaintBenchTest("XXX") with BackFlashSpec svfa.buildSparseValueFlowGraph() assert(svfa.reportConflictsSVG().size == 0) diff --git a/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala new file mode 100644 index 00000000..c766aa7e --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala @@ -0,0 +1,115 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait FakebankAndroidSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/fakebank_android_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 442c0cb76f18d7aa5baf0aa46b3587a29d5fa529 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 13:25:01 -0300 Subject: [PATCH 027/180] fakedaum --- .../android/AndroidTaintBenchSuiteTest.scala | 7 +- .../unb/cic/android/specs/FakedaumSpec.scala | 192 ++++++++++++++++++ 2 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 13150858..652d7618 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -71,6 +71,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 5) } + test("in the APK fakedaum, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("fakedaum") with FakedaumSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } diff --git a/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala new file mode 100644 index 00000000..49a818b4 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala @@ -0,0 +1,192 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait FakedaumSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/fakedaum/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From a4ab1f09722620780dbab876f1d4c13d5e46e5a5 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Tue, 24 Dec 2024 13:28:51 -0300 Subject: [PATCH 028/180] fakemart --- .../android/AndroidTaintBenchSuiteTest.scala | 7 +- .../unb/cic/android/specs/FakemartSpec.scala | 135 ++++++++++++++++++ 2 files changed, 141 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 652d7618..4cdab891 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -77,6 +77,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 2) } + test("in the APK fakemart, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("fakemart") with FakemartSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } diff --git a/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala new file mode 100644 index 00000000..9e761458 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala @@ -0,0 +1,135 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait FakemartSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/fakemart/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 0dcdba94bc6e4c54773394216444b201d242d0fd Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 14:36:15 -0300 Subject: [PATCH 029/180] fakeplay --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../unb/cic/android/specs/FakeplaySpec.scala | 89 +++++++++++++++++++ 2 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 4cdab891..73d821e7 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -83,6 +83,12 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 2) } + test("in the APK fakeplay, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("fakeplay") with FakeplaySpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + //template diff --git a/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala b/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala new file mode 100644 index 00000000..9e8618da --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala @@ -0,0 +1,89 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait FakeplaySpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/fakeplay/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From e6aff134ccada999b282862cc39b50c20bd94fc9 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 14:40:04 -0300 Subject: [PATCH 030/180] faketaobao --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +++- .../cic/android/specs/FaketaobaoSpec.scala | 43 +++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 73d821e7..7afb7227 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -89,7 +89,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 2) } - + test("in the APK faketaobao, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("faketaobao") with FaketaobaoSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } //template test("in the APK XXX, we should detect X flows") { diff --git a/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala b/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala new file mode 100644 index 00000000..48596e39 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala @@ -0,0 +1,43 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait FaketaobaoSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/faketaobao/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 0867c38f9854059df0bccf268620538922b83c72 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 14:44:10 -0300 Subject: [PATCH 031/180] godwon_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 23 +++++++++++++- .../cic/android/specs/GodwonSampSpec.scala | 30 +++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 7afb7227..62c27447 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -95,6 +95,27 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 4) } + test("in the APK godwon_samp, we should detect 6 flows") { + val svfa = new AndroidTaintBenchTest("godwon_samp") with GodwonSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 6) + } + + + + + + + + + + + + + + + + //template test("in the APK XXX, we should detect X flows") { val svfa = new AndroidTaintBenchTest("XXX") with BackFlashSpec diff --git a/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala new file mode 100644 index 00000000..5dda8f85 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala @@ -0,0 +1,30 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait GodwonSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/roidsec/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 2d38fdb5e9da53bc91c18c8bba282970a26ff0ac Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 15:44:53 -0300 Subject: [PATCH 032/180] hummingbad_android_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 7 +- .../specs/HummingbadAndroidSampSpec.scala | 842 ++++++++++++++++++ 2 files changed, 848 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 62c27447..0be65938 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -101,6 +101,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 6) } + test("in the APK hummingbad_android_samp, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("hummingbad_android_samp") with HummingbadAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } diff --git a/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala new file mode 100644 index 00000000..5aa9e6f9 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala @@ -0,0 +1,842 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait HummingbadAndroidSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/hummingbad_android_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 62d7ca17fb789d09f449739bb5adf5bd4affa71b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 15:54:29 -0300 Subject: [PATCH 033/180] jollyserv --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../unb/cic/android/specs/JollyservSpec.scala | 371 ++++++++++++++++++ 2 files changed, 378 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 0be65938..eb5d02c2 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -107,6 +107,12 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 2) } + test("in the APK jollyserv, we should detect 1 flows") { + val svfa = new AndroidTaintBenchTest("jollyserv") with JollyservSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } + diff --git a/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala b/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala new file mode 100644 index 00000000..3721b0f9 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala @@ -0,0 +1,371 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait JollyservSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/jollyserv/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From e00147540b0b61a919f247e64b48687d95defa52 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 16:02:13 -0300 Subject: [PATCH 034/180] overlaylocker2_android_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 12 +- .../specs/OverlayAndroidSampSpec.scala | 102 +++++++++++++++ .../specs/Overlaylocker2AndroidSampSpec.scala | 120 ++++++++++++++++++ 3 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala create mode 100644 src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index eb5d02c2..fc2c24cd 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -113,7 +113,17 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 1) } + test("in the APK overlay_android_samp, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("overlay_android_samp") with OverlayAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } + test("in the APK overlaylocker2_android_samp, we should detect 7 flows") { + val svfa = new AndroidTaintBenchTest("overlaylocker2_android_samp") with Overlaylocker2AndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 7) + } diff --git a/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala new file mode 100644 index 00000000..9772faec --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala @@ -0,0 +1,102 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait OverlayAndroidSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/overlay_android_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file diff --git a/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala new file mode 100644 index 00000000..0814a9f6 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala @@ -0,0 +1,120 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait Overlaylocker2AndroidSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/overlaylocker2_android_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 7983407062e0a4349c22973100cd29b17ae3c1d2 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 16:10:18 -0300 Subject: [PATCH 035/180] phospy --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../br/unb/cic/android/specs/PhospySpec.scala | 92 +++++++++++++++++++ 2 files changed, 98 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/PhospySpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index fc2c24cd..e1a8228d 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -125,7 +125,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 7) } - + test("in the APK phospy, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("phospy") with PhospySpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } diff --git a/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala b/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala new file mode 100644 index 00000000..a66a726e --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala @@ -0,0 +1,92 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait PhospySpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/phospy/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 7232f6fbf974b9dccc17d5d1df389edcaac99955 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 16:14:47 -0300 Subject: [PATCH 036/180] proxy_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 7 +- .../unb/cic/android/specs/ProxySampSpec.scala | 82 +++++++++++++++++++ 2 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index e1a8228d..808cf9bd 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -131,6 +131,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 2) } + test("in the APK proxy_samp, we should detect 17 flows") { + val svfa = new AndroidTaintBenchTest("proxy_samp") with ProxySampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 17) + } diff --git a/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala b/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala new file mode 100644 index 00000000..cb336f81 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala @@ -0,0 +1,82 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait ProxySampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/proxy_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 6f64a3de42554d6bba645107521d214ff9b6ff97 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 16:18:25 -0300 Subject: [PATCH 037/180] remote_control_smack --- .../android/AndroidTaintBenchSuiteTest.scala | 7 +- .../specs/RemoteControlSmackSpec.scala | 447 ++++++++++++++++++ 2 files changed, 453 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 808cf9bd..cf845e2a 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -137,6 +137,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 17) } + test("in the APK remote_control_smack, we should detect 17 flows") { + val svfa = new AndroidTaintBenchTest("remote_control_smack") with RemoteControlSmackSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 17) + } diff --git a/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala b/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala new file mode 100644 index 00000000..52916b11 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala @@ -0,0 +1,447 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait RemoteControlSmackSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/remote_control_smack/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 1336f38e8b41872b26de79b74a77b5460f5325ac Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 16:21:18 -0300 Subject: [PATCH 038/180] repane --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +++- .../br/unb/cic/android/specs/RepaneSpec.scala | 40 +++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index cf845e2a..429f3961 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -143,7 +143,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 17) } - + test("in the APK repane, we should detect 1 flow") { + val svfa = new AndroidTaintBenchTest("repane") with RepaneSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } diff --git a/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala b/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala new file mode 100644 index 00000000..c62ed7b4 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala @@ -0,0 +1,40 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait RepaneSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/repane/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 6b803320e467db75457639463eb6648807483d99 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 16:22:07 -0300 Subject: [PATCH 039/180] roidsec --- .../android/AndroidTaintBenchSuiteTest.scala | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 429f3961..c4f9c606 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -4,12 +4,6 @@ import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, Cajino import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { - test("in the APK Roidsec, we should detect 1 flow") { - val svfa = new AndroidTaintBenchTest("roidsec") with RoidSecSpec - svfa.buildSparseValueFlowGraph() - // println(svfa.svgToDotModel()) - assert(svfa.reportConflictsSVG().size == 13) - } test("in the APK backflash, we should detect 6 flow") { val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec @@ -149,11 +143,27 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 1) } + test("in the APK Roidsec, we should detect 1 flow") { + val svfa = new AndroidTaintBenchTest("roidsec") with RoidSecSpec + svfa.buildSparseValueFlowGraph() + // println(svfa.svgToDotModel()) + assert(svfa.reportConflictsSVG().size == 13) + } + + + + + + + + + + //template test("in the APK XXX, we should detect X flows") { From e0731ca39be3ae4c3b2c3cff4cbf12eac644f7ca Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 16:25:21 -0300 Subject: [PATCH 040/180] samsapo --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../unb/cic/android/specs/SamsapoSpec.scala | 77 +++++++++++++++++++ 2 files changed, 83 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index c4f9c606..955c557f 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -150,6 +150,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 13) } + test("in the APK samsapo, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("samsapo") with SamsapoSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } @@ -163,7 +168,6 @@ class AndroidTaintBenchSuiteTest extends FunSuite { - //template test("in the APK XXX, we should detect X flows") { diff --git a/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala b/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala new file mode 100644 index 00000000..ef7cbcbd --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala @@ -0,0 +1,77 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait SamsapoSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/samsapo/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 9e6801f79b1436eaa9da9f2df339c75eae7274d9 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 18:47:46 -0300 Subject: [PATCH 041/180] save_me --- .../android/AndroidTaintBenchSuiteTest.scala | 7 +- .../br/unb/cic/android/specs/SaveMeSpec.scala | 179 ++++++++++++++++++ 2 files changed, 185 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 955c557f..00551b39 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -156,6 +156,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 4) } + test("in the APK save_me we should detect 25 flows") { + val svfa = new AndroidTaintBenchTest("save_me") with SaveMeSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 25) + } diff --git a/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala b/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala new file mode 100644 index 00000000..45b4bc9f --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala @@ -0,0 +1,179 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait SaveMeSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/save_me/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From ee1f851044f06407d03cf527e14345f340d5809c Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 18:50:46 -0300 Subject: [PATCH 042/180] scipiex --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../unb/cic/android/specs/ScipiexSpec.scala | 432 ++++++++++++++++++ 2 files changed, 438 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 00551b39..10159b55 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -162,7 +162,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 25) } - + test("in the APK scipiex, we should detect 3 flows") { + val svfa = new AndroidTaintBenchTest("scipiex") with ScipiexSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 3) + } diff --git a/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala b/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala new file mode 100644 index 00000000..cb8d125b --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala @@ -0,0 +1,432 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait ScipiexSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/scipiex/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 575994c0fed68f4a1f5698998c2996b32df1349b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 18:54:41 -0300 Subject: [PATCH 043/180] slocker_android_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 8 ++- .../specs/SlockerAndroidSampSpec.scala | 68 +++++++++++++++++++ 2 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 10159b55..51e4e138 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -168,7 +168,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 3) } - + test("in the APK slocker_android_samp, we should detect 5 flows") { + val svfa = new AndroidTaintBenchTest("slocker_android_samp") with SlockerAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 5) + } diff --git a/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala new file mode 100644 index 00000000..4f9e6ca6 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala @@ -0,0 +1,68 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait SlockerAndroidSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/slocker_android_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From b7a772261cd7088e1d3eacb9ae7cd0f8adffec90 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 18:59:17 -0300 Subject: [PATCH 044/180] sms_google --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../unb/cic/android/specs/SmsGoogleSpec.scala | 86 +++++++++++++++++++ 2 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 51e4e138..be209084 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -174,7 +174,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 5) } - + test("in the APK sms_google, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("sms_google") with SmsGoogleSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } diff --git a/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala new file mode 100644 index 00000000..fc24ab02 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala @@ -0,0 +1,86 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait SmsGoogleSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/sms_google/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From f675e96b8005422e2816f232f056197c1af03d59 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:03:12 -0300 Subject: [PATCH 045/180] sms_send_locker_qqmagic --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +++- .../specs/SmsSendLockerQqmagicSpec.scala | 46 +++++++++++++++++++ 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index be209084..2e23b725 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -180,7 +180,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 4) } - + test("in the APK sms_send_locker_qqmagic, we should detect 6 flows") { + val svfa = new AndroidTaintBenchTest("sms_send_locker_qqmagic") with SmsSendLockerQqmagicSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 6) + } diff --git a/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala new file mode 100644 index 00000000..1d246c21 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala @@ -0,0 +1,46 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait SmsSendLockerQqmagicSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/sms_send_locker_qqmagic/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From c204789de50965820df516d66c43ccb6d13fa079 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:10:46 -0300 Subject: [PATCH 046/180] smssend_packageInstaller --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../specs/SmssendPackageInstallerSpec.scala | 116 ++++++++++++++++++ 2 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 2e23b725..77669852 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -186,6 +186,12 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 6) } + test("in the APK smssend_packageInstaller, we should detect 5 flows") { + val svfa = new AndroidTaintBenchTest("smssend_packageInstaller") with SmssendPackageInstallerSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 5) + } + diff --git a/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala new file mode 100644 index 00000000..3a8765a9 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala @@ -0,0 +1,116 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait SmssendPackageInstallerSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/smssend_packageInstaller/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 085dbe4d5916ca80cde2eb682c9aaf218ba0f548 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:16:06 -0300 Subject: [PATCH 047/180] smssilience_fake_vertu --- .../android/AndroidTaintBenchSuiteTest.scala | 9 ++++- .../specs/SmssilienceFakeVertuSpec.scala | 36 +++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 77669852..aeba223b 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -192,6 +192,13 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 5) } + test("in the APK smssilience_fake_vertu, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("smssilience_fake_vertu") with SmssilienceFakeVertuSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + diff --git a/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala new file mode 100644 index 00000000..cb5c3817 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala @@ -0,0 +1,36 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait SmssilienceFakeVertuSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/smssilience_fake_vertu/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 1836fcea6cede2fb93e0521d821c6bb0abf87e0a Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:19:53 -0300 Subject: [PATCH 048/180] smsstealer_kysn_assassincreed_android_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 8 ++- ...alerKysnAssassincreedAndroidSampSpec.scala | 63 +++++++++++++++++++ 2 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index aeba223b..0b666b0e 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -198,7 +198,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 2) } - + test("in the APK smsstealer_kysn_assassincreed_android_samp, we should detect 5 flows") { + val svfa = new AndroidTaintBenchTest("smsstealer_kysn_assassincreed_android_samp") with SmsstealerKysnAssassincreedAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 5) + } diff --git a/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala new file mode 100644 index 00000000..13bf1619 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala @@ -0,0 +1,63 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait SmsstealerKysnAssassincreedAndroidSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/smsstealer_kysn_assassincreed_android_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From cb39d599ebc46c24ca9c815f4fa3866ac605486b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:23:29 -0300 Subject: [PATCH 049/180] stels_flashplayer_android_update --- .../android/AndroidTaintBenchSuiteTest.scala | 15 ++- .../StelsFlashplayerAndroidUpdateSpec.scala | 92 +++++++++++++++++++ 2 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 0b666b0e..b99c2cc8 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -204,6 +204,19 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 5) } + test("in the APK stels_flashplayer_android_update, we should detect 3 flows") { + val svfa = new AndroidTaintBenchTest("stels_flashplayer_android_update") with StelsFlashplayerAndroidUpdateSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 3) + } + + + + + + + + diff --git a/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala b/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala new file mode 100644 index 00000000..9eb76e91 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala @@ -0,0 +1,92 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait StelsFlashplayerAndroidUpdateSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/stels_flashplayer_android_update/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 1f0a2e7f82362ecb4889221cbd5f339987a46c3e Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:26:15 -0300 Subject: [PATCH 050/180] tetus --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../br/unb/cic/android/specs/TetusSpec.scala | 100 ++++++++++++++++++ 2 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/TetusSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index b99c2cc8..95b46596 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -210,7 +210,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 3) } - + test("in the APK tetus, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("tetus") with TetusSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } diff --git a/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala b/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala new file mode 100644 index 00000000..df87c66e --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala @@ -0,0 +1,100 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait TetusSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/tetus/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 57c4dfbbc4cb32451d60cea235422930ad1c0668 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:28:38 -0300 Subject: [PATCH 051/180] the_interview_movieshow --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +++-- .../specs/TheInterviewMovieShowSpec.scala | 34 +++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 95b46596..9fef6d58 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec, TheInterviewMovieShowSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -216,7 +216,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 2) } - + test("in the APK the_interview_movieshow, we should detect 1 flows") { + val svfa = new AndroidTaintBenchTest("the_interview_movieshow") with TheInterviewMovieShowSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } diff --git a/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala b/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala new file mode 100644 index 00000000..c51a3d13 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala @@ -0,0 +1,34 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait TheInterviewMovieShowSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/the_interview_movieshow/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From d57ce37e4edc9ebf15ea69ca752c0ed092c49d15 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:32:42 -0300 Subject: [PATCH 052/180] threatjapan_uracto --- .../android/AndroidTaintBenchSuiteTest.scala | 10 ++++- .../android/specs/ThreatjapanUractoSpec.scala | 42 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 9fef6d58..c73474d0 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec, TheInterviewMovieShowSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec, TheInterviewMovieShowSpec, ThreatjapanUractoSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -222,6 +222,14 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 1) } + test("in the APK threatjapan_uracto, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("threatjapan_uracto") with ThreatjapanUractoSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + + diff --git a/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala b/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala new file mode 100644 index 00000000..e6e5889a --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala @@ -0,0 +1,42 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait ThreatjapanUractoSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/threatjapan_uracto/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 8f7679c787d1e641fdeec2d347ed477a32d28f04 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:36:33 -0300 Subject: [PATCH 053/180] vibleaker_android_samp --- src/test/scala/br/unb/cic/android/list.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/test/scala/br/unb/cic/android/list.txt diff --git a/src/test/scala/br/unb/cic/android/list.txt b/src/test/scala/br/unb/cic/android/list.txt new file mode 100644 index 00000000..5248216a --- /dev/null +++ b/src/test/scala/br/unb/cic/android/list.txt @@ -0,0 +1,4 @@ +/home/jclavo/Documents/unb/master/taint-bench/.apk +/home/jclavo/Documents/unb/master/taint-bench/.apk +/home/jclavo/Documents/unb/master/taint-bench/.apk +/home/jclavo/Documents/unb/master/taint-bench/xbot_android_samp.apk \ No newline at end of file From 54535efedc9a8bdcf5108bd509566c95f603373f Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:36:40 -0300 Subject: [PATCH 054/180] vibleaker_android_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 8 +- .../specs/VibleakerAndroidSampSpec.scala | 686 ++++++++++++++++++ 2 files changed, 692 insertions(+), 2 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index c73474d0..33520673 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec, TheInterviewMovieShowSpec, ThreatjapanUractoSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec, TheInterviewMovieShowSpec, ThreatjapanUractoSpec, VibleakerAndroidSampSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -228,7 +228,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 2) } - + test("in the APK vibleaker_android_samp, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("vibleaker_android_samp") with VibleakerAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } diff --git a/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala new file mode 100644 index 00000000..7918b75c --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala @@ -0,0 +1,686 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait VibleakerAndroidSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/vibleaker_android_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 45ef00d11874e514b068e52c347cc7477ed06b1c Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:40:25 -0300 Subject: [PATCH 055/180] remove list --- src/test/scala/br/unb/cic/android/list.txt | 4 ---- 1 file changed, 4 deletions(-) delete mode 100644 src/test/scala/br/unb/cic/android/list.txt diff --git a/src/test/scala/br/unb/cic/android/list.txt b/src/test/scala/br/unb/cic/android/list.txt deleted file mode 100644 index 5248216a..00000000 --- a/src/test/scala/br/unb/cic/android/list.txt +++ /dev/null @@ -1,4 +0,0 @@ -/home/jclavo/Documents/unb/master/taint-bench/.apk -/home/jclavo/Documents/unb/master/taint-bench/.apk -/home/jclavo/Documents/unb/master/taint-bench/.apk -/home/jclavo/Documents/unb/master/taint-bench/xbot_android_samp.apk \ No newline at end of file From a3dcf4fb274f951991834ee79849b9e07fc896cd Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 19:40:30 -0300 Subject: [PATCH 056/180] xbot_android_samp --- .../android/AndroidTaintBenchSuiteTest.scala | 15 +- .../android/specs/XbotAndroidSampSpec.scala | 332 ++++++++++++++++++ 2 files changed, 336 insertions(+), 11 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 33520673..8c7f31d9 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec, TheInterviewMovieShowSpec, ThreatjapanUractoSpec, VibleakerAndroidSampSpec} +import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec, TheInterviewMovieShowSpec, ThreatjapanUractoSpec, VibleakerAndroidSampSpec, XbotAndroidSampSpec} import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { @@ -234,16 +234,9 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 4) } - - - - - - -//template - test("in the APK XXX, we should detect X flows") { - val svfa = new AndroidTaintBenchTest("XXX") with BackFlashSpec + test("in the APK xbot_android_samp, we should detect 3 flows") { + val svfa = new AndroidTaintBenchTest("xbot_android_samp") with XbotAndroidSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 0) + assert(svfa.reportConflictsSVG().size == 3) } } diff --git a/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala new file mode 100644 index 00000000..5ec2a976 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala @@ -0,0 +1,332 @@ +package br.unb.cic.android.specs + +import br.unb.cic.android.AndroidTaintBenchTest + +trait XbotAndroidSampSpec extends AndroidTaintBenchTest { +// URL https://github.com/TaintBench/xbot_android_samp/blob/master/README.md + override val sourceList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) + + override val sinkList = List( + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + ) +} \ No newline at end of file From 7b43b7e27ffe52a140352a52bdf6874096f734d5 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 21:37:04 -0300 Subject: [PATCH 057/180] update number of assertions --- .../scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 8c7f31d9..dc091f98 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -8,7 +8,7 @@ class AndroidTaintBenchSuiteTest extends FunSuite { test("in the APK backflash, we should detect 6 flow") { val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 6) + assert(svfa.reportConflictsSVG().size == 13) } test("in the APK beita_com_beita_contact, we should detect 3 flow") { From 638ac5b05ce8df6c7d08f51addcc09c0d0f3faac Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 21:40:22 -0300 Subject: [PATCH 058/180] extends FlowdroidSpec --- src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala | 2 +- .../br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala | 2 +- .../br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala | 2 +- .../br/unb/cic/android/specs/FakebankAndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala | 2 +- .../br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala | 2 +- .../unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/PhospySpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala | 2 +- .../br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala | 2 +- .../br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala | 2 +- .../br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala | 2 +- .../specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala | 2 +- .../cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/TetusSpec.scala | 2 +- .../br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala | 2 +- .../br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala | 2 +- 40 files changed, 40 insertions(+), 40 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala index e86e1390..1d3432c0 100644 --- a/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait BackFlashSpec extends AndroidTaintBenchTest { +trait BackFlashSpec extends FlowdroidSpec { override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala index 49fe7d46..6b378bcf 100644 --- a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait BeitaComBeitaContactSpec extends AndroidTaintBenchTest { +trait BeitaComBeitaContactSpec extends FlowdroidSpec { override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala b/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala index 32c58b3b..9cb56dc4 100644 --- a/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait CajinoBaiduSpec extends AndroidTaintBenchTest { +trait CajinoBaiduSpec extends FlowdroidSpec { override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala b/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala index 1a92491c..cad47e28 100644 --- a/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait ChatHookSpec extends AndroidTaintBenchTest { +trait ChatHookSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/chat_hook/blob/master/README.md override val sourceList = List( diff --git a/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala b/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala index d007fd08..5730f7d8 100644 --- a/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait ChuliaSpec extends AndroidTaintBenchTest { +trait ChuliaSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/roidsec/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala b/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala index 65f036d9..19e89e05 100644 --- a/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait DeathRingMaterialflowSpec extends AndroidTaintBenchTest { +trait DeathRingMaterialflowSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/death_ring_materialflow/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala index 69a48646..1d3be67a 100644 --- a/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait DsencryptSampSpec extends AndroidTaintBenchTest { +trait DsencryptSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/dsencrypt_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala b/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala index 470e95bf..2307eba6 100644 --- a/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait ExprespamSpec extends AndroidTaintBenchTest { +trait ExprespamSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/exprespam/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala index 5a6ea540..9ba80270 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait FakeappstoreSpec extends AndroidTaintBenchTest { +trait FakeappstoreSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakeappstore/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala index c766aa7e..1727e515 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait FakebankAndroidSampSpec extends AndroidTaintBenchTest { +trait FakebankAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakebank_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala index 49a818b4..9e080bf9 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait FakedaumSpec extends AndroidTaintBenchTest { +trait FakedaumSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakedaum/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala index 9e761458..4a1359d1 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait FakemartSpec extends AndroidTaintBenchTest { +trait FakemartSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakemart/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala b/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala index 9e8618da..69f495ad 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait FakeplaySpec extends AndroidTaintBenchTest { +trait FakeplaySpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakeplay/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala b/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala index 48596e39..7016ed73 100644 --- a/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait FaketaobaoSpec extends AndroidTaintBenchTest { +trait FaketaobaoSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/faketaobao/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala index 5dda8f85..5e6d648a 100644 --- a/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait GodwonSampSpec extends AndroidTaintBenchTest { +trait GodwonSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/roidsec/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala index 5aa9e6f9..45302bf0 100644 --- a/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait HummingbadAndroidSampSpec extends AndroidTaintBenchTest { +trait HummingbadAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/hummingbad_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala b/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala index 3721b0f9..693ab2e2 100644 --- a/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait JollyservSpec extends AndroidTaintBenchTest { +trait JollyservSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/jollyserv/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala index 9772faec..7add0d9b 100644 --- a/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait OverlayAndroidSampSpec extends AndroidTaintBenchTest { +trait OverlayAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/overlay_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala index 0814a9f6..170e10fb 100644 --- a/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait Overlaylocker2AndroidSampSpec extends AndroidTaintBenchTest { +trait Overlaylocker2AndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/overlaylocker2_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala b/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala index a66a726e..0394df1d 100644 --- a/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait PhospySpec extends AndroidTaintBenchTest { +trait PhospySpec extends FlowdroidSpec { // URL https://github.com/TaintBench/phospy/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala b/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala index cb336f81..702fc197 100644 --- a/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait ProxySampSpec extends AndroidTaintBenchTest { +trait ProxySampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/proxy_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala b/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala index 52916b11..b9272c14 100644 --- a/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait RemoteControlSmackSpec extends AndroidTaintBenchTest { +trait RemoteControlSmackSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/remote_control_smack/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala b/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala index c62ed7b4..ba545a43 100644 --- a/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait RepaneSpec extends AndroidTaintBenchTest { +trait RepaneSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/repane/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala index d7fdf59d..6c9e8c94 100644 --- a/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait RoidSecSpec extends AndroidTaintBenchTest { +trait RoidSecSpec extends FlowdroidSpec { override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala b/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala index ef7cbcbd..e4dfab44 100644 --- a/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait SamsapoSpec extends AndroidTaintBenchTest { +trait SamsapoSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/samsapo/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala b/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala index 45b4bc9f..ad5f2664 100644 --- a/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait SaveMeSpec extends AndroidTaintBenchTest { +trait SaveMeSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/save_me/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala b/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala index cb8d125b..6caf9cf3 100644 --- a/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait ScipiexSpec extends AndroidTaintBenchTest { +trait ScipiexSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/scipiex/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala index 4f9e6ca6..4d92dd43 100644 --- a/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait SlockerAndroidSampSpec extends AndroidTaintBenchTest { +trait SlockerAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/slocker_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala index fc24ab02..912db1b9 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait SmsGoogleSpec extends AndroidTaintBenchTest { +trait SmsGoogleSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/sms_google/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala index 1d246c21..b77fe6ce 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait SmsSendLockerQqmagicSpec extends AndroidTaintBenchTest { +trait SmsSendLockerQqmagicSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/sms_send_locker_qqmagic/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala index 3a8765a9..6dd827fc 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait SmssendPackageInstallerSpec extends AndroidTaintBenchTest { +trait SmssendPackageInstallerSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/smssend_packageInstaller/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala index cb5c3817..48e98d03 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait SmssilienceFakeVertuSpec extends AndroidTaintBenchTest { +trait SmssilienceFakeVertuSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/smssilience_fake_vertu/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala index 13bf1619..82ff00b9 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait SmsstealerKysnAssassincreedAndroidSampSpec extends AndroidTaintBenchTest { +trait SmsstealerKysnAssassincreedAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/smsstealer_kysn_assassincreed_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala b/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala index 9eb76e91..3a80615a 100644 --- a/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait StelsFlashplayerAndroidUpdateSpec extends AndroidTaintBenchTest { +trait StelsFlashplayerAndroidUpdateSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/stels_flashplayer_android_update/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala b/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala index df87c66e..9b73cd2a 100644 --- a/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait TetusSpec extends AndroidTaintBenchTest { +trait TetusSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/tetus/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala b/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala index c51a3d13..0036721f 100644 --- a/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait TheInterviewMovieShowSpec extends AndroidTaintBenchTest { +trait TheInterviewMovieShowSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/the_interview_movieshow/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala b/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala index e6e5889a..a372788b 100644 --- a/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait ThreatjapanUractoSpec extends AndroidTaintBenchTest { +trait ThreatjapanUractoSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/threatjapan_uracto/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala index 7918b75c..303bc233 100644 --- a/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait VibleakerAndroidSampSpec extends AndroidTaintBenchTest { +trait VibleakerAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/vibleaker_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala index 5ec2a976..e20d77ff 100644 --- a/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait XbotAndroidSampSpec extends AndroidTaintBenchTest { +trait XbotAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/xbot_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala b/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala index 065d8702..9fea6bfa 100644 --- a/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala @@ -2,7 +2,7 @@ package br.unb.cic.android.specs import br.unb.cic.android.AndroidTaintBenchTest -trait _ExampleSpec extends AndroidTaintBenchTest { +trait _ExampleSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/roidsec/blob/master/README.md override val sourceList = List( "", From 0ea9a2b922f64baffe817ae8faa8ec4d303606a4 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 21:43:58 -0300 Subject: [PATCH 059/180] organize imports --- src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala | 1 - .../scala/br/unb/cic/android/{specs => }/FlowdroidSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala | 2 +- .../br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala | 2 +- .../br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala | 2 +- .../br/unb/cic/android/specs/FakebankAndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala | 2 +- .../br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala | 2 +- .../unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/PhospySpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala | 2 +- .../br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala | 2 +- .../br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala | 2 +- .../br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala | 2 +- .../specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala | 2 +- .../cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/TetusSpec.scala | 2 +- .../br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala | 2 +- .../br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala | 2 +- .../scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala | 2 +- src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala | 2 +- 42 files changed, 41 insertions(+), 42 deletions(-) rename src/test/scala/br/unb/cic/android/{specs => }/FlowdroidSpec.scala (99%) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala index 8a725807..deebcb76 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala @@ -1,6 +1,5 @@ package br.unb.cic.android -import br.unb.cic.android.specs.FlowdroidSpec import br.unb.cic.soot.svfa.jimple.JSVFA import br.unb.cic.soot.svfa.configuration.AndroidSootConfiguration import br.unb.cic.soot.svfa.jimple.{FieldSensitive, Interprocedural, JSVFA, PropagateTaint} diff --git a/src/test/scala/br/unb/cic/android/specs/FlowdroidSpec.scala b/src/test/scala/br/unb/cic/android/FlowdroidSpec.scala similarity index 99% rename from src/test/scala/br/unb/cic/android/specs/FlowdroidSpec.scala rename to src/test/scala/br/unb/cic/android/FlowdroidSpec.scala index e5af8c23..2d3b1ac2 100644 --- a/src/test/scala/br/unb/cic/android/specs/FlowdroidSpec.scala +++ b/src/test/scala/br/unb/cic/android/FlowdroidSpec.scala @@ -1,4 +1,4 @@ -package br.unb.cic.android.specs +package br.unb.cic.android trait FlowdroidSpec { val sourceList = List( diff --git a/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala index 1d3432c0..6f6ab380 100644 --- a/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait BackFlashSpec extends FlowdroidSpec { diff --git a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala index 6b378bcf..2c741b49 100644 --- a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait BeitaComBeitaContactSpec extends FlowdroidSpec { diff --git a/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala b/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala index 9cb56dc4..e7c94394 100644 --- a/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait CajinoBaiduSpec extends FlowdroidSpec { diff --git a/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala b/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala index cad47e28..9cebaa27 100644 --- a/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait ChatHookSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/chat_hook/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala b/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala index 5730f7d8..cc8f854c 100644 --- a/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait ChuliaSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/roidsec/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala b/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala index 19e89e05..aae5d653 100644 --- a/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait DeathRingMaterialflowSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/death_ring_materialflow/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala index 1d3be67a..836547d0 100644 --- a/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait DsencryptSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/dsencrypt_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala b/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala index 2307eba6..77ed913a 100644 --- a/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait ExprespamSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/exprespam/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala index 9ba80270..eb8f9854 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait FakeappstoreSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakeappstore/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala index 1727e515..9bc62fc0 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait FakebankAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakebank_android_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala index 9e080bf9..f5d87be5 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait FakedaumSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakedaum/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala index 4a1359d1..658cf541 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait FakemartSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakemart/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala b/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala index 69f495ad..54d6a978 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait FakeplaySpec extends FlowdroidSpec { // URL https://github.com/TaintBench/fakeplay/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala b/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala index 7016ed73..f8028acb 100644 --- a/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait FaketaobaoSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/faketaobao/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala index 5e6d648a..25f3545e 100644 --- a/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait GodwonSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/roidsec/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala index 45302bf0..13085622 100644 --- a/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait HummingbadAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/hummingbad_android_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala b/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala index 693ab2e2..9e3b6694 100644 --- a/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait JollyservSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/jollyserv/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala index 7add0d9b..52097a27 100644 --- a/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait OverlayAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/overlay_android_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala index 170e10fb..362a36c5 100644 --- a/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait Overlaylocker2AndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/overlaylocker2_android_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala b/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala index 0394df1d..49b0c22c 100644 --- a/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait PhospySpec extends FlowdroidSpec { // URL https://github.com/TaintBench/phospy/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala b/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala index 702fc197..de5484dd 100644 --- a/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait ProxySampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/proxy_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala b/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala index b9272c14..bd404228 100644 --- a/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait RemoteControlSmackSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/remote_control_smack/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala b/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala index ba545a43..f5ceb214 100644 --- a/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait RepaneSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/repane/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala index 6c9e8c94..af0e14ea 100644 --- a/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait RoidSecSpec extends FlowdroidSpec { diff --git a/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala b/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala index e4dfab44..49d0cb52 100644 --- a/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait SamsapoSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/samsapo/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala b/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala index ad5f2664..13b2fc14 100644 --- a/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait SaveMeSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/save_me/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala b/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala index 6caf9cf3..13f1e16f 100644 --- a/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait ScipiexSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/scipiex/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala index 4d92dd43..6640471a 100644 --- a/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait SlockerAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/slocker_android_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala index 912db1b9..025de0e5 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait SmsGoogleSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/sms_google/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala index b77fe6ce..503f4645 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait SmsSendLockerQqmagicSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/sms_send_locker_qqmagic/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala index 6dd827fc..4f952d5c 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait SmssendPackageInstallerSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/smssend_packageInstaller/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala index 48e98d03..32406c5a 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait SmssilienceFakeVertuSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/smssilience_fake_vertu/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala index 82ff00b9..f187d283 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait SmsstealerKysnAssassincreedAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/smsstealer_kysn_assassincreed_android_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala b/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala index 3a80615a..c12a65f4 100644 --- a/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait StelsFlashplayerAndroidUpdateSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/stels_flashplayer_android_update/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala b/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala index 9b73cd2a..582b98c5 100644 --- a/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait TetusSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/tetus/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala b/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala index 0036721f..aae674d9 100644 --- a/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait TheInterviewMovieShowSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/the_interview_movieshow/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala b/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala index a372788b..793b8876 100644 --- a/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait ThreatjapanUractoSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/threatjapan_uracto/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala index 303bc233..2ec4852f 100644 --- a/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait VibleakerAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/vibleaker_android_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala index e20d77ff..5b656f5e 100644 --- a/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait XbotAndroidSampSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/xbot_android_samp/blob/master/README.md diff --git a/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala b/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala index 9fea6bfa..f8ebf051 100644 --- a/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android.specs -import br.unb.cic.android.AndroidTaintBenchTest +import br.unb.cic.android.FlowdroidSpec trait _ExampleSpec extends FlowdroidSpec { // URL https://github.com/TaintBench/roidsec/blob/master/README.md From c43c171ad3a830d907e3203b8ec2c46c768c4869 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 25 Dec 2024 21:48:09 -0300 Subject: [PATCH 060/180] typo --- .../scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index dc091f98..a57cf457 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -5,7 +5,7 @@ import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite { - test("in the APK backflash, we should detect 6 flow") { + test("in the APK backflash, we should detect 13 flow") { val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec svfa.buildSparseValueFlowGraph() assert(svfa.reportConflictsSVG().size == 13) From b0ce4d5bf33ad7d37f698d544da704eb96bcb616 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 29 Dec 2024 13:39:22 -0300 Subject: [PATCH 061/180] rename to TaintBenchSpec --- src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala | 2 +- .../cic/android/{FlowdroidSpec.scala => TaintBenchSpec.scala} | 2 +- src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala | 4 ++-- .../br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala | 4 ++-- .../br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala | 4 ++-- .../scala/br/unb/cic/android/specs/DsencryptSampSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala | 4 ++-- .../scala/br/unb/cic/android/specs/FakeappstoreSpec.scala | 4 ++-- .../br/unb/cic/android/specs/FakebankAndroidSampSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala | 4 ++-- .../br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala | 4 ++-- .../br/unb/cic/android/specs/OverlayAndroidSampSpec.scala | 4 ++-- .../unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/PhospySpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala | 4 ++-- .../br/unb/cic/android/specs/RemoteControlSmackSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala | 4 ++-- .../br/unb/cic/android/specs/SlockerAndroidSampSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala | 4 ++-- .../br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala | 4 ++-- .../unb/cic/android/specs/SmssendPackageInstallerSpec.scala | 4 ++-- .../br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala | 4 ++-- .../specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala | 4 ++-- .../cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/TetusSpec.scala | 4 ++-- .../br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala | 4 ++-- .../br/unb/cic/android/specs/ThreatjapanUractoSpec.scala | 4 ++-- .../br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala | 4 ++-- .../scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala | 4 ++-- src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala | 4 ++-- 42 files changed, 82 insertions(+), 82 deletions(-) rename src/test/scala/br/unb/cic/android/{FlowdroidSpec.scala => TaintBenchSpec.scala} (99%) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala index deebcb76..992025d5 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchTest.scala @@ -16,7 +16,7 @@ import java.nio.file.Paths import br.unb.cic.soot.svfa.configuration.AndroidSootConfiguration class AndroidTaintBenchTest(apk: String) extends JSVFA - with FlowdroidSpec + with TaintBenchSpec with AndroidSootConfiguration with Interprocedural with FieldSensitive diff --git a/src/test/scala/br/unb/cic/android/FlowdroidSpec.scala b/src/test/scala/br/unb/cic/android/TaintBenchSpec.scala similarity index 99% rename from src/test/scala/br/unb/cic/android/FlowdroidSpec.scala rename to src/test/scala/br/unb/cic/android/TaintBenchSpec.scala index 2d3b1ac2..761bc6c6 100644 --- a/src/test/scala/br/unb/cic/android/FlowdroidSpec.scala +++ b/src/test/scala/br/unb/cic/android/TaintBenchSpec.scala @@ -1,6 +1,6 @@ package br.unb.cic.android -trait FlowdroidSpec { +trait TaintBenchSpec { val sourceList = List( "", "", diff --git a/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala index 6f6ab380..455670fa 100644 --- a/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/BackFlashSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait BackFlashSpec extends FlowdroidSpec { +trait BackFlashSpec extends TaintBenchSpec { override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala index 2c741b49..40d8f342 100644 --- a/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/BeitaComBeitaContactSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait BeitaComBeitaContactSpec extends FlowdroidSpec { +trait BeitaComBeitaContactSpec extends TaintBenchSpec { override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala b/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala index e7c94394..fc97a93b 100644 --- a/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/CajinoBaiduSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait CajinoBaiduSpec extends FlowdroidSpec { +trait CajinoBaiduSpec extends TaintBenchSpec { override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala b/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala index 9cebaa27..c1ba6ea5 100644 --- a/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ChatHookSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait ChatHookSpec extends FlowdroidSpec { +trait ChatHookSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/chat_hook/blob/master/README.md override val sourceList = List( diff --git a/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala b/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala index cc8f854c..99ecb310 100644 --- a/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ChuliaSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait ChuliaSpec extends FlowdroidSpec { +trait ChuliaSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/roidsec/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala b/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala index aae5d653..fefad8c3 100644 --- a/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/DeathRingMaterialflowSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait DeathRingMaterialflowSpec extends FlowdroidSpec { +trait DeathRingMaterialflowSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/death_ring_materialflow/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala index 836547d0..5fcd8306 100644 --- a/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/DsencryptSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait DsencryptSampSpec extends FlowdroidSpec { +trait DsencryptSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/dsencrypt_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala b/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala index 77ed913a..f08e1206 100644 --- a/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ExprespamSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait ExprespamSpec extends FlowdroidSpec { +trait ExprespamSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/exprespam/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala index eb8f9854..4665f633 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakeappstoreSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait FakeappstoreSpec extends FlowdroidSpec { +trait FakeappstoreSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/fakeappstore/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala index 9bc62fc0..f01958f0 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakebankAndroidSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait FakebankAndroidSampSpec extends FlowdroidSpec { +trait FakebankAndroidSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/fakebank_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala index f5d87be5..1271c228 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakedaumSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait FakedaumSpec extends FlowdroidSpec { +trait FakedaumSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/fakedaum/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala b/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala index 658cf541..5504fb1b 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakemartSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait FakemartSpec extends FlowdroidSpec { +trait FakemartSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/fakemart/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala b/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala index 54d6a978..1549978c 100644 --- a/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FakeplaySpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait FakeplaySpec extends FlowdroidSpec { +trait FakeplaySpec extends TaintBenchSpec { // URL https://github.com/TaintBench/fakeplay/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala b/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala index f8028acb..e40fc586 100644 --- a/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/FaketaobaoSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait FaketaobaoSpec extends FlowdroidSpec { +trait FaketaobaoSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/faketaobao/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala index 25f3545e..c45ca11b 100644 --- a/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/GodwonSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait GodwonSampSpec extends FlowdroidSpec { +trait GodwonSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/roidsec/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala index 13085622..4929c6a4 100644 --- a/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/HummingbadAndroidSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait HummingbadAndroidSampSpec extends FlowdroidSpec { +trait HummingbadAndroidSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/hummingbad_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala b/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala index 9e3b6694..cb64cece 100644 --- a/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/JollyservSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait JollyservSpec extends FlowdroidSpec { +trait JollyservSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/jollyserv/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala index 52097a27..e769170b 100644 --- a/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/OverlayAndroidSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait OverlayAndroidSampSpec extends FlowdroidSpec { +trait OverlayAndroidSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/overlay_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala index 362a36c5..ea4c7592 100644 --- a/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/Overlaylocker2AndroidSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait Overlaylocker2AndroidSampSpec extends FlowdroidSpec { +trait Overlaylocker2AndroidSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/overlaylocker2_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala b/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala index 49b0c22c..3e771d03 100644 --- a/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/PhospySpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait PhospySpec extends FlowdroidSpec { +trait PhospySpec extends TaintBenchSpec { // URL https://github.com/TaintBench/phospy/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala b/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala index de5484dd..a2f48750 100644 --- a/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ProxySampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait ProxySampSpec extends FlowdroidSpec { +trait ProxySampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/proxy_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala b/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala index bd404228..d70729b1 100644 --- a/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RemoteControlSmackSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait RemoteControlSmackSpec extends FlowdroidSpec { +trait RemoteControlSmackSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/remote_control_smack/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala b/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala index f5ceb214..10276034 100644 --- a/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RepaneSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait RepaneSpec extends FlowdroidSpec { +trait RepaneSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/repane/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala index af0e14ea..4466d02c 100644 --- a/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/RoidSecSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait RoidSecSpec extends FlowdroidSpec { +trait RoidSecSpec extends TaintBenchSpec { override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala b/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala index 49d0cb52..819db79d 100644 --- a/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SamsapoSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait SamsapoSpec extends FlowdroidSpec { +trait SamsapoSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/samsapo/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala b/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala index 13b2fc14..20a230b1 100644 --- a/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SaveMeSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait SaveMeSpec extends FlowdroidSpec { +trait SaveMeSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/save_me/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala b/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala index 13f1e16f..d4bf0ea4 100644 --- a/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ScipiexSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait ScipiexSpec extends FlowdroidSpec { +trait ScipiexSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/scipiex/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala index 6640471a..6262de54 100644 --- a/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SlockerAndroidSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait SlockerAndroidSampSpec extends FlowdroidSpec { +trait SlockerAndroidSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/slocker_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala index 025de0e5..394b8847 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmsGoogleSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait SmsGoogleSpec extends FlowdroidSpec { +trait SmsGoogleSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/sms_google/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala index 503f4645..090a1c92 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmsSendLockerQqmagicSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait SmsSendLockerQqmagicSpec extends FlowdroidSpec { +trait SmsSendLockerQqmagicSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/sms_send_locker_qqmagic/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala index 4f952d5c..ea6b9003 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmssendPackageInstallerSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait SmssendPackageInstallerSpec extends FlowdroidSpec { +trait SmssendPackageInstallerSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/smssend_packageInstaller/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala index 32406c5a..ba16406b 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmssilienceFakeVertuSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait SmssilienceFakeVertuSpec extends FlowdroidSpec { +trait SmssilienceFakeVertuSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/smssilience_fake_vertu/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala index f187d283..d961f678 100644 --- a/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/SmsstealerKysnAssassincreedAndroidSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait SmsstealerKysnAssassincreedAndroidSampSpec extends FlowdroidSpec { +trait SmsstealerKysnAssassincreedAndroidSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/smsstealer_kysn_assassincreed_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala b/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala index c12a65f4..d273ba44 100644 --- a/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/StelsFlashplayerAndroidUpdateSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait StelsFlashplayerAndroidUpdateSpec extends FlowdroidSpec { +trait StelsFlashplayerAndroidUpdateSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/stels_flashplayer_android_update/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala b/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala index 582b98c5..7aa97667 100644 --- a/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/TetusSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait TetusSpec extends FlowdroidSpec { +trait TetusSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/tetus/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala b/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala index aae674d9..e456d987 100644 --- a/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/TheInterviewMovieShowSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait TheInterviewMovieShowSpec extends FlowdroidSpec { +trait TheInterviewMovieShowSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/the_interview_movieshow/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala b/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala index 793b8876..d382e28d 100644 --- a/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/ThreatjapanUractoSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait ThreatjapanUractoSpec extends FlowdroidSpec { +trait ThreatjapanUractoSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/threatjapan_uracto/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala index 2ec4852f..a22800a3 100644 --- a/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/VibleakerAndroidSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait VibleakerAndroidSampSpec extends FlowdroidSpec { +trait VibleakerAndroidSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/vibleaker_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala b/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala index 5b656f5e..ebc98153 100644 --- a/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/XbotAndroidSampSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait XbotAndroidSampSpec extends FlowdroidSpec { +trait XbotAndroidSampSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/xbot_android_samp/blob/master/README.md override val sourceList = List( "", diff --git a/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala b/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala index f8ebf051..71468262 100644 --- a/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala +++ b/src/test/scala/br/unb/cic/android/specs/_ExampleSpec.scala @@ -1,8 +1,8 @@ package br.unb.cic.android.specs -import br.unb.cic.android.FlowdroidSpec +import br.unb.cic.android.TaintBenchSpec -trait _ExampleSpec extends FlowdroidSpec { +trait _ExampleSpec extends TaintBenchSpec { // URL https://github.com/TaintBench/roidsec/blob/master/README.md override val sourceList = List( "", From 8f616d507d5cf0fcbc9f21ee04f3fe44f297903d Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Mon, 30 Dec 2024 12:12:08 -0300 Subject: [PATCH 062/180] fix test amount of leaks --- .../scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index a57cf457..520b386f 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -143,11 +143,11 @@ class AndroidTaintBenchSuiteTest extends FunSuite { assert(svfa.reportConflictsSVG().size == 1) } - test("in the APK Roidsec, we should detect 1 flow") { + test("in the APK Roidsec, we should detect 6 flow") { val svfa = new AndroidTaintBenchTest("roidsec") with RoidSecSpec svfa.buildSparseValueFlowGraph() // println(svfa.svgToDotModel()) - assert(svfa.reportConflictsSVG().size == 13) + assert(svfa.reportConflictsSVG().size == 6) } test("in the APK samsapo, we should detect 4 flows") { From 1f39fe7abc0cacc0b90ffed21f17c09699de276c Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Mon, 30 Dec 2024 12:12:23 -0300 Subject: [PATCH 063/180] add info about Taintbench --- README.md | 48 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a28ca9a4..93405951 100644 --- a/README.md +++ b/README.md @@ -117,11 +117,49 @@ and the tests cases are in `src/test/java/securibench`. [Taintbench](https://github.com/TaintBench/TaintBench/releases/download/TaintBenchSuite/TaintBench.zip) contains a set o Android Apks that are old malware apps. We have created a file `taintbench.properties` in `src/test/resources` to set the configurations. -> failed: ?, passed: 1, ignored: ? of 39 test (?%) - -- [Roidsec] -- [ ] -- [ ] +> failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) +> +| APK | Expected | Actual | Status | +|:------------------------------------------:|:--------:|:------:|:-------:| +| backflash | 13 | 20 | FAILED | +| beita_com_beita_contact | 3 | 14 | FAILED | +| cajino_baidu | 12 | 95 | FAILED | +| chat_hook | 12 | 18 | FAILED | +| chulia | 4 | 0 | FAILED | +| death_ring_materialflow | 1 | 45 | FAILED | +| dsencrypt_samp | 1 | 2 | FAILED | +| exprespam | 2 | 0 | FAILED | +| fakeappstore | 3 | 0 | FAILED | +| fakebank_android_samp | 5 | 6 | FAILED | +| fakedaum | 2 | 10 | FAILED | +| fakemart | 2 | 0 | FAILED | +| fakeplay | 2 | 15 | FAILED | +| faketaobao | 4 | 0 | FAILED | +| godwon_samp | 6 | 0 | FAILED | +| hummingbad_android_samp | 2 | 23 | FAILED | +| jollyserv | 1 | 7 | FAILED | +| overlay_android_samp | 4 | 8 | FAILED | +| overlaylocker2_android_samp | 7 | 34 | FAILED | +| phospy | 2 | 1 | FAILED | +| proxy_samp | 17 | 20 | FAILED | +| remote_control_smack | 17 | 5 | FAILED | +| repane | 1 | 0 | FAILED | +| Roidsec | 6 | 1 | FAILED | +| samsapo | 4 | 0 | FAILED | +| save_me | 25 | 15 | FAILED | +| scipiex | 3 | 0 | FAILED | +| slocker_android_samp | 5 | 0 | FAILED | +| sms_google | 4 | 13 | FAILED | +| sms_send_locker_qqmagic | 6 | 9 | FAILED | +| smssend_packageInstaller | 5 | 46 | FAILED | +| smssilience_fake_vertu | 2 | 2 | PASSED | +| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | +| stels_flashplayer_android_update | 3 | 19 | FAILED | +| tetus | 2 | 9 | FAILED | +| the_interview_movieshow | 1 | 0 | FAILED | +| threatjapan_uracto | 2 | 0 | FAILED | +| vibleaker_android_samp | 4 | 5 | FAILED | +| xbot_android_samp | 3 | 8 | FAILED | ## Tasks From fc58d7387d6df6f036017d1148dab8ade6c6049c Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Mon, 30 Dec 2024 12:15:22 -0300 Subject: [PATCH 064/180] add source --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 93405951..8e448d6e 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | vibleaker_android_samp | 4 | 5 | FAILED | | xbot_android_samp | 3 | 8 | FAILED | +*source*: https://taintbench.github.io/taintbenchSuite/ ## Tasks ### WIP From 090ca00bbc3e94510d477883d4cf279405c85bd3 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Mon, 30 Dec 2024 12:16:20 -0300 Subject: [PATCH 065/180] task info --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8e448d6e..4dfcbde2 100644 --- a/README.md +++ b/README.md @@ -165,7 +165,9 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th ## Tasks ### WIP -- [ ] Finish integration of Taintbench. +- [ ] Integration of Taintbench. + +### TO-DO - [ ] Add set up project documentation. - [ ] Integrate Securibench as a submodule. - [ ] Fix bugs for Securibench in folders From 045942b1a31c47bf1adb2c2e6db03367cc9756a8 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Mon, 30 Dec 2024 12:18:57 -0300 Subject: [PATCH 066/180] comments --- README.md | 2 +- .../cic/soot/svfa/configuration/AndroidSootConfiguration.scala | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4dfcbde2..5f6b7055 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ and the tests cases are in `src/test/java/securibench`. We have created a file `taintbench.properties` in `src/test/resources` to set the configurations. > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -> + | APK | Expected | Actual | Status | |:------------------------------------------:|:--------:|:------:|:-------:| | backflash | 13 | 20 | FAILED | diff --git a/src/main/scala/br/unb/cic/soot/svfa/configuration/AndroidSootConfiguration.scala b/src/main/scala/br/unb/cic/soot/svfa/configuration/AndroidSootConfiguration.scala index 873351fe..c98be53d 100644 --- a/src/main/scala/br/unb/cic/soot/svfa/configuration/AndroidSootConfiguration.scala +++ b/src/main/scala/br/unb/cic/soot/svfa/configuration/AndroidSootConfiguration.scala @@ -12,6 +12,7 @@ trait AndroidSootConfiguration extends SootConfiguration { def platform(): String override def configureSoot(): Unit = { + // Set up InfoflowAndroidConfiguration val config = new InfoflowAndroidConfiguration config.setCallgraphAlgorithm(InfoflowConfiguration.CallgraphAlgorithm.CHA) config.setCodeEliminationMode( @@ -24,8 +25,8 @@ trait AndroidSootConfiguration extends SootConfiguration { config.setIgnoreFlowsInSystemPackages(true) config.setExcludeSootLibraryClasses(true) + // Create the data flow analyzer val flowDroid = new SetupApplication(config) - flowDroid.constructCallgraph() } From f41765cdd8bda8f8ee7cd4d55802312c9a7fc880 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Fri, 17 Jan 2025 19:48:27 -0300 Subject: [PATCH 067/180] some extra configurations --- .../AndroidSootConfiguration2.scala | 134 ++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 src/main/scala/br/unb/cic/soot/svfa/configuration/AndroidSootConfiguration2.scala diff --git a/src/main/scala/br/unb/cic/soot/svfa/configuration/AndroidSootConfiguration2.scala b/src/main/scala/br/unb/cic/soot/svfa/configuration/AndroidSootConfiguration2.scala new file mode 100644 index 00000000..025a9bfe --- /dev/null +++ b/src/main/scala/br/unb/cic/soot/svfa/configuration/AndroidSootConfiguration2.scala @@ -0,0 +1,134 @@ +package br.unb.cic.soot.svfa.configuration + +import soot._ +import soot.jimple.infoflow.InfoflowConfiguration +import soot.jimple.infoflow.android.config.SootConfigForAndroid +import soot.jimple.infoflow.android.{InfoflowAndroidConfiguration, SetupApplication} +import soot.options.Options + +import java.io.File +import java.util.Collections + +trait AndroidSootConfiguration2 extends SootConfiguration { + + def apk: String + + def platform(): String + + def callGraph(): CG = SPARK + + def applicationClassPath(): List[String] = List("target/scala-2.12/test-classes", System.getProperty("user.home")+"/.m2/repository/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar") + + def sootClassPath(): String = "" + + override def configureSoot() { + // Do InfoflowAndroidConfiguration + val config = new InfoflowAndroidConfiguration + config.setCallgraphAlgorithm(InfoflowConfiguration.CallgraphAlgorithm.SPARK) + config.setCodeEliminationMode( + InfoflowConfiguration.CodeEliminationMode.NoCodeElimination + ) + config.getAnalysisFileConfig.setAndroidPlatformDir(platform) + config.getAnalysisFileConfig.setTargetAPKFile(apk) + + // Do Soot Configuration + G.reset() + soot.options.Options.v().set_allow_phantom_refs(true); + soot.options.Options.v().set_output_format(soot.options.Options.output_format_none); +// soot.options.Options.v().set_process_dir(Collections.singletonList(apk)); +// soot.options.Options.v().set_force_android_jar(platform()); + soot.options.Options.v().set_src_prec(soot.options.Options.src_prec_apk_class_jimple); + soot.options.Options.v().set_keep_line_number(false); + soot.options.Options.v().set_keep_offset(false); + soot.options.Options.v().set_throw_analysis(soot.options.Options.throw_analysis_dalvik); + soot.options.Options.v().set_process_multiple_dex(true); + soot.options.Options.v().set_whole_program(true); + + // Soot config for Android + val sootConfig = new SootConfigForAndroid(); + sootConfig.setSootOptions(soot.options.Options.v(), config); + + // Create the data flow analyzer + val analyzer = new SetupApplication(config); + analyzer.setSootConfig(sootConfig); + analyzer.constructCallgraph(); + } + def configureSoot2() { +// val config = new InfoflowAndroidConfiguration +// config.setCallgraphAlgorithm(InfoflowConfiguration.CallgraphAlgorithm.SPARK) +// config.setCodeEliminationMode( +// InfoflowConfiguration.CodeEliminationMode.NoCodeElimination +// ) +// config.getAnalysisFileConfig.setAndroidPlatformDir(platform) +// config.getAnalysisFileConfig.setTargetAPKFile(apk) +// +// val flowDroid = new SetupApplication(config) +// +// flowDroid.constructCallgraph() + +// val androidJar = config.getAnalysisFileConfig.getAndroidPlatformDir +// val apkFileLocation = config.getAnalysisFileConfig.getTargetAPKFile + + // Clean up any old Soot instance we may have +// val config = new InfoflowAndroidConfiguration + G.reset + + Options.v.set_no_bodies_for_excluded(true) + Options.v.set_allow_phantom_refs(true) + Options.v.set_output_format(Options.output_format_none) + Options.v.set_whole_program(true) + Options.v.set_process_dir(Collections.singletonList(apk)) + Options.v.set_force_android_jar(platform()) + Options.v.set_src_prec(Options.src_prec_apk_class_jimple) + Options.v.set_keep_offset(false) + Options.v.set_keep_line_number(true) + Options.v.set_throw_analysis(Options.throw_analysis_dalvik) + Options.v.set_process_multiple_dex(true) + Options.v.set_ignore_resolution_errors(true) + + // Set soot phase option if original names should be used + Options.v.setPhaseOption("jb", "use-original-names:true") + + // Set the Soot configuration options. Note that this will needs to be + // done before we compute the classpath. + + Options + .v() + .set_soot_classpath( + sootClassPath() + File.pathSeparator + pathToJCE() + File.pathSeparator + pathToRT() + ) + Main.v.autoSetOptions() + configureCallGraphPhase() + + // Load whatever we need + Scene.v.loadNecessaryClasses() + + // Make sure that we have valid Jimple bodies + PackManager.v.getPack("wjpp").apply() + + // Patch the callgraph to support additional edges. We do this now, + // because during callback discovery, the context-insensitive callgraph + // algorithm would flood us with invalid edges. +// val configuration = new InfoflowAndroidConfiguration(); +// configuration.setSootIntegrationMode(SootIntegrationMode.UseExistingInstance); +// val flowDroid = new SetupApplication(configuration) +// flowDroid.constructCallgraph() + } + + + def configureCallGraphPhase() { + callGraph() match { + case CHA => Options.v().setPhaseOption("cg.cha", "on") + case SPARK => { + Options.v().setPhaseOption("cg.spark", "on") +// Options.v().setPhaseOption("cg.spark", "cs-demand:true") +// Options.v().setPhaseOption("cg.spark", "string-constants:true") + Options.v.setPhaseOption("cg.spark", "string-constants:true") + } + case SPARK_LIBRARY => { + Options.v().setPhaseOption("cg.spark", "on") + Options.v().setPhaseOption("cg", "library:any-subtype") + } + } + } +} From e4f37d03ed0eae88ea7f0bb4457b7d3800219002 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 17:52:30 -0300 Subject: [PATCH 068/180] add metrics to taintbench results --- README.md | 84 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 43 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 5f6b7055..636a2c28 100644 --- a/README.md +++ b/README.md @@ -119,47 +119,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | -|:------------------------------------------:|:--------:|:------:|:-------:| -| backflash | 13 | 20 | FAILED | -| beita_com_beita_contact | 3 | 14 | FAILED | -| cajino_baidu | 12 | 95 | FAILED | -| chat_hook | 12 | 18 | FAILED | -| chulia | 4 | 0 | FAILED | -| death_ring_materialflow | 1 | 45 | FAILED | -| dsencrypt_samp | 1 | 2 | FAILED | -| exprespam | 2 | 0 | FAILED | -| fakeappstore | 3 | 0 | FAILED | -| fakebank_android_samp | 5 | 6 | FAILED | -| fakedaum | 2 | 10 | FAILED | -| fakemart | 2 | 0 | FAILED | -| fakeplay | 2 | 15 | FAILED | -| faketaobao | 4 | 0 | FAILED | -| godwon_samp | 6 | 0 | FAILED | -| hummingbad_android_samp | 2 | 23 | FAILED | -| jollyserv | 1 | 7 | FAILED | -| overlay_android_samp | 4 | 8 | FAILED | -| overlaylocker2_android_samp | 7 | 34 | FAILED | -| phospy | 2 | 1 | FAILED | -| proxy_samp | 17 | 20 | FAILED | -| remote_control_smack | 17 | 5 | FAILED | -| repane | 1 | 0 | FAILED | -| Roidsec | 6 | 1 | FAILED | -| samsapo | 4 | 0 | FAILED | -| save_me | 25 | 15 | FAILED | -| scipiex | 3 | 0 | FAILED | -| slocker_android_samp | 5 | 0 | FAILED | -| sms_google | 4 | 13 | FAILED | -| sms_send_locker_qqmagic | 6 | 9 | FAILED | -| smssend_packageInstaller | 5 | 46 | FAILED | -| smssilience_fake_vertu | 2 | 2 | PASSED | -| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | -| stels_flashplayer_android_update | 3 | 19 | FAILED | -| tetus | 2 | 9 | FAILED | -| the_interview_movieshow | 1 | 0 | FAILED | -| threatjapan_uracto | 2 | 0 | FAILED | -| vibleaker_android_samp | 4 | 5 | FAILED | -| xbot_android_samp | 3 | 8 | FAILED | +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| +| backflash | 13 | 20 | FAILED | 0 | 0 | 0 | +| beita_com_beita_contact | 3 | 14 | FAILED | 0 | 0 | 0 | +| cajino_baidu | 12 | 95 | FAILED | 0 | 0 | 0 | +| chat_hook | 12 | 18 | FAILED | 0 | 0 | 0 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 45 | FAILED | 0 | 0 | 0 | +| dsencrypt_samp | 1 | 2 | FAILED | 0 | 0 | 0 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 6 | FAILED | 0 | 0 | 0 | +| fakedaum | 2 | 10 | FAILED | 0 | 0 | 0 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeplay | 2 | 15 | FAILED | 0 | 0 | 0 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 23 | FAILED | 0 | 0 | 0 | +| jollyserv | 1 | 7 | FAILED | 0 | 0 | 0 | +| overlay_android_samp | 4 | 8 | FAILED | 0 | 0 | 0 | +| overlaylocker2_android_samp | 7 | 34 | FAILED | 0 | 0 | 0 | +| phospy | 2 | 1 | FAILED | 0 | 0 | 0 | +| proxy_samp | 17 | 20 | FAILED | 0 | 0 | 0 | +| remote_control_smack | 17 | 5 | FAILED | 0 | 0 | 0 | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | +| Roidsec | 6 | 1 | FAILED | 0 | 0 | 0 | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | +| save_me | 25 | 15 | FAILED | 0 | 0 | 0 | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | +| sms_google | 4 | 13 | FAILED | 0 | 0 | 0 | +| sms_send_locker_qqmagic | 6 | 9 | FAILED | 0 | 0 | 0 | +| smssend_packageInstaller | 5 | 46 | FAILED | 0 | 0 | 0 | +| smssilience_fake_vertu | 2 | 2 | PASSED | 0 | 0 | 0 | +| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 0 | 0 | 0 | +| stels_flashplayer_android_update | 3 | 19 | FAILED | 0 | 0 | 0 | +| tetus | 2 | 9 | FAILED | 0 | 0 | 0 | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | +| vibleaker_android_samp | 4 | 5 | FAILED | 0 | 0 | 0 | +| xbot_android_samp | 3 | 8 | FAILED | 0 | 0 | 0 | +| TOTAL | 203 | 451 | - | 0.45 | 1 | 0.62 | +| TOTAL* | 186 | 451 | - | 0.41 | 1 | 0.58 | *source*: https://taintbench.github.io/taintbenchSuite/ From d5a24a3dadd1b51acba913ccdc80836f25c89b02 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:49:39 -0300 Subject: [PATCH 069/180] wip: CASE II for Taintbench --- README.md | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 636a2c28..e1ef4165 100644 --- a/README.md +++ b/README.md @@ -114,6 +114,9 @@ and the tests cases are in `src/test/java/securibench`. ### Taintbench: (WIP) +*source*: https://taintbench.github.io/taintbenchSuite/ + +#### CASE I [Taintbench](https://github.com/TaintBench/TaintBench/releases/download/TaintBenchSuite/TaintBench.zip) contains a set o Android Apks that are old malware apps. We have created a file `taintbench.properties` in `src/test/resources` to set the configurations. @@ -163,7 +166,55 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | TOTAL | 203 | 451 | - | 0.45 | 1 | 0.62 | | TOTAL* | 186 | 451 | - | 0.41 | 1 | 0.58 | -*source*: https://taintbench.github.io/taintbenchSuite/ +#### CASE II +[Taintbench](https://github.com/TaintBench/TaintBench/releases/download/TaintBenchSuite/TaintBench.zip) contains a set o Android Apks that are old malware apps. +We have created a file `taintbench.properties` in `src/test/resources` to set the configurations. + +> failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) + +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:--------:|:---------:| +| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 0 | FAILED | 0 | 0 | 0 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 0 | FAILED | 0 | 0 | 0 | +| dsencrypt_samp | 1 | 0 | FAILED | 0 | 0 | 0 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | +| fakedaum | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 0 | FAILED | 0 | 0 | 0 | +| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | +| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | +| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | +| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | +| proxy_samp | 17 | 0 | FAILED | 0 | 0 | 0 | +| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | +| Roidsec | 6 | 0 | FAILED | 0 | 0 | 0 | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | +| save_me | 25 | 0 | FAILED | 0 | 0 | 0 | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | +| sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | 0 | 0 | 0 | +| smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | +| smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | +| stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | +| tetus | 2 | 0 | FAILED | 0 | 0 | 0 | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | +| vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | +| xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | +| TOTAL | 203 | 0 | - | 0 | 0 | 0 | +| TOTAL* | 186 | 0 | - | 0 | 0 | 0 | ## Tasks ### WIP From 5fbca18e4582955e52c416f5bef27a573be0f052 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:51:50 -0300 Subject: [PATCH 070/180] use - instead 0 --- README.md | 156 +++++++++++++++++++++++++++--------------------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/README.md b/README.md index e1ef4165..598f9a1d 100644 --- a/README.md +++ b/README.md @@ -124,45 +124,45 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | APK | Expected | Actual | Status | Precision | Recall | F-score | |:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| -| backflash | 13 | 20 | FAILED | 0 | 0 | 0 | -| beita_com_beita_contact | 3 | 14 | FAILED | 0 | 0 | 0 | -| cajino_baidu | 12 | 95 | FAILED | 0 | 0 | 0 | -| chat_hook | 12 | 18 | FAILED | 0 | 0 | 0 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 45 | FAILED | 0 | 0 | 0 | -| dsencrypt_samp | 1 | 2 | FAILED | 0 | 0 | 0 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 6 | FAILED | 0 | 0 | 0 | -| fakedaum | 2 | 10 | FAILED | 0 | 0 | 0 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeplay | 2 | 15 | FAILED | 0 | 0 | 0 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 23 | FAILED | 0 | 0 | 0 | -| jollyserv | 1 | 7 | FAILED | 0 | 0 | 0 | -| overlay_android_samp | 4 | 8 | FAILED | 0 | 0 | 0 | -| overlaylocker2_android_samp | 7 | 34 | FAILED | 0 | 0 | 0 | -| phospy | 2 | 1 | FAILED | 0 | 0 | 0 | -| proxy_samp | 17 | 20 | FAILED | 0 | 0 | 0 | -| remote_control_smack | 17 | 5 | FAILED | 0 | 0 | 0 | -| repane | 1 | 0 | FAILED | 0 | 0 | 0 | -| Roidsec | 6 | 1 | FAILED | 0 | 0 | 0 | -| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | -| save_me | 25 | 15 | FAILED | 0 | 0 | 0 | -| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| sms_google | 4 | 13 | FAILED | 0 | 0 | 0 | -| sms_send_locker_qqmagic | 6 | 9 | FAILED | 0 | 0 | 0 | -| smssend_packageInstaller | 5 | 46 | FAILED | 0 | 0 | 0 | -| smssilience_fake_vertu | 2 | 2 | PASSED | 0 | 0 | 0 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 0 | 0 | 0 | -| stels_flashplayer_android_update | 3 | 19 | FAILED | 0 | 0 | 0 | -| tetus | 2 | 9 | FAILED | 0 | 0 | 0 | -| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 5 | FAILED | 0 | 0 | 0 | -| xbot_android_samp | 3 | 8 | FAILED | 0 | 0 | 0 | +| backflash | 13 | 20 | FAILED | - | - | - | +| beita_com_beita_contact | 3 | 14 | FAILED | - | - | - | +| cajino_baidu | 12 | 95 | FAILED | - | - | - | +| chat_hook | 12 | 18 | FAILED | - | - | - | +| chulia | 4 | 0 | FAILED | - | - | - | +| death_ring_materialflow | 1 | 45 | FAILED | - | - | - | +| dsencrypt_samp | 1 | 2 | FAILED | - | - | - | +| exprespam | 2 | 0 | FAILED | - | - | - | +| fakeappstore | 3 | 0 | FAILED | - | - | - | +| fakebank_android_samp | 5 | 6 | FAILED | - | - | - | +| fakedaum | 2 | 10 | FAILED | - | - | - | +| fakemart | 2 | 0 | FAILED | - | - | - | +| fakeplay | 2 | 15 | FAILED | - | - | - | +| faketaobao | 4 | 0 | FAILED | - | - | - | +| godwon_samp | 6 | 0 | FAILED | - | - | - | +| hummingbad_android_samp | 2 | 23 | FAILED | - | - | - | +| jollyserv | 1 | 7 | FAILED | - | - | - | +| overlay_android_samp | 4 | 8 | FAILED | - | - | - | +| overlaylocker2_android_samp | 7 | 34 | FAILED | - | - | - | +| phospy | 2 | 1 | FAILED | - | - | - | +| proxy_samp | 17 | 20 | FAILED | - | - | - | +| remote_control_smack | 17 | 5 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | +| Roidsec | 6 | 1 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 15 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 13 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 9 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 46 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 2 | PASSED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 19 | FAILED | - | - | - | +| tetus | 2 | 9 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 5 | FAILED | - | - | - | +| xbot_android_samp | 3 | 8 | FAILED | - | - | - | | TOTAL | 203 | 451 | - | 0.45 | 1 | 0.62 | | TOTAL* | 186 | 451 | - | 0.41 | 1 | 0.58 | @@ -175,46 +175,46 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | APK | Expected | Actual | Status | Precision | Recall | F-score | |:------------------------------------------:|:--------:|:------:|:------:|:---------:|:--------:|:---------:| | backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | +| beita_com_beita_contact | 3 | 0 | FAILED | - | - | - | | cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 0 | FAILED | 0 | 0 | 0 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 0 | FAILED | 0 | 0 | 0 | -| dsencrypt_samp | 1 | 0 | FAILED | 0 | 0 | 0 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| fakedaum | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 0 | FAILED | 0 | 0 | 0 | -| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | -| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | -| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | -| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | -| proxy_samp | 17 | 0 | FAILED | 0 | 0 | 0 | -| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | -| repane | 1 | 0 | FAILED | 0 | 0 | 0 | -| Roidsec | 6 | 0 | FAILED | 0 | 0 | 0 | -| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | -| save_me | 25 | 0 | FAILED | 0 | 0 | 0 | -| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | 0 | 0 | 0 | -| smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | -| smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | -| tetus | 2 | 0 | FAILED | 0 | 0 | 0 | -| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | -| xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | -| TOTAL | 203 | 0 | - | 0 | 0 | 0 | -| TOTAL* | 186 | 0 | - | 0 | 0 | 0 | +| chat_hook | 12 | 0 | FAILED | - | - | - | +| chulia | 4 | 0 | FAILED | - | - | - | +| death_ring_materialflow | 1 | 0 | FAILED | - | - | - | +| dsencrypt_samp | 1 | 0 | FAILED | - | - | - | +| exprespam | 2 | 0 | FAILED | - | - | - | +| fakeappstore | 3 | 0 | FAILED | - | - | - | +| fakebank_android_samp | 5 | 0 | FAILED | - | - | - | +| fakedaum | 2 | 0 | FAILED | - | - | - | +| fakemart | 2 | 0 | FAILED | - | - | - | +| fakeplay | 2 | 0 | FAILED | - | - | - | +| faketaobao | 4 | 0 | FAILED | - | - | - | +| godwon_samp | 6 | 0 | FAILED | - | - | - | +| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | +| jollyserv | 1 | 0 | FAILED | - | - | - | +| overlay_android_samp | 4 | 0 | FAILED | - | - | - | +| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | +| phospy | 2 | 0 | FAILED | - | - | - | +| proxy_samp | 17 | 0 | FAILED | - | - | - | +| remote_control_smack | 17 | 0 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | +| Roidsec | 6 | 0 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| TOTAL | 203 | 0 | - | - | - | - | +| TOTAL* | 186 | 0 | - | - | - | - | ## Tasks ### WIP From bd7902e24c6c0ab3c0f1643093658a9ab2412d2e Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:54:17 -0300 Subject: [PATCH 071/180] chat_hook --- README.md | 86 +++--- .../android/AndroidTaintBenchSuiteTest2.scala | 266 ++++++++++++++++++ 2 files changed, 309 insertions(+), 43 deletions(-) create mode 100644 src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala diff --git a/README.md b/README.md index 598f9a1d..87e4dce2 100644 --- a/README.md +++ b/README.md @@ -172,49 +172,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:--------:|:---------:| -| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | - | - | - | -| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 0 | FAILED | - | - | - | -| chulia | 4 | 0 | FAILED | - | - | - | -| death_ring_materialflow | 1 | 0 | FAILED | - | - | - | -| dsencrypt_samp | 1 | 0 | FAILED | - | - | - | -| exprespam | 2 | 0 | FAILED | - | - | - | -| fakeappstore | 3 | 0 | FAILED | - | - | - | -| fakebank_android_samp | 5 | 0 | FAILED | - | - | - | -| fakedaum | 2 | 0 | FAILED | - | - | - | -| fakemart | 2 | 0 | FAILED | - | - | - | -| fakeplay | 2 | 0 | FAILED | - | - | - | -| faketaobao | 4 | 0 | FAILED | - | - | - | -| godwon_samp | 6 | 0 | FAILED | - | - | - | -| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | -| jollyserv | 1 | 0 | FAILED | - | - | - | -| overlay_android_samp | 4 | 0 | FAILED | - | - | - | -| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | -| phospy | 2 | 0 | FAILED | - | - | - | -| proxy_samp | 17 | 0 | FAILED | - | - | - | -| remote_control_smack | 17 | 0 | FAILED | - | - | - | -| repane | 1 | 0 | FAILED | - | - | - | -| Roidsec | 6 | 0 | FAILED | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | -| save_me | 25 | 0 | FAILED | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | -| sms_google | 4 | 0 | FAILED | - | - | - | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | -| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | -| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | -| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | -| tetus | 2 | 0 | FAILED | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | -| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | -| xbot_android_samp | 3 | 0 | FAILED | - | - | - | -| TOTAL | 203 | 0 | - | - | - | - | -| TOTAL* | 186 | 0 | - | - | - | - | +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| +| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | - | - | - | +| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 15 | FAILED | 0.80 | 1.00 | 0.89 | +| chulia | 4 | 0 | FAILED | - | - | - | +| death_ring_materialflow | 1 | 0 | FAILED | - | - | - | +| dsencrypt_samp | 1 | 0 | FAILED | - | - | - | +| exprespam | 2 | 0 | FAILED | - | - | - | +| fakeappstore | 3 | 0 | FAILED | - | - | - | +| fakebank_android_samp | 5 | 0 | FAILED | - | - | - | +| fakedaum | 2 | 0 | FAILED | - | - | - | +| fakemart | 2 | 0 | FAILED | - | - | - | +| fakeplay | 2 | 0 | FAILED | - | - | - | +| faketaobao | 4 | 0 | FAILED | - | - | - | +| godwon_samp | 6 | 0 | FAILED | - | - | - | +| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | +| jollyserv | 1 | 0 | FAILED | - | - | - | +| overlay_android_samp | 4 | 0 | FAILED | - | - | - | +| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | +| phospy | 2 | 0 | FAILED | - | - | - | +| proxy_samp | 17 | 0 | FAILED | - | - | - | +| remote_control_smack | 17 | 0 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | +| Roidsec | 6 | 0 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| TOTAL | 203 | 0 | - | - | - | - | +| TOTAL* | 186 | 0 | - | - | - | - | ## Tasks ### WIP diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala new file mode 100644 index 00000000..bfcff8b8 --- /dev/null +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -0,0 +1,266 @@ +package br.unb.cic.android + +import br.unb.cic.android.specs._ +import br.unb.cic.soot.svfa.metrics.Metrics +import org.scalatest.FunSuite + +class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { + + test("in the APK backflash, we should detect 13 flow") { + val expected = 13 + + val svfa = new AndroidTaintBenchTest("backflash") + svfa.buildSparseValueFlowGraph() + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) + } + + test("in the APK beita_com_beita_contact, we should detect 3 flow") { + val expected = 3 + + val svfa = new AndroidTaintBenchTest("beita_com_beita_contact") + svfa.buildSparseValueFlowGraph() + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) + } + + test("in the APK cajino_baidu, we should detect 12 flow") { + val expected = 12 + + val svfa = new AndroidTaintBenchTest("cajino_baidu") + svfa.buildSparseValueFlowGraph() + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) + } + + test("in the APK chat_hook, we should detect 12 flow") { + val expected = 12 + val svfa = new AndroidTaintBenchTest("chat_hook") with ChatHookSpec + svfa.buildSparseValueFlowGraph() + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) + } + + test("in the APK chulia, we should detect 4 flow") { + val svfa = new AndroidTaintBenchTest("chulia") with ChuliaSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } + + test("in the APK death_ring_materialflow, we should detect 1 flow") { + val svfa = new AndroidTaintBenchTest("death_ring_materialflow") with DeathRingMaterialflowSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } + + test("in the APK dsencrypt_samp, we should detect 1 flow") { + val svfa = new AndroidTaintBenchTest("dsencrypt_samp") with DsencryptSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } + + test("in the APK exprespam, we should detect 2 flow") { + val svfa = new AndroidTaintBenchTest("exprespam") with ExprespamSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + test("in the APK fakeappstore, we should detect 3 flow") { + val svfa = new AndroidTaintBenchTest("fakeappstore") with FakeappstoreSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 3) + } + + test("in the APK fakebank_android_samp, we should detect 5 flow") { + val svfa = new AndroidTaintBenchTest("fakebank_android_samp") with FakebankAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 5) + } + + test("in the APK fakedaum, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("fakedaum") with FakedaumSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + test("in the APK fakemart, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("fakemart") with FakemartSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + test("in the APK fakeplay, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("fakeplay") with FakeplaySpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + test("in the APK faketaobao, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("faketaobao") with FaketaobaoSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } + + test("in the APK godwon_samp, we should detect 6 flows") { + val svfa = new AndroidTaintBenchTest("godwon_samp") with GodwonSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 6) + } + + test("in the APK hummingbad_android_samp, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("hummingbad_android_samp") with HummingbadAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + test("in the APK jollyserv, we should detect 1 flows") { + val svfa = new AndroidTaintBenchTest("jollyserv") with JollyservSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } + + test("in the APK overlay_android_samp, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("overlay_android_samp") with OverlayAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } + + test("in the APK overlaylocker2_android_samp, we should detect 7 flows") { + val svfa = new AndroidTaintBenchTest("overlaylocker2_android_samp") with Overlaylocker2AndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 7) + } + + test("in the APK phospy, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("phospy") with PhospySpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + test("in the APK proxy_samp, we should detect 17 flows") { + val svfa = new AndroidTaintBenchTest("proxy_samp") with ProxySampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 17) + } + + test("in the APK remote_control_smack, we should detect 17 flows") { + val svfa = new AndroidTaintBenchTest("remote_control_smack") with RemoteControlSmackSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 17) + } + + test("in the APK repane, we should detect 1 flow") { + val svfa = new AndroidTaintBenchTest("repane") with RepaneSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } + + test("in the APK Roidsec, we should detect 6 flow") { + val svfa = new AndroidTaintBenchTest("roidsec") with RoidSecSpec + svfa.buildSparseValueFlowGraph() + // println(svfa.svgToDotModel()) + assert(svfa.reportConflictsSVG().size == 6) + } + + test("in the APK samsapo, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("samsapo") with SamsapoSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } + + test("in the APK save_me we should detect 25 flows") { + val svfa = new AndroidTaintBenchTest("save_me") with SaveMeSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 25) + } + + test("in the APK scipiex, we should detect 3 flows") { + val svfa = new AndroidTaintBenchTest("scipiex") with ScipiexSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 3) + } + + test("in the APK slocker_android_samp, we should detect 5 flows") { + val svfa = new AndroidTaintBenchTest("slocker_android_samp") with SlockerAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 5) + } + + test("in the APK sms_google, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("sms_google") with SmsGoogleSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } + + test("in the APK sms_send_locker_qqmagic, we should detect 6 flows") { + val svfa = new AndroidTaintBenchTest("sms_send_locker_qqmagic") with SmsSendLockerQqmagicSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 6) + } + + test("in the APK smssend_packageInstaller, we should detect 5 flows") { + val svfa = new AndroidTaintBenchTest("smssend_packageInstaller") with SmssendPackageInstallerSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 5) + } + + test("in the APK smssilience_fake_vertu, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("smssilience_fake_vertu") with SmssilienceFakeVertuSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + test("in the APK smsstealer_kysn_assassincreed_android_samp, we should detect 5 flows") { + val svfa = new AndroidTaintBenchTest("smsstealer_kysn_assassincreed_android_samp") with SmsstealerKysnAssassincreedAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 5) + } + + test("in the APK stels_flashplayer_android_update, we should detect 3 flows") { + val svfa = new AndroidTaintBenchTest("stels_flashplayer_android_update") with StelsFlashplayerAndroidUpdateSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 3) + } + + test("in the APK tetus, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("tetus") with TetusSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + test("in the APK the_interview_movieshow, we should detect 1 flows") { + val svfa = new AndroidTaintBenchTest("the_interview_movieshow") with TheInterviewMovieShowSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 1) + } + + test("in the APK threatjapan_uracto, we should detect 2 flows") { + val svfa = new AndroidTaintBenchTest("threatjapan_uracto") with ThreatjapanUractoSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 2) + } + + test("in the APK vibleaker_android_samp, we should detect 4 flows") { + val svfa = new AndroidTaintBenchTest("vibleaker_android_samp") with VibleakerAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 4) + } + + test("in the APK xbot_android_samp, we should detect 3 flows") { + val svfa = new AndroidTaintBenchTest("xbot_android_samp") with XbotAndroidSampSpec + svfa.buildSparseValueFlowGraph() + assert(svfa.reportConflictsSVG().size == 3) + } +} From a8ea58a9c7d9853428fd2cec4efa95ea04f5636e Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:55:45 -0300 Subject: [PATCH 072/180] Metrics --- .../unb/cic/soot/svfa/metrics/Metrics.scala | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala diff --git a/src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala b/src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala new file mode 100644 index 00000000..fce70041 --- /dev/null +++ b/src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala @@ -0,0 +1,34 @@ +package br.unb.cic.soot.svfa.metrics + +trait Metrics { + + def compute(expected: Int, actual: Int): Unit = { + var TP = 0.0 + var FP = 0.0 + var P = 0.0 + + var precision = 0.0 + var recall = 0.0 + var fscore = 0.0 + + // Compute expected and unexpected flows + P = expected + if (actual > expected) { + TP = expected + FP = (actual - expected) + } + else { + TP = actual + } + + // Compute Metrics + precision = TP / (TP + FP) + recall = TP / P + fscore = (2 * precision * recall) / (precision + recall) + + println(f"precision: $precision%1.2f") + println(f"recall: $recall%1.2f") + println(f"fscore $fscore%1.2f") + + } +} \ No newline at end of file From 9f46d5c7db77739077530d14b22707bf15b2680f Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:56:08 -0300 Subject: [PATCH 073/180] add Metrics --- .../br/unb/cic/android/AndroidTaintBenchSuiteTest.scala | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 520b386f..62bf54fd 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,14 +1,19 @@ package br.unb.cic.android import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec, TheInterviewMovieShowSpec, ThreatjapanUractoSpec, VibleakerAndroidSampSpec, XbotAndroidSampSpec} +import br.unb.cic.soot.svfa.metrics.Metrics import org.scalatest.FunSuite -class AndroidTaintBenchSuiteTest extends FunSuite { +class AndroidTaintBenchSuiteTest extends FunSuite with Metrics { test("in the APK backflash, we should detect 13 flow") { + val expected = 13; + val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 13) + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + assert(actual == expected) } test("in the APK beita_com_beita_contact, we should detect 3 flow") { From 728897bb32d04813ace70eac64d33091f6de4ff4 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:56:19 -0300 Subject: [PATCH 074/180] new TaintBenchSpec --- .../br/unb/cic/android/TaintBenchSpec.scala | 348 ++++-------------- 1 file changed, 77 insertions(+), 271 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/TaintBenchSpec.scala b/src/test/scala/br/unb/cic/android/TaintBenchSpec.scala index 761bc6c6..831a842e 100644 --- a/src/test/scala/br/unb/cic/android/TaintBenchSpec.scala +++ b/src/test/scala/br/unb/cic/android/TaintBenchSpec.scala @@ -2,288 +2,94 @@ package br.unb.cic.android trait TaintBenchSpec { val sourceList = List( - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", "", - " android.permission.READ_PHONE_STATE", - " android.permission.READ_PHONE_STATE", - " android.permission.READ_PHONE_STATE", - " android.permission.READ_PHONE_STATE", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", "", - "", - "", - "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", + "", + "", + "", + "", + "", + "", + "", + "", + ",(java.io.File,java.lang.String)>", + ",(java.lang.String)>", + ",(java.io.File)>", + ",(java.lang.String)>", + "", + "", "", - "", - "", + "", ) val sinkList = List( - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", - "", - "", - "", - "", - "", - "", - "", - "", - "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - " android.permission.SEND_SMS", - " android.permission.SEND_SMS", - " android.permission.SEND_SMS", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", + "", + "", + "", + "", + "", + "", + "", + "", "", - "", - "", - "", + "", + "", + "", + "", + "", + "", ) } \ No newline at end of file From 58370f1b4f1e1755a2e681964447bc8c732d957e Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:56:27 -0300 Subject: [PATCH 075/180] chulia --- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index bfcff8b8..1e1f0ef7 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -44,6 +44,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { test("in the APK chat_hook, we should detect 12 flow") { val expected = 12 + val svfa = new AndroidTaintBenchTest("chat_hook") with ChatHookSpec svfa.buildSparseValueFlowGraph() @@ -54,9 +55,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK chulia, we should detect 4 flow") { - val svfa = new AndroidTaintBenchTest("chulia") with ChuliaSpec + val expected = 4 + + val svfa = new AndroidTaintBenchTest("chulia") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK death_ring_materialflow, we should detect 1 flow") { From 69d98ddefbb4fc21123276a658e82c6afe1c112b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:57:21 -0300 Subject: [PATCH 076/180] chat_hook --- README.md | 2 +- .../scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 87e4dce2..cf8be21c 100644 --- a/README.md +++ b/README.md @@ -177,7 +177,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | | beita_com_beita_contact | 3 | 0 | FAILED | - | - | - | | cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 15 | FAILED | 0.80 | 1.00 | 0.89 | +| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | | chulia | 4 | 0 | FAILED | - | - | - | | death_ring_materialflow | 1 | 0 | FAILED | - | - | - | | dsencrypt_samp | 1 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 1e1f0ef7..dee1d5e2 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -45,7 +45,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { test("in the APK chat_hook, we should detect 12 flow") { val expected = 12 - val svfa = new AndroidTaintBenchTest("chat_hook") with ChatHookSpec + val svfa = new AndroidTaintBenchTest("chat_hook") svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size From 8a6c7106eb6e244b328891d9aaccd29041281528 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:58:41 -0300 Subject: [PATCH 077/180] set 0 --- .../br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index dee1d5e2..4e57bd48 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -67,9 +67,14 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK death_ring_materialflow, we should detect 1 flow") { - val svfa = new AndroidTaintBenchTest("death_ring_materialflow") with DeathRingMaterialflowSpec + val expected = 1 + val svfa = new AndroidTaintBenchTest("death_ring_materialflow") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK dsencrypt_samp, we should detect 1 flow") { From c562ba88183b8da865a3a71ffcf23a843c1ad88b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:58:50 -0300 Subject: [PATCH 078/180] set 0 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cf8be21c..6ab581b9 100644 --- a/README.md +++ b/README.md @@ -175,10 +175,10 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | APK | Expected | Actual | Status | Precision | Recall | F-score | |:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| | backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | - | - | - | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | | cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | | chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | - | - | - | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | | death_ring_materialflow | 1 | 0 | FAILED | - | - | - | | dsencrypt_samp | 1 | 0 | FAILED | - | - | - | | exprespam | 2 | 0 | FAILED | - | - | - | From 8d7a370a6bad518ac5ffd2eeea3a7a4f1ca704ff Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 18:59:57 -0300 Subject: [PATCH 079/180] death_ring_materialflow --- README.md | 86 +++++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 6ab581b9..d099d224 100644 --- a/README.md +++ b/README.md @@ -172,49 +172,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| -| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 0 | FAILED | - | - | - | -| dsencrypt_samp | 1 | 0 | FAILED | - | - | - | -| exprespam | 2 | 0 | FAILED | - | - | - | -| fakeappstore | 3 | 0 | FAILED | - | - | - | -| fakebank_android_samp | 5 | 0 | FAILED | - | - | - | -| fakedaum | 2 | 0 | FAILED | - | - | - | -| fakemart | 2 | 0 | FAILED | - | - | - | -| fakeplay | 2 | 0 | FAILED | - | - | - | -| faketaobao | 4 | 0 | FAILED | - | - | - | -| godwon_samp | 6 | 0 | FAILED | - | - | - | -| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | -| jollyserv | 1 | 0 | FAILED | - | - | - | -| overlay_android_samp | 4 | 0 | FAILED | - | - | - | -| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | -| phospy | 2 | 0 | FAILED | - | - | - | -| proxy_samp | 17 | 0 | FAILED | - | - | - | -| remote_control_smack | 17 | 0 | FAILED | - | - | - | -| repane | 1 | 0 | FAILED | - | - | - | -| Roidsec | 6 | 0 | FAILED | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | -| save_me | 25 | 0 | FAILED | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | -| sms_google | 4 | 0 | FAILED | - | - | - | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | -| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | -| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | -| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | -| tetus | 2 | 0 | FAILED | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | -| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | -| xbot_android_samp | 3 | 0 | FAILED | - | - | - | -| TOTAL | 203 | 0 | - | - | - | - | -| TOTAL* | 186 | 0 | - | - | - | - | +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:----------:|:--------:|:---------:| +| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 0 | FAILED | - | - | - | +| exprespam | 2 | 0 | FAILED | - | - | - | +| fakeappstore | 3 | 0 | FAILED | - | - | - | +| fakebank_android_samp | 5 | 0 | FAILED | - | - | - | +| fakedaum | 2 | 0 | FAILED | - | - | - | +| fakemart | 2 | 0 | FAILED | - | - | - | +| fakeplay | 2 | 0 | FAILED | - | - | - | +| faketaobao | 4 | 0 | FAILED | - | - | - | +| godwon_samp | 6 | 0 | FAILED | - | - | - | +| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | +| jollyserv | 1 | 0 | FAILED | - | - | - | +| overlay_android_samp | 4 | 0 | FAILED | - | - | - | +| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | +| phospy | 2 | 0 | FAILED | - | - | - | +| proxy_samp | 17 | 0 | FAILED | - | - | - | +| remote_control_smack | 17 | 0 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | +| Roidsec | 6 | 0 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| TOTAL | 203 | 0 | - | - | - | - | +| TOTAL* | 186 | 0 | - | - | - | - | ## Tasks ### WIP From 33b8dec0c52e459b7f110f86fa25edc0a10ef39a Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:00:55 -0300 Subject: [PATCH 080/180] dsencrypt_samp --- README.md | 86 +++++++++---------- .../android/AndroidTaintBenchSuiteTest2.scala | 11 ++- 2 files changed, 52 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index d099d224..30b44ea6 100644 --- a/README.md +++ b/README.md @@ -172,49 +172,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:----------:|:--------:|:---------:| -| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | -| dsencrypt_samp | 1 | 0 | FAILED | - | - | - | -| exprespam | 2 | 0 | FAILED | - | - | - | -| fakeappstore | 3 | 0 | FAILED | - | - | - | -| fakebank_android_samp | 5 | 0 | FAILED | - | - | - | -| fakedaum | 2 | 0 | FAILED | - | - | - | -| fakemart | 2 | 0 | FAILED | - | - | - | -| fakeplay | 2 | 0 | FAILED | - | - | - | -| faketaobao | 4 | 0 | FAILED | - | - | - | -| godwon_samp | 6 | 0 | FAILED | - | - | - | -| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | -| jollyserv | 1 | 0 | FAILED | - | - | - | -| overlay_android_samp | 4 | 0 | FAILED | - | - | - | -| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | -| phospy | 2 | 0 | FAILED | - | - | - | -| proxy_samp | 17 | 0 | FAILED | - | - | - | -| remote_control_smack | 17 | 0 | FAILED | - | - | - | -| repane | 1 | 0 | FAILED | - | - | - | -| Roidsec | 6 | 0 | FAILED | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | -| save_me | 25 | 0 | FAILED | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | -| sms_google | 4 | 0 | FAILED | - | - | - | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | -| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | -| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | -| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | -| tetus | 2 | 0 | FAILED | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | -| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | -| xbot_android_samp | 3 | 0 | FAILED | - | - | - | -| TOTAL | 203 | 0 | - | - | - | - | -| TOTAL* | 186 | 0 | - | - | - | - | +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| +| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | +| exprespam | 2 | 0 | FAILED | - | - | - | +| fakeappstore | 3 | 0 | FAILED | - | - | - | +| fakebank_android_samp | 5 | 0 | FAILED | - | - | - | +| fakedaum | 2 | 0 | FAILED | - | - | - | +| fakemart | 2 | 0 | FAILED | - | - | - | +| fakeplay | 2 | 0 | FAILED | - | - | - | +| faketaobao | 4 | 0 | FAILED | - | - | - | +| godwon_samp | 6 | 0 | FAILED | - | - | - | +| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | +| jollyserv | 1 | 0 | FAILED | - | - | - | +| overlay_android_samp | 4 | 0 | FAILED | - | - | - | +| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | +| phospy | 2 | 0 | FAILED | - | - | - | +| proxy_samp | 17 | 0 | FAILED | - | - | - | +| remote_control_smack | 17 | 0 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | +| Roidsec | 6 | 0 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| TOTAL | 203 | 0 | - | - | - | - | +| TOTAL* | 186 | 0 | - | - | - | - | ## Tasks ### WIP diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 4e57bd48..479ca437 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -68,6 +68,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { test("in the APK death_ring_materialflow, we should detect 1 flow") { val expected = 1 + val svfa = new AndroidTaintBenchTest("death_ring_materialflow") svfa.buildSparseValueFlowGraph() @@ -78,9 +79,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK dsencrypt_samp, we should detect 1 flow") { - val svfa = new AndroidTaintBenchTest("dsencrypt_samp") with DsencryptSampSpec + val expected = 1 + + val svfa = new AndroidTaintBenchTest("dsencrypt_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK exprespam, we should detect 2 flow") { From 63d65806bbf0ae2ceb5c00d0404aab6981a7cc0b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:01:51 -0300 Subject: [PATCH 081/180] exprespam --- README.md | 2 +- .../br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 30b44ea6..d1164043 100644 --- a/README.md +++ b/README.md @@ -181,7 +181,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | chulia | 4 | 0 | FAILED | 0 | 0 | 0 | | death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | | dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | -| exprespam | 2 | 0 | FAILED | - | - | - | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | | fakeappstore | 3 | 0 | FAILED | - | - | - | | fakebank_android_samp | 5 | 0 | FAILED | - | - | - | | fakedaum | 2 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 479ca437..bee93f6a 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -91,9 +91,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK exprespam, we should detect 2 flow") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("exprespam") with ExprespamSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK fakeappstore, we should detect 3 flow") { From cc503a5ed4446fadf1ee5cef27e02d952e8cfd78 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:03:02 -0300 Subject: [PATCH 082/180] fakeappstore --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d1164043..5e0d4d92 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | | dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | | exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | - | - | - | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | | fakebank_android_samp | 5 | 0 | FAILED | - | - | - | | fakedaum | 2 | 0 | FAILED | - | - | - | | fakemart | 2 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index bee93f6a..d8ee4a77 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -103,9 +103,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK fakeappstore, we should detect 3 flow") { - val svfa = new AndroidTaintBenchTest("fakeappstore") with FakeappstoreSpec + val expected = 3 + + val svfa = new AndroidTaintBenchTest("fakeappstore") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 3) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK fakebank_android_samp, we should detect 5 flow") { From 9be4bc7562455f9dad024ab89a5b1f452f480383 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:03:30 -0300 Subject: [PATCH 083/180] exprespam --- .../scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index d8ee4a77..c93bed3c 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -93,7 +93,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { test("in the APK exprespam, we should detect 2 flow") { val expected = 2 - val svfa = new AndroidTaintBenchTest("exprespam") with ExprespamSpec + val svfa = new AndroidTaintBenchTest("exprespam") svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size From 876a0db544d4b9e651f19e09c3fd5f0019d51b80 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:04:42 -0300 Subject: [PATCH 084/180] fakebank_android_samp --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5e0d4d92..522e2598 100644 --- a/README.md +++ b/README.md @@ -183,7 +183,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | | exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | | fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | - | - | - | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | | fakedaum | 2 | 0 | FAILED | - | - | - | | fakemart | 2 | 0 | FAILED | - | - | - | | fakeplay | 2 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index c93bed3c..d8806b98 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -115,9 +115,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK fakebank_android_samp, we should detect 5 flow") { - val svfa = new AndroidTaintBenchTest("fakebank_android_samp") with FakebankAndroidSampSpec + val expected = 5 + + val svfa = new AndroidTaintBenchTest("fakebank_android_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 5) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK fakedaum, we should detect 2 flows") { From 46206b62eeea31c0bb61e5e9c33c6644221af053 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:06:19 -0300 Subject: [PATCH 085/180] fakedaum --- README.md | 86 +++++++++---------- .../android/AndroidTaintBenchSuiteTest2.scala | 10 ++- 2 files changed, 51 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 522e2598..4818908e 100644 --- a/README.md +++ b/README.md @@ -172,49 +172,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| -| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | -| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| fakedaum | 2 | 0 | FAILED | - | - | - | -| fakemart | 2 | 0 | FAILED | - | - | - | -| fakeplay | 2 | 0 | FAILED | - | - | - | -| faketaobao | 4 | 0 | FAILED | - | - | - | -| godwon_samp | 6 | 0 | FAILED | - | - | - | -| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | -| jollyserv | 1 | 0 | FAILED | - | - | - | -| overlay_android_samp | 4 | 0 | FAILED | - | - | - | -| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | -| phospy | 2 | 0 | FAILED | - | - | - | -| proxy_samp | 17 | 0 | FAILED | - | - | - | -| remote_control_smack | 17 | 0 | FAILED | - | - | - | -| repane | 1 | 0 | FAILED | - | - | - | -| Roidsec | 6 | 0 | FAILED | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | -| save_me | 25 | 0 | FAILED | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | -| sms_google | 4 | 0 | FAILED | - | - | - | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | -| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | -| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | -| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | -| tetus | 2 | 0 | FAILED | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | -| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | -| xbot_android_samp | 3 | 0 | FAILED | - | - | - | -| TOTAL | 203 | 0 | - | - | - | - | -| TOTAL* | 186 | 0 | - | - | - | - | +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:-----------:|:--------:|:---------:| +| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | +| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | +| fakemart | 2 | 0 | FAILED | - | - | - | +| fakeplay | 2 | 0 | FAILED | - | - | - | +| faketaobao | 4 | 0 | FAILED | - | - | - | +| godwon_samp | 6 | 0 | FAILED | - | - | - | +| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | +| jollyserv | 1 | 0 | FAILED | - | - | - | +| overlay_android_samp | 4 | 0 | FAILED | - | - | - | +| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | +| phospy | 2 | 0 | FAILED | - | - | - | +| proxy_samp | 17 | 0 | FAILED | - | - | - | +| remote_control_smack | 17 | 0 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | +| Roidsec | 6 | 0 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| TOTAL | 203 | 0 | - | - | - | - | +| TOTAL* | 186 | 0 | - | - | - | - | ## Tasks ### WIP diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index d8806b98..ca4e1012 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -127,9 +127,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK fakedaum, we should detect 2 flows") { - val svfa = new AndroidTaintBenchTest("fakedaum") with FakedaumSpec + val expected = 2 + + val svfa = new AndroidTaintBenchTest("fakedaum") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK fakemart, we should detect 2 flows") { From bdae64f80dc0348f740214ee300dcb3755d47c55 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:07:46 -0300 Subject: [PATCH 086/180] fakemart --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4818908e..b990d9ac 100644 --- a/README.md +++ b/README.md @@ -185,7 +185,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | | fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | | fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | -| fakemart | 2 | 0 | FAILED | - | - | - | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | | fakeplay | 2 | 0 | FAILED | - | - | - | | faketaobao | 4 | 0 | FAILED | - | - | - | | godwon_samp | 6 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index ca4e1012..b348e629 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -139,9 +139,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK fakemart, we should detect 2 flows") { - val svfa = new AndroidTaintBenchTest("fakemart") with FakemartSpec + val expected = 2 + + val svfa = new AndroidTaintBenchTest("fakemart") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK fakeplay, we should detect 2 flows") { From 984a256652b970b4df06da00f6c5ba5f80f5edcc Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:11:02 -0300 Subject: [PATCH 087/180] fakeplay --- README.md | 86 +++++++++---------- .../android/AndroidTaintBenchSuiteTest2.scala | 10 ++- 2 files changed, 51 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index b990d9ac..a56805d6 100644 --- a/README.md +++ b/README.md @@ -172,49 +172,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:-----------:|:--------:|:---------:| -| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | -| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeplay | 2 | 0 | FAILED | - | - | - | -| faketaobao | 4 | 0 | FAILED | - | - | - | -| godwon_samp | 6 | 0 | FAILED | - | - | - | -| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | -| jollyserv | 1 | 0 | FAILED | - | - | - | -| overlay_android_samp | 4 | 0 | FAILED | - | - | - | -| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | -| phospy | 2 | 0 | FAILED | - | - | - | -| proxy_samp | 17 | 0 | FAILED | - | - | - | -| remote_control_smack | 17 | 0 | FAILED | - | - | - | -| repane | 1 | 0 | FAILED | - | - | - | -| Roidsec | 6 | 0 | FAILED | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | -| save_me | 25 | 0 | FAILED | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | -| sms_google | 4 | 0 | FAILED | - | - | - | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | -| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | -| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | -| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | -| tetus | 2 | 0 | FAILED | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | -| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | -| xbot_android_samp | 3 | 0 | FAILED | - | - | - | -| TOTAL | 203 | 0 | - | - | - | - | -| TOTAL* | 186 | 0 | - | - | - | - | +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:--------:|:---------:| +| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | +| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | +| faketaobao | 4 | 0 | FAILED | - | - | - | +| godwon_samp | 6 | 0 | FAILED | - | - | - | +| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | +| jollyserv | 1 | 0 | FAILED | - | - | - | +| overlay_android_samp | 4 | 0 | FAILED | - | - | - | +| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | +| phospy | 2 | 0 | FAILED | - | - | - | +| proxy_samp | 17 | 0 | FAILED | - | - | - | +| remote_control_smack | 17 | 0 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | +| Roidsec | 6 | 0 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| TOTAL | 203 | 0 | - | - | - | - | +| TOTAL* | 186 | 0 | - | - | - | - | ## Tasks ### WIP diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index b348e629..be6ec36f 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -151,9 +151,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK fakeplay, we should detect 2 flows") { - val svfa = new AndroidTaintBenchTest("fakeplay") with FakeplaySpec + val expected = 2 + + val svfa = new AndroidTaintBenchTest("fakeplay") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK faketaobao, we should detect 4 flows") { From 225ddb1e624ed743a8473ef6ab4b0c20aa1eb9e0 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:12:05 -0300 Subject: [PATCH 088/180] faketaobao --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a56805d6..152151e9 100644 --- a/README.md +++ b/README.md @@ -187,7 +187,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | | fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | | fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | -| faketaobao | 4 | 0 | FAILED | - | - | - | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | | godwon_samp | 6 | 0 | FAILED | - | - | - | | hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | | jollyserv | 1 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index be6ec36f..e69270ec 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -163,9 +163,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK faketaobao, we should detect 4 flows") { - val svfa = new AndroidTaintBenchTest("faketaobao") with FaketaobaoSpec + val expected = 4 + + val svfa = new AndroidTaintBenchTest("faketaobao") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK godwon_samp, we should detect 6 flows") { From f6c7ae57f4d6c1bb2b0d88a9544b14a1fffe4d05 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:13:12 -0300 Subject: [PATCH 089/180] godwon_samp --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 152151e9..a8dc3589 100644 --- a/README.md +++ b/README.md @@ -188,7 +188,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | | fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | | faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | - | - | - | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | | hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | | jollyserv | 1 | 0 | FAILED | - | - | - | | overlay_android_samp | 4 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index e69270ec..101f277d 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -175,9 +175,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK godwon_samp, we should detect 6 flows") { - val svfa = new AndroidTaintBenchTest("godwon_samp") with GodwonSampSpec + val expected = 6 + + val svfa = new AndroidTaintBenchTest("godwon_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 6) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK hummingbad_android_samp, we should detect 2 flows") { From 490620bce9ca4f27cc3279a3cf67519bfe443140 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:15:03 -0300 Subject: [PATCH 090/180] hummingbad_android_samp --- README.md | 86 +++++++++---------- .../android/AndroidTaintBenchSuiteTest2.scala | 10 ++- 2 files changed, 51 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index a8dc3589..a4bf8c80 100644 --- a/README.md +++ b/README.md @@ -172,49 +172,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:--------:|:---------:| -| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | -| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 0 | FAILED | - | - | - | -| jollyserv | 1 | 0 | FAILED | - | - | - | -| overlay_android_samp | 4 | 0 | FAILED | - | - | - | -| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | -| phospy | 2 | 0 | FAILED | - | - | - | -| proxy_samp | 17 | 0 | FAILED | - | - | - | -| remote_control_smack | 17 | 0 | FAILED | - | - | - | -| repane | 1 | 0 | FAILED | - | - | - | -| Roidsec | 6 | 0 | FAILED | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | -| save_me | 25 | 0 | FAILED | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | -| sms_google | 4 | 0 | FAILED | - | - | - | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | -| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | -| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | -| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | -| tetus | 2 | 0 | FAILED | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | -| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | -| xbot_android_samp | 3 | 0 | FAILED | - | - | - | -| TOTAL | 203 | 0 | - | - | - | - | -| TOTAL* | 186 | 0 | - | - | - | - | +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| +| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | +| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 2 | PASSED | 1 | 1 | 1 | +| jollyserv | 1 | 0 | FAILED | - | - | - | +| overlay_android_samp | 4 | 0 | FAILED | - | - | - | +| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | +| phospy | 2 | 0 | FAILED | - | - | - | +| proxy_samp | 17 | 0 | FAILED | - | - | - | +| remote_control_smack | 17 | 0 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | +| Roidsec | 6 | 0 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| TOTAL | 203 | 0 | - | - | - | - | +| TOTAL* | 186 | 0 | - | - | - | - | ## Tasks ### WIP diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 101f277d..4281d7cd 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -187,9 +187,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK hummingbad_android_samp, we should detect 2 flows") { - val svfa = new AndroidTaintBenchTest("hummingbad_android_samp") with HummingbadAndroidSampSpec + val expected = 2 + + val svfa = new AndroidTaintBenchTest("hummingbad_android_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK jollyserv, we should detect 1 flows") { From bee457b22b32920c2d2b70f57e07023e85bee8a1 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:15:53 -0300 Subject: [PATCH 091/180] jollyserv --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a4bf8c80..2dc88ca5 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | | godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | | hummingbad_android_samp | 2 | 2 | PASSED | 1 | 1 | 1 | -| jollyserv | 1 | 0 | FAILED | - | - | - | +| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | | overlay_android_samp | 4 | 0 | FAILED | - | - | - | | overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | | phospy | 2 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 4281d7cd..44925373 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -199,9 +199,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK jollyserv, we should detect 1 flows") { - val svfa = new AndroidTaintBenchTest("jollyserv") with JollyservSpec + val expected = 1 + + val svfa = new AndroidTaintBenchTest("jollyserv") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK overlay_android_samp, we should detect 4 flows") { From 581b6727cc246643382d36da2364de9a88cc3680 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:17:02 -0300 Subject: [PATCH 092/180] overlay_android_samp --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2dc88ca5..a25c1ba2 100644 --- a/README.md +++ b/README.md @@ -191,7 +191,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | | hummingbad_android_samp | 2 | 2 | PASSED | 1 | 1 | 1 | | jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | -| overlay_android_samp | 4 | 0 | FAILED | - | - | - | +| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | | overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | | phospy | 2 | 0 | FAILED | - | - | - | | proxy_samp | 17 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 44925373..854c5c12 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -211,9 +211,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK overlay_android_samp, we should detect 4 flows") { - val svfa = new AndroidTaintBenchTest("overlay_android_samp") with OverlayAndroidSampSpec + val expected = 4 + + val svfa = new AndroidTaintBenchTest("overlay_android_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK overlaylocker2_android_samp, we should detect 7 flows") { From 0f6ec6615884f1b221d2c7adb58545be2e23390e Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:18:03 -0300 Subject: [PATCH 093/180] overlaylocker2_android_samp --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a25c1ba2..cdbc6a22 100644 --- a/README.md +++ b/README.md @@ -192,7 +192,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | hummingbad_android_samp | 2 | 2 | PASSED | 1 | 1 | 1 | | jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | | overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | -| overlaylocker2_android_samp | 7 | 0 | FAILED | - | - | - | +| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | | phospy | 2 | 0 | FAILED | - | - | - | | proxy_samp | 17 | 0 | FAILED | - | - | - | | remote_control_smack | 17 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 854c5c12..eefa0ae6 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -223,9 +223,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK overlaylocker2_android_samp, we should detect 7 flows") { - val svfa = new AndroidTaintBenchTest("overlaylocker2_android_samp") with Overlaylocker2AndroidSampSpec + val expected = 7 + + val svfa = new AndroidTaintBenchTest("overlaylocker2_android_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 7) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK phospy, we should detect 2 flows") { From a245a38d49e73542de7482c02b47e88d7d82a396 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:18:50 -0300 Subject: [PATCH 094/180] phospy --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cdbc6a22..d3e198ea 100644 --- a/README.md +++ b/README.md @@ -193,7 +193,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | | overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | | overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | -| phospy | 2 | 0 | FAILED | - | - | - | +| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | | proxy_samp | 17 | 0 | FAILED | - | - | - | | remote_control_smack | 17 | 0 | FAILED | - | - | - | | repane | 1 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index eefa0ae6..3364a937 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -235,9 +235,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK phospy, we should detect 2 flows") { - val svfa = new AndroidTaintBenchTest("phospy") with PhospySpec + val expected = 2 + + val svfa = new AndroidTaintBenchTest("phospy") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK proxy_samp, we should detect 17 flows") { From 71887a42fa3b1a514afec3546733dddab4938b23 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:20:04 -0300 Subject: [PATCH 095/180] proxy_samp --- README.md | 86 +++++++++---------- .../android/AndroidTaintBenchSuiteTest2.scala | 10 ++- 2 files changed, 51 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index d3e198ea..ab8daf3b 100644 --- a/README.md +++ b/README.md @@ -172,49 +172,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| -| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | -| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 2 | PASSED | 1 | 1 | 1 | -| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | -| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | -| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | -| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | -| proxy_samp | 17 | 0 | FAILED | - | - | - | -| remote_control_smack | 17 | 0 | FAILED | - | - | - | -| repane | 1 | 0 | FAILED | - | - | - | -| Roidsec | 6 | 0 | FAILED | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | -| save_me | 25 | 0 | FAILED | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | -| sms_google | 4 | 0 | FAILED | - | - | - | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | -| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | -| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | -| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | -| tetus | 2 | 0 | FAILED | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | -| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | -| xbot_android_samp | 3 | 0 | FAILED | - | - | - | -| TOTAL | 203 | 0 | - | - | - | - | -| TOTAL* | 186 | 0 | - | - | - | - | +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:-----------:|:-------:|:---------:| +| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | +| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 2 | PASSED | 1 | 1 | 1 | +| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | +| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | +| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | +| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | +| proxy_samp | 17 | 11 | FAILED | 1.00 | 0.65 | 0.79 | +| remote_control_smack | 17 | 0 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | +| Roidsec | 6 | 0 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| TOTAL | 203 | 0 | - | - | - | - | +| TOTAL* | 186 | 0 | - | - | - | - | ## Tasks ### WIP diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 3364a937..7343a1f7 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -247,9 +247,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK proxy_samp, we should detect 17 flows") { - val svfa = new AndroidTaintBenchTest("proxy_samp") with ProxySampSpec + val expected = 17 + + val svfa = new AndroidTaintBenchTest("proxy_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 17) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK remote_control_smack, we should detect 17 flows") { From 160fe06efe6aa73903899f24541a7abd4c526451 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:21:07 -0300 Subject: [PATCH 096/180] remote_control_smack --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ab8daf3b..3d4caac3 100644 --- a/README.md +++ b/README.md @@ -195,7 +195,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | | phospy | 2 | 0 | FAILED | 0 | 0 | 0 | | proxy_samp | 17 | 11 | FAILED | 1.00 | 0.65 | 0.79 | -| remote_control_smack | 17 | 0 | FAILED | - | - | - | +| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | | repane | 1 | 0 | FAILED | - | - | - | | Roidsec | 6 | 0 | FAILED | - | - | - | | samsapo | 4 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 7343a1f7..82151401 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -259,9 +259,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK remote_control_smack, we should detect 17 flows") { - val svfa = new AndroidTaintBenchTest("remote_control_smack") with RemoteControlSmackSpec + val expected = 17 + + val svfa = new AndroidTaintBenchTest("remote_control_smack") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 17) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK repane, we should detect 1 flow") { From 1f2d1e20932367e96ff0989fbd313cb4a0bdc156 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:21:54 -0300 Subject: [PATCH 097/180] repane --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3d4caac3..8db93031 100644 --- a/README.md +++ b/README.md @@ -196,7 +196,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | phospy | 2 | 0 | FAILED | 0 | 0 | 0 | | proxy_samp | 17 | 11 | FAILED | 1.00 | 0.65 | 0.79 | | remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | -| repane | 1 | 0 | FAILED | - | - | - | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | | Roidsec | 6 | 0 | FAILED | - | - | - | | samsapo | 4 | 0 | FAILED | - | - | - | | save_me | 25 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 82151401..e5c51334 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -271,9 +271,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK repane, we should detect 1 flow") { - val svfa = new AndroidTaintBenchTest("repane") with RepaneSpec + val expected = 1 + + val svfa = new AndroidTaintBenchTest("repane") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK Roidsec, we should detect 6 flow") { From 7949308282a1ccbac1d52da295b61b8e862d97ba Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:23:04 -0300 Subject: [PATCH 098/180] Roidsec --- README.md | 86 +++++++++---------- .../android/AndroidTaintBenchSuiteTest2.scala | 11 ++- 2 files changed, 51 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index 8db93031..ba4228cc 100644 --- a/README.md +++ b/README.md @@ -172,49 +172,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:-----------:|:-------:|:---------:| -| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | -| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 2 | PASSED | 1 | 1 | 1 | -| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | -| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | -| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | -| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | -| proxy_samp | 17 | 11 | FAILED | 1.00 | 0.65 | 0.79 | -| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | -| repane | 1 | 0 | FAILED | 0 | 0 | 0 | -| Roidsec | 6 | 0 | FAILED | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | -| save_me | 25 | 0 | FAILED | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | -| sms_google | 4 | 0 | FAILED | - | - | - | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | -| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | -| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | -| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | -| tetus | 2 | 0 | FAILED | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | -| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | -| xbot_android_samp | 3 | 0 | FAILED | - | - | - | -| TOTAL | 203 | 0 | - | - | - | - | -| TOTAL* | 186 | 0 | - | - | - | - | +| APK | Expected | Actual | Status | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| +| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | +| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | +| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 2 | PASSED | 1 | 1 | 1 | +| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | +| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | +| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | +| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | +| proxy_samp | 17 | 11 | FAILED | 1.00 | 0.65 | 0.79 | +| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | +| Roidsec | 6 | 1 | FAILED | 1.00 | 0.17 | 0.29 | +| samsapo | 4 | 0 | FAILED | - | - | - | +| save_me | 25 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| TOTAL | 203 | 0 | - | - | - | - | +| TOTAL* | 186 | 0 | - | - | - | - | ## Tasks ### WIP diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index e5c51334..2d56e9af 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -283,10 +283,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK Roidsec, we should detect 6 flow") { - val svfa = new AndroidTaintBenchTest("roidsec") with RoidSecSpec + val expected = 6 + + val svfa = new AndroidTaintBenchTest("roidsec") svfa.buildSparseValueFlowGraph() - // println(svfa.svgToDotModel()) - assert(svfa.reportConflictsSVG().size == 6) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK samsapo, we should detect 4 flows") { From 6babf848ccdc260663deb0d88d0d961194240d8a Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:24:06 -0300 Subject: [PATCH 099/180] samsapo --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ba4228cc..b706bf18 100644 --- a/README.md +++ b/README.md @@ -198,7 +198,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | | repane | 1 | 0 | FAILED | 0 | 0 | 0 | | Roidsec | 6 | 1 | FAILED | 1.00 | 0.17 | 0.29 | -| samsapo | 4 | 0 | FAILED | - | - | - | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | | save_me | 25 | 0 | FAILED | - | - | - | | scipiex | 3 | 0 | FAILED | - | - | - | | slocker_android_samp | 5 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 2d56e9af..b5b1a3e0 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -295,9 +295,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK samsapo, we should detect 4 flows") { - val svfa = new AndroidTaintBenchTest("samsapo") with SamsapoSpec + val expected = 4 + + val svfa = new AndroidTaintBenchTest("samsapo") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK save_me we should detect 25 flows") { From b7485fb9fb00a5129cc830b2756eb86259dba994 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:25:30 -0300 Subject: [PATCH 100/180] save_me --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b706bf18..71cf203f 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | repane | 1 | 0 | FAILED | 0 | 0 | 0 | | Roidsec | 6 | 1 | FAILED | 1.00 | 0.17 | 0.29 | | samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | -| save_me | 25 | 0 | FAILED | - | - | - | +| save_me | 25 | 6 | FAILED | 1.00 | 0.24 | 0.39 | | scipiex | 3 | 0 | FAILED | - | - | - | | slocker_android_samp | 5 | 0 | FAILED | - | - | - | | sms_google | 4 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index b5b1a3e0..1c930b21 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -307,9 +307,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK save_me we should detect 25 flows") { - val svfa = new AndroidTaintBenchTest("save_me") with SaveMeSpec + val expected = 25 + + val svfa = new AndroidTaintBenchTest("save_me") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 25) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK scipiex, we should detect 3 flows") { From e8058ed9752c8c8d8cf5c6c4aabdb775e51015f8 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:26:26 -0300 Subject: [PATCH 101/180] scipiex --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 71cf203f..3c85608d 100644 --- a/README.md +++ b/README.md @@ -200,7 +200,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | Roidsec | 6 | 1 | FAILED | 1.00 | 0.17 | 0.29 | | samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | | save_me | 25 | 6 | FAILED | 1.00 | 0.24 | 0.39 | -| scipiex | 3 | 0 | FAILED | - | - | - | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | | slocker_android_samp | 5 | 0 | FAILED | - | - | - | | sms_google | 4 | 0 | FAILED | - | - | - | | sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 1c930b21..9a274688 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -319,9 +319,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK scipiex, we should detect 3 flows") { - val svfa = new AndroidTaintBenchTest("scipiex") with ScipiexSpec + val expected = 3 + + val svfa = new AndroidTaintBenchTest("scipiex") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 3) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK slocker_android_samp, we should detect 5 flows") { From 47e4bf0f279123335a9cf855e9cd334e06c7ac9a Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:27:29 -0300 Subject: [PATCH 102/180] slocker_android_samp --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3c85608d..cc4d0de1 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | | save_me | 25 | 6 | FAILED | 1.00 | 0.24 | 0.39 | | scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | | sms_google | 4 | 0 | FAILED | - | - | - | | sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | | smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 9a274688..8ed2f428 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -331,9 +331,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK slocker_android_samp, we should detect 5 flows") { - val svfa = new AndroidTaintBenchTest("slocker_android_samp") with SlockerAndroidSampSpec + val expected = 5 + + val svfa = new AndroidTaintBenchTest("slocker_android_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 5) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK sms_google, we should detect 4 flows") { From bb9395cfa9cfbccd8a736e92eecab83912825a01 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:28:38 -0300 Subject: [PATCH 103/180] sms_google --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index cc4d0de1..c2d1f1ce 100644 --- a/README.md +++ b/README.md @@ -202,7 +202,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | save_me | 25 | 6 | FAILED | 1.00 | 0.24 | 0.39 | | scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | | slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| sms_google | 4 | 0 | FAILED | - | - | - | +| sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | | sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | | smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | | smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 8ed2f428..a880b4eb 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -343,9 +343,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK sms_google, we should detect 4 flows") { - val svfa = new AndroidTaintBenchTest("sms_google") with SmsGoogleSpec + val expected = 4 + + val svfa = new AndroidTaintBenchTest("sms_google") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK sms_send_locker_qqmagic, we should detect 6 flows") { From 2c5dd386cb92ffd2c72f1be81183639ca4ead3eb Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:29:59 -0300 Subject: [PATCH 104/180] sms_send_locker_qqmagic --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c2d1f1ce..9fcca794 100644 --- a/README.md +++ b/README.md @@ -203,7 +203,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | | slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | | sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | -| sms_send_locker_qqmagic | 6 | 0 | FAILED | - | - | - | +| sms_send_locker_qqmagic | 6 | 2 | FAILED | 1.00 | 0.33 | 0.50 | | smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | | smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | | smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index a880b4eb..56e812cc 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -355,9 +355,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK sms_send_locker_qqmagic, we should detect 6 flows") { - val svfa = new AndroidTaintBenchTest("sms_send_locker_qqmagic") with SmsSendLockerQqmagicSpec + val expected = 6 + + val svfa = new AndroidTaintBenchTest("sms_send_locker_qqmagic") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 6) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK smssend_packageInstaller, we should detect 5 flows") { From 66634fd9d6eba8ad3a724215e5e8d35ad98e51e8 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:30:52 -0300 Subject: [PATCH 105/180] smssend_packageInstaller --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9fcca794..f4c06d90 100644 --- a/README.md +++ b/README.md @@ -204,7 +204,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | | sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | | sms_send_locker_qqmagic | 6 | 2 | FAILED | 1.00 | 0.33 | 0.50 | -| smssend_packageInstaller | 5 | 0 | FAILED | - | - | - | +| smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | | smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | | smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | | stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 56e812cc..840c14b6 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -367,9 +367,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK smssend_packageInstaller, we should detect 5 flows") { - val svfa = new AndroidTaintBenchTest("smssend_packageInstaller") with SmssendPackageInstallerSpec + val expected = 5 + + val svfa = new AndroidTaintBenchTest("smssend_packageInstaller") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 5) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK smssilience_fake_vertu, we should detect 2 flows") { From 401d0445d367c2310c7b448c4d44f6a0006422c9 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:31:40 -0300 Subject: [PATCH 106/180] smssilience_fake_vertu --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f4c06d90..87e772a5 100644 --- a/README.md +++ b/README.md @@ -205,7 +205,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | | sms_send_locker_qqmagic | 6 | 2 | FAILED | 1.00 | 0.33 | 0.50 | | smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | -| smssilience_fake_vertu | 2 | 0 | FAILED | - | - | - | +| smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | | smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | | stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | | tetus | 2 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 840c14b6..4e23b804 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -379,9 +379,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK smssilience_fake_vertu, we should detect 2 flows") { - val svfa = new AndroidTaintBenchTest("smssilience_fake_vertu") with SmssilienceFakeVertuSpec + val expected = 2 + + val svfa = new AndroidTaintBenchTest("smssilience_fake_vertu") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK smsstealer_kysn_assassincreed_android_samp, we should detect 5 flows") { From fca29eed817dde26b21d3607c1f7ab293d0dabdb Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:32:35 -0300 Subject: [PATCH 107/180] smsstealer_kysn_assassincreed_android_samp --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 87e772a5..d682bda9 100644 --- a/README.md +++ b/README.md @@ -206,7 +206,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | sms_send_locker_qqmagic | 6 | 2 | FAILED | 1.00 | 0.33 | 0.50 | | smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | | smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | | stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | | tetus | 2 | 0 | FAILED | - | - | - | | the_interview_movieshow | 1 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 4e23b804..48fd713e 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -391,9 +391,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK smsstealer_kysn_assassincreed_android_samp, we should detect 5 flows") { - val svfa = new AndroidTaintBenchTest("smsstealer_kysn_assassincreed_android_samp") with SmsstealerKysnAssassincreedAndroidSampSpec + val expected = 5 + + val svfa = new AndroidTaintBenchTest("smsstealer_kysn_assassincreed_android_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 5) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK stels_flashplayer_android_update, we should detect 3 flows") { From 5ef41b251a99026e65a1cc71fc5d6a5f044f3ac8 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:33:25 -0300 Subject: [PATCH 108/180] stels_flashplayer_android_update --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d682bda9..e3a977ed 100644 --- a/README.md +++ b/README.md @@ -207,7 +207,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | | smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | | smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| stels_flashplayer_android_update | 3 | 0 | FAILED | - | - | - | +| stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | | tetus | 2 | 0 | FAILED | - | - | - | | the_interview_movieshow | 1 | 0 | FAILED | - | - | - | | threatjapan_uracto | 2 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 48fd713e..4c897d51 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -403,9 +403,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK stels_flashplayer_android_update, we should detect 3 flows") { - val svfa = new AndroidTaintBenchTest("stels_flashplayer_android_update") with StelsFlashplayerAndroidUpdateSpec + val expected = 3 + + val svfa = new AndroidTaintBenchTest("stels_flashplayer_android_update") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 3) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK tetus, we should detect 2 flows") { From 15f0159109c63d7d550564eb4fca13423690613c Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:34:10 -0300 Subject: [PATCH 109/180] tetus --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e3a977ed..b8468464 100644 --- a/README.md +++ b/README.md @@ -208,7 +208,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | | smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | | stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | -| tetus | 2 | 0 | FAILED | - | - | - | +| tetus | 2 | 0 | FAILED | 0 | 0 | 0 | | the_interview_movieshow | 1 | 0 | FAILED | - | - | - | | threatjapan_uracto | 2 | 0 | FAILED | - | - | - | | vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 4c897d51..2255582f 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -415,9 +415,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK tetus, we should detect 2 flows") { - val svfa = new AndroidTaintBenchTest("tetus") with TetusSpec + val expected = 2 + + val svfa = new AndroidTaintBenchTest("tetus") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK the_interview_movieshow, we should detect 1 flows") { From 189108ad1e2f2107324d8634673d4d23ea2c7a71 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:34:55 -0300 Subject: [PATCH 110/180] the_interview_movieshow --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b8468464..74ddec3f 100644 --- a/README.md +++ b/README.md @@ -209,7 +209,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | | stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | | tetus | 2 | 0 | FAILED | 0 | 0 | 0 | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | | threatjapan_uracto | 2 | 0 | FAILED | - | - | - | | vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | | xbot_android_samp | 3 | 0 | FAILED | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 2255582f..a5e39106 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -427,9 +427,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK the_interview_movieshow, we should detect 1 flows") { - val svfa = new AndroidTaintBenchTest("the_interview_movieshow") with TheInterviewMovieShowSpec + val expected = 1 + + val svfa = new AndroidTaintBenchTest("the_interview_movieshow") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK threatjapan_uracto, we should detect 2 flows") { From f49faa41616ee0b505716c6023581a346c546945 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:35:57 -0300 Subject: [PATCH 111/180] threatjapan_uracto --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 74ddec3f..dab0d589 100644 --- a/README.md +++ b/README.md @@ -210,7 +210,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | | tetus | 2 | 0 | FAILED | 0 | 0 | 0 | | the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | | vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | | xbot_android_samp | 3 | 0 | FAILED | - | - | - | | TOTAL | 203 | 0 | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index a5e39106..3c968c1c 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -439,9 +439,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK threatjapan_uracto, we should detect 2 flows") { - val svfa = new AndroidTaintBenchTest("threatjapan_uracto") with ThreatjapanUractoSpec + val expected = 2 + + val svfa = new AndroidTaintBenchTest("threatjapan_uracto") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK vibleaker_android_samp, we should detect 4 flows") { From 97fa479e6bfafcb110ad90a8ec971ce18c842d14 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:37:08 -0300 Subject: [PATCH 112/180] vibleaker_android_samp --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dab0d589..071aa3a3 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | tetus | 2 | 0 | FAILED | 0 | 0 | 0 | | the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | | threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 0 | FAILED | - | - | - | +| vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | | xbot_android_samp | 3 | 0 | FAILED | - | - | - | | TOTAL | 203 | 0 | - | - | - | - | | TOTAL* | 186 | 0 | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 3c968c1c..c5ee3ca2 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -451,9 +451,15 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK vibleaker_android_samp, we should detect 4 flows") { - val svfa = new AndroidTaintBenchTest("vibleaker_android_samp") with VibleakerAndroidSampSpec + val expected = 4 + + val svfa = new AndroidTaintBenchTest("vibleaker_android_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } test("in the APK xbot_android_samp, we should detect 3 flows") { From a7519a6cbc58501f59c8f0debad02289affd0e11 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:38:08 -0300 Subject: [PATCH 113/180] xbot_android_samp --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 071aa3a3..812642c0 100644 --- a/README.md +++ b/README.md @@ -212,7 +212,7 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | | threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | | vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | -| xbot_android_samp | 3 | 0 | FAILED | - | - | - | +| xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | | TOTAL | 203 | 0 | - | - | - | - | | TOTAL* | 186 | 0 | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index c5ee3ca2..92c4146f 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -463,8 +463,14 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("in the APK xbot_android_samp, we should detect 3 flows") { - val svfa = new AndroidTaintBenchTest("xbot_android_samp") with XbotAndroidSampSpec + val expected = 3 + + val svfa = new AndroidTaintBenchTest("xbot_android_samp") svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 3) + + val actual = svfa.reportConflictsSVG().size + this.compute(expected, actual) + + assert(actual == expected) } } From d31e1bffeb0d5366c6d9dd6952a2b16c81f96d4e Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:44:06 -0300 Subject: [PATCH 114/180] final metrics --- README.md | 4 ++-- .../br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 812642c0..8e6a2f79 100644 --- a/README.md +++ b/README.md @@ -213,8 +213,8 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | | vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | | xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | -| TOTAL | 203 | 0 | - | - | - | - | -| TOTAL* | 186 | 0 | - | - | - | - | +| TOTAL | 203 | 50 | - | 1.00 | 0.25 | 0.40 | +| TOTAL* | 186 | 50 | - | 1.00 | 0.27 | 0.42 | ## Tasks ### WIP diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 92c4146f..0b0d4dfa 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -473,4 +473,13 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { assert(actual == expected) } + + test("metrics") { + val expected = 186 + val actual = 50 + + this.compute(expected, actual) + + assert(true) + } } From 7bfa63c732a4f39de07f6678731705fa926b24e1 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sat, 18 Jan 2025 19:48:32 -0300 Subject: [PATCH 115/180] add TP and TN --- README.md | 86 +++++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 8e6a2f79..63d7c9c3 100644 --- a/README.md +++ b/README.md @@ -172,49 +172,49 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th > failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| -| backflash | 13 | 1 | FAILED | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 9 | FAILED | 0.11 | 1.00 | 0.20 | -| dsencrypt_samp | 1 | 1 | PASSED | 1 | 1 | 1 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| fakedaum | 2 | 3 | FAILED | 0.67 | 1.00 | 0.80 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | -| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 2 | PASSED | 1 | 1 | 1 | -| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | -| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | -| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | -| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | -| proxy_samp | 17 | 11 | FAILED | 1.00 | 0.65 | 0.79 | -| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | -| repane | 1 | 0 | FAILED | 0 | 0 | 0 | -| Roidsec | 6 | 1 | FAILED | 1.00 | 0.17 | 0.29 | -| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | -| save_me | 25 | 6 | FAILED | 1.00 | 0.24 | 0.39 | -| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | -| sms_send_locker_qqmagic | 6 | 2 | FAILED | 1.00 | 0.33 | 0.50 | -| smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | -| smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | -| stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | -| tetus | 2 | 0 | FAILED | 0 | 0 | 0 | -| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | -| xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | -| TOTAL | 203 | 50 | - | 1.00 | 0.25 | 0.40 | -| TOTAL* | 186 | 50 | - | 1.00 | 0.27 | 0.42 | +| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:--:|:--:|:---------:|:------:|:-------:| +| backflash | 13 | 1 | FAILED | 0 | 0 | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 0 | 0 | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 0 | 0 | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 0 | 0 | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 1 | PASSED | 0 | 0 | 1 | 1 | 1 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakedaum | 2 | 3 | FAILED | 0 | 0 | 0.67 | 1.00 | 0.80 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 2 | PASSED | 0 | 0 | 1 | 1 | 1 | +| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| proxy_samp | 17 | 11 | FAILED | 0 | 0 | 1.00 | 0.65 | 0.79 | +| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| Roidsec | 6 | 1 | FAILED | 0 | 0 | 1.00 | 0.17 | 0.29 | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| save_me | 25 | 6 | FAILED | 0 | 0 | 1.00 | 0.24 | 0.39 | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| sms_send_locker_qqmagic | 6 | 2 | FAILED | 0 | 0 | 1.00 | 0.33 | 0.50 | +| smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| tetus | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| TOTAL | 203 | 50 | - | 0 | 0 | 1.00 | 0.25 | 0.40 | +| TOTAL* | 186 | 50 | - | 0 | 0 | 1.00 | 0.27 | 0.42 | ## Tasks ### WIP From b89c52d0d4a036fa843e7ba55d0f3fdb418eb0ea Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 13:01:41 -0300 Subject: [PATCH 116/180] Experiment 2 - TB2 --- README.md | 171 +++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 117 insertions(+), 54 deletions(-) diff --git a/README.md b/README.md index 63d7c9c3..fdc93631 100644 --- a/README.md +++ b/README.md @@ -112,15 +112,125 @@ and the tests cases are in `src/test/java/securibench`. - [3] - [5] -### Taintbench: (WIP) +### Taintbench: (WIP) -*source*: https://taintbench.github.io/taintbenchSuite/ +Paper https://doi.org/10.1007/s10664-021-10013-5 introduces TAINTBENCH and in its result section presents six experiments +to answer one of its RQ: *How effective are taint analysis tools on TaintBench compared to DroidBench*, where FLOWDROID and AMANDROID as the chosen tools. + +We will focus in **Experiment 2** and **Experiment #3** and use our tool (JSVFA) to reproduce them. +After that, we will compare the already computed results for FLOWDROID to our results. + + +[//]: # (In the next sections, ) +~~[Taintbench](https://github.com/TaintBench/TaintBench/releases/download/TaintBenchSuite/TaintBench.zip) contains a set o Android Apks that are old malware apps. +We have created a file `taintbench.properties` in `src/test/resources` to set the configurations.~~ + +Disclaimer: Although TAINTBENCH contains 203 expected taint flows https://taintbench.github.io/taintbenchSuite/, +We have decided to use only 186 expected cases because the mentioned paper, uses as a reference, works with those amounts. #### CASE I -[Taintbench](https://github.com/TaintBench/TaintBench/releases/download/TaintBenchSuite/TaintBench.zip) contains a set o Android Apks that are old malware apps. -We have created a file `taintbench.properties` in `src/test/resources` to set the configurations. -> failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) +This case emulates **Experiment 2 - TB2** that states: + +>All tools are configured with sources and sinks defined in benchmark suite. + +The mentioned sources and sinks can be found in https://github.com/TaintBench/TaintBench/blob/master/TB_SourcesAndSinks.txt, +and we have stored them in `src/test/scala/br/unb/cic/android/TaintBenchSpec.scala`. + +As a result, we got `37 failed and 2 passed of 39 tests` and comparing to FLOWDROID we detected the same amount of `TP(41)` +but less amount of `FP(9)` and about metrics, we got a better `precision(0.82)`, the same `recall(0.22)` value +and a slightly better `F-score(0.35)`. + +- JSVFA metrics + +| Expected | Actual | TP | FP | Precision | Recall | F-score | +|:--------:|:------:|:--:|:--:|:---------:|:------:|:--------:| +| 186 | 50 | 41 | 9 | 0.82 | 0.22 | 0.35 | + +- FLOWDROID metrics from Paper https://doi.org/10.1007/s10664-021-10013-5 + +| Expected | Actual | TP | FP | Precision | Recall | F-score | +|:--------:|:------:|:--:|:--:|:---------:|:------:|:--------:| +| 186 | 55 | 41 | 14 | 0.75 | 0.22 | 0.34 | + + +We can see the details from each test using JSVFA in the next table. + +| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | +|:---------------------------------------------:|:--------:|:------:|:------:|:------:|:-----:|:---------:|:--------:|:--------:| +| backflash | 13 | 1 | FAILED | 1 | 0 | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 8 | 0 | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 6 | 0 | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 1 | 8 | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 1 | PASSED | 1 | 0 | 1 | 1 | 1 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakedaum | 2 | 3 | FAILED | 2 | 1 | 0.67 | 1.00 | 0.80 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 2 | PASSED | 2 | 0 | 1 | 1 | 1 | +| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| proxy_samp | 17 | 11 | FAILED | 11 | 0 | 1.00 | 0.65 | 0.79 | +| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| save_me | 25 | 6 | FAILED | 6 | 0 | 1.00 | 0.24 | 0.39 | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| sms_send_locker_qqmagic | 6 | 2 | FAILED | 2 | 0 | 1.00 | 0.33 | 0.50 | +| smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| tetus | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| ~~TOTAL~~ | ~~203~~ | ~~50~~ | - | ~~41~~ | ~~9~~ | ~~0.82~~ | ~~0.20~~ | ~~0.32~~ | +| TOTAL* | 186 | 50 | - | 41 | 9 | 0.82 | 0.22 | 0.35 | + +##### Observation +- From the 37 failing tests, 28 of them reported zero flows. + +#### CASE II + +This case emulates **Experiment 3 - TB3** that configures: + +>For each benchmark app, a list of sources and sinks defined in this app is used to +configure all tools. Each tool analyzes each benchmark app with the associated list +of sources and sinks + +The mentioned lists can be found in https://taintbench.github.io/taintbenchSuite/, and we have stored them by individual +files in `src/test/scala/br/unb/cic/android/specs`. + +As a result, we got `38 failed and 1 passed of 39 test` and comparing to FLOWDROID we detect ~~the same amount of `TP(41)` +but less amount of `FP(9)` and about metric, we got a better `precision(0.82)`, the same `recall(0.22)` value +and a slightly better `F-score(0.35)`.~~ + +- JSVFA metrics + +| Expected | Actual | TP | FP | Precision | Recall | F-score | +|:--------:|:------:|:--:|:--:|:---------:|:------:|:-------:| +| 186 | - | - | - | - | - | - | + +- FLOWDROID metrics from Paper https://doi.org/10.1007/s10664-021-10013-5 + +| Expected | Actual | TP | FP | Precision | Recall | F-score | +|:--------:|:------:|:--:|:--:|:---------:|:------:|:--------:| +| 186 | - | - | - | - | - | - | + +We can see the details from each test using JSVFA in the next table. | APK | Expected | Actual | Status | Precision | Recall | F-score | |:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| @@ -166,55 +276,8 @@ We have created a file `taintbench.properties` in `src/test/resources` to set th | TOTAL | 203 | 451 | - | 0.45 | 1 | 0.62 | | TOTAL* | 186 | 451 | - | 0.41 | 1 | 0.58 | -#### CASE II -[Taintbench](https://github.com/TaintBench/TaintBench/releases/download/TaintBenchSuite/TaintBench.zip) contains a set o Android Apks that are old malware apps. -We have created a file `taintbench.properties` in `src/test/resources` to set the configurations. - -> failed: 38, passed: 1, ignored: 0 of 39 test (2.56%) - -| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:--:|:--:|:---------:|:------:|:-------:| -| backflash | 13 | 1 | FAILED | 0 | 0 | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 0 | 0 | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 0 | 0 | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 9 | FAILED | 0 | 0 | 0.11 | 1.00 | 0.20 | -| dsencrypt_samp | 1 | 1 | PASSED | 0 | 0 | 1 | 1 | 1 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakedaum | 2 | 3 | FAILED | 0 | 0 | 0.67 | 1.00 | 0.80 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 2 | PASSED | 0 | 0 | 1 | 1 | 1 | -| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| proxy_samp | 17 | 11 | FAILED | 0 | 0 | 1.00 | 0.65 | 0.79 | -| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| Roidsec | 6 | 1 | FAILED | 0 | 0 | 1.00 | 0.17 | 0.29 | -| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| save_me | 25 | 6 | FAILED | 0 | 0 | 1.00 | 0.24 | 0.39 | -| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| sms_send_locker_qqmagic | 6 | 2 | FAILED | 0 | 0 | 1.00 | 0.33 | 0.50 | -| smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| tetus | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| TOTAL | 203 | 50 | - | 0 | 0 | 1.00 | 0.25 | 0.40 | -| TOTAL* | 186 | 50 | - | 0 | 0 | 1.00 | 0.27 | 0.42 | +##### Observation +- ## Tasks ### WIP From 9642842398ee1c68710e1866f2f946dc5acce00a Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 13:02:04 -0300 Subject: [PATCH 117/180] method to compute metrics --- .../unb/cic/soot/svfa/metrics/Metrics.scala | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala b/src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala index fce70041..4e8c37bb 100644 --- a/src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala +++ b/src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala @@ -7,10 +7,6 @@ trait Metrics { var FP = 0.0 var P = 0.0 - var precision = 0.0 - var recall = 0.0 - var fscore = 0.0 - // Compute expected and unexpected flows P = expected if (actual > expected) { @@ -22,13 +18,20 @@ trait Metrics { } // Compute Metrics - precision = TP / (TP + FP) - recall = TP / P - fscore = (2 * precision * recall) / (precision + recall) + compute2(P,TP, FP) + } + + def compute2(P: Double, TP: Double, FP: Double): Unit = { + val precision = TP / (TP + FP) + val recall = TP / P + val fscore = (2 * precision * recall) / (precision + recall) + + println(s"P: $P") + println(s"TP: $TP") + println(s"FP: $FP") println(f"precision: $precision%1.2f") println(f"recall: $recall%1.2f") println(f"fscore $fscore%1.2f") - } } \ No newline at end of file From 879f7c8b7172983db140a1dcb7155cb0e8892805 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 13:48:38 -0300 Subject: [PATCH 118/180] TAINTBENCH introduction --- README.md | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index fdc93631..86033124 100644 --- a/README.md +++ b/README.md @@ -112,21 +112,29 @@ and the tests cases are in `src/test/java/securibench`. - [3] - [5] -### Taintbench: (WIP) +### TAINTBENCH: (WIP) -Paper https://doi.org/10.1007/s10664-021-10013-5 introduces TAINTBENCH and in its result section presents six experiments -to answer one of its RQ: *How effective are taint analysis tools on TaintBench compared to DroidBench*, where FLOWDROID and AMANDROID as the chosen tools. +[TAINTBENCH](https://taintbench.github.io/) is a benchmark that contains a [set of old malware Android Apks](https://github.com/TaintBench/TaintBench/releases/download/TaintBenchSuite/TaintBench.zip) , +and it is introduced by [Paper: TaintBench: Automatic real-world malware benchmarking of Android taint analyses](https://doi.org/10.1007/s10664-021-10013-5), +which in its result section presents six experiments to answer one of its RQ: *How effective are taint analysis tools on TaintBench compared to DroidBench*, +where FLOWDROID and AMANDROID as the chosen tools. -We will focus in **Experiment 2** and **Experiment #3** and use our tool (JSVFA) to reproduce them. +In the next sections, we will focus in **Experiment 2** and **Experiment 3** and use our tool (JSVFA) to reproduce them. After that, we will compare the already computed results for FLOWDROID to our results. - -[//]: # (In the next sections, ) -~~[Taintbench](https://github.com/TaintBench/TaintBench/releases/download/TaintBenchSuite/TaintBench.zip) contains a set o Android Apks that are old malware apps. -We have created a file `taintbench.properties` in `src/test/resources` to set the configurations.~~ +- The result for each APK tested using JSVFA are presented in a table that contains the following information. + - **Expected:** The amount of taint flows presented by TAINTBENCH + - **Actual:** The amount of taint flows detected by JSVFA + - **Status:** If the test PASS OR FAIL + - **TP:** True Positive + - **FP:** False Positive + - **Precision:** TP/(TP + FP) + - **Recall:** TP/P + - **F-score:** (2 x Precision x Recall)/(Precision + Recall) +- We have created a file `taintbench.properties` in `src/test/resources` to set the configurations -Disclaimer: Although TAINTBENCH contains 203 expected taint flows https://taintbench.github.io/taintbenchSuite/, -We have decided to use only 186 expected cases because the mentioned paper, uses as a reference, works with those amounts. +**Disclaimer**: Although TAINTBENCH contains 203 expected [taint flows](https://taintbench.github.io/taintbenchSuite/), +we have decided to use only 186 expected cases because the mentioned paper, uses as a reference, works with those amounts. #### CASE I @@ -134,7 +142,7 @@ This case emulates **Experiment 2 - TB2** that states: >All tools are configured with sources and sinks defined in benchmark suite. -The mentioned sources and sinks can be found in https://github.com/TaintBench/TaintBench/blob/master/TB_SourcesAndSinks.txt, +The mentioned sources and sinks can be found in [TB_SourcesAndSinks](https://github.com/TaintBench/TaintBench/blob/master/TB_SourcesAndSinks.txt), and we have stored them in `src/test/scala/br/unb/cic/android/TaintBenchSpec.scala`. As a result, we got `37 failed and 2 passed of 39 tests` and comparing to FLOWDROID we detected the same amount of `TP(41)` @@ -147,7 +155,7 @@ and a slightly better `F-score(0.35)`. |:--------:|:------:|:--:|:--:|:---------:|:------:|:--------:| | 186 | 50 | 41 | 9 | 0.82 | 0.22 | 0.35 | -- FLOWDROID metrics from Paper https://doi.org/10.1007/s10664-021-10013-5 +- FLOWDROID metrics from [Paper](https://doi.org/10.1007/s10664-021-10013-5) | Expected | Actual | TP | FP | Precision | Recall | F-score | |:--------:|:------:|:--:|:--:|:---------:|:------:|:--------:| From 8564f04493f3728e0a3130188ba9a8b003cb9d2e Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 13:48:46 -0300 Subject: [PATCH 119/180] metrics2 --- .../cic/android/AndroidTaintBenchSuiteTest2.scala | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 0b0d4dfa..2046f504 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -475,11 +475,21 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { } test("metrics") { - val expected = 186 - val actual = 50 + val expected = 203 + val actual = 41 this.compute(expected, actual) assert(true) } + + test("metrics2") { + val P = 186 + val TP = 41 + val FP = 14 + + this.compute2(P, TP, FP) + + assert(true) + } } From 8c52d4ffa3565813d69a9c61913fcad60c1f0d53 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 14:03:55 -0300 Subject: [PATCH 120/180] refactor metrics path --- .../scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala | 2 +- .../scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 2 +- .../soot/svfa => test/scala/br/unb/cic}/metrics/Metrics.scala | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) rename src/{main/scala/br/unb/cic/soot/svfa => test/scala/br/unb/cic}/metrics/Metrics.scala (95%) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 62bf54fd..8ea877b5 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -1,7 +1,7 @@ package br.unb.cic.android import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, CajinoBaiduSpec, ChatHookSpec, ChuliaSpec, DeathRingMaterialflowSpec, DsencryptSampSpec, ExprespamSpec, FakeappstoreSpec, FakebankAndroidSampSpec, FakedaumSpec, FakemartSpec, FakeplaySpec, FaketaobaoSpec, GodwonSampSpec, HummingbadAndroidSampSpec, JollyservSpec, OverlayAndroidSampSpec, Overlaylocker2AndroidSampSpec, PhospySpec, ProxySampSpec, RemoteControlSmackSpec, RepaneSpec, RoidSecSpec, SamsapoSpec, SaveMeSpec, ScipiexSpec, SlockerAndroidSampSpec, SmsGoogleSpec, SmsSendLockerQqmagicSpec, SmssendPackageInstallerSpec, SmssilienceFakeVertuSpec, SmsstealerKysnAssassincreedAndroidSampSpec, StelsFlashplayerAndroidUpdateSpec, TetusSpec, TheInterviewMovieShowSpec, ThreatjapanUractoSpec, VibleakerAndroidSampSpec, XbotAndroidSampSpec} -import br.unb.cic.soot.svfa.metrics.Metrics +import br.unb.cic.metrics.Metrics import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest extends FunSuite with Metrics { diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index 2046f504..a439906f 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -1,7 +1,7 @@ package br.unb.cic.android import br.unb.cic.android.specs._ -import br.unb.cic.soot.svfa.metrics.Metrics +import br.unb.cic.metrics.Metrics import org.scalatest.FunSuite class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { diff --git a/src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala b/src/test/scala/br/unb/cic/metrics/Metrics.scala similarity index 95% rename from src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala rename to src/test/scala/br/unb/cic/metrics/Metrics.scala index 4e8c37bb..6232b500 100644 --- a/src/main/scala/br/unb/cic/soot/svfa/metrics/Metrics.scala +++ b/src/test/scala/br/unb/cic/metrics/Metrics.scala @@ -1,4 +1,4 @@ -package br.unb.cic.soot.svfa.metrics +package br.unb.cic.metrics trait Metrics { From 179e14bdc986019c0448d8c9421a4af085304fe6 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 14:06:28 -0300 Subject: [PATCH 121/180] rename to computeMetricsByCriterions --- .../br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala | 5 ++--- src/test/scala/br/unb/cic/metrics/Metrics.scala | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index a439906f..d794fa71 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -1,6 +1,5 @@ package br.unb.cic.android -import br.unb.cic.android.specs._ import br.unb.cic.metrics.Metrics import org.scalatest.FunSuite @@ -483,12 +482,12 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { assert(true) } - test("metrics2") { + test("computeMetricsByCriterions") { val P = 186 val TP = 41 val FP = 14 - this.compute2(P, TP, FP) + this.computeMetricsByCriterions(P, TP, FP) assert(true) } diff --git a/src/test/scala/br/unb/cic/metrics/Metrics.scala b/src/test/scala/br/unb/cic/metrics/Metrics.scala index 6232b500..b8946a0a 100644 --- a/src/test/scala/br/unb/cic/metrics/Metrics.scala +++ b/src/test/scala/br/unb/cic/metrics/Metrics.scala @@ -18,10 +18,10 @@ trait Metrics { } // Compute Metrics - compute2(P,TP, FP) + computeMetricsByCriterions(P,TP, FP) } - def compute2(P: Double, TP: Double, FP: Double): Unit = { + def computeMetricsByCriterions(P: Double, TP: Double, FP: Double): Unit = { val precision = TP / (TP + FP) val recall = TP / P val fscore = (2 * precision * recall) / (precision + recall) From cd223286663a940fe500e8312938705f196edfd3 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 14:09:05 -0300 Subject: [PATCH 122/180] rename to computeMetricsByResults --- .../android/AndroidTaintBenchSuiteTest.scala | 2 +- .../android/AndroidTaintBenchSuiteTest2.scala | 80 +++++++++---------- .../scala/br/unb/cic/metrics/Metrics.scala | 2 +- 3 files changed, 42 insertions(+), 42 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala index 8ea877b5..184566fc 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala @@ -12,7 +12,7 @@ class AndroidTaintBenchSuiteTest extends FunSuite with Metrics { val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala index d794fa71..c4d1b1d6 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala @@ -12,7 +12,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -24,7 +24,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -36,7 +36,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -48,7 +48,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -60,7 +60,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -72,7 +72,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -84,7 +84,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -96,7 +96,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -108,7 +108,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -120,7 +120,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -132,7 +132,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -144,7 +144,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -156,7 +156,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -168,7 +168,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -180,7 +180,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -192,7 +192,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -204,7 +204,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -216,7 +216,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -228,7 +228,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -240,7 +240,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -252,7 +252,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -264,7 +264,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -276,7 +276,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -288,7 +288,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -300,7 +300,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -312,7 +312,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -324,7 +324,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -336,7 +336,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -348,7 +348,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -360,7 +360,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -372,7 +372,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -384,7 +384,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -396,7 +396,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -408,7 +408,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -420,7 +420,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -432,7 +432,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -444,7 +444,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -456,7 +456,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -468,7 +468,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { svfa.buildSparseValueFlowGraph() val actual = svfa.reportConflictsSVG().size - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(actual == expected) } @@ -477,7 +477,7 @@ class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { val expected = 203 val actual = 41 - this.compute(expected, actual) + this.computeMetricsByResults(expected, actual) assert(true) } diff --git a/src/test/scala/br/unb/cic/metrics/Metrics.scala b/src/test/scala/br/unb/cic/metrics/Metrics.scala index b8946a0a..f7b46604 100644 --- a/src/test/scala/br/unb/cic/metrics/Metrics.scala +++ b/src/test/scala/br/unb/cic/metrics/Metrics.scala @@ -2,7 +2,7 @@ package br.unb.cic.metrics trait Metrics { - def compute(expected: Int, actual: Int): Unit = { + def computeMetricsByResults(expected: Int, actual: Int): Unit = { var TP = 0.0 var FP = 0.0 var P = 0.0 From 094d077129dcf1194b7af3085db8ecd572df2a8f Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 14:58:48 -0300 Subject: [PATCH 123/180] CaseStudy2 --- README.md | 2 +- ...st.scala => AndroidTaintBenchSuiteCaseStudy2Test.scala} | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) rename src/test/scala/br/unb/cic/android/{AndroidTaintBenchSuiteTest.scala => AndroidTaintBenchSuiteCaseStudy2Test.scala} (97%) diff --git a/README.md b/README.md index 86033124..e6130a90 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,7 @@ We can see the details from each test using JSVFA in the next table. ##### Observation - From the 37 failing tests, 28 of them reported zero flows. -#### CASE II +#### CASE STUDY II This case emulates **Experiment 3 - TB3** that configures: diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala similarity index 97% rename from src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala rename to src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 184566fc..078a8f00 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -4,7 +4,12 @@ import br.unb.cic.android.specs.{BackFlashSpec, BeitaComBeitaContactSpec, Cajino import br.unb.cic.metrics.Metrics import org.scalatest.FunSuite -class AndroidTaintBenchSuiteTest extends FunSuite with Metrics { +/** + * CASE STUDY 2: + * Each test is run with its associated list of sources and sinks + * We do it injecting the "trait" that contents these list at the instance of the object + */ +class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { test("in the APK backflash, we should detect 13 flow") { val expected = 13; From b72530501fc54810dbb99dd7339dec1ae73f5d44 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:01:23 -0300 Subject: [PATCH 124/180] CASE STUDY 1 --- README.md | 2 +- ...t2.scala => AndroidTaintBenchSuiteCaseStudy1Test.scala} | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) rename src/test/scala/br/unb/cic/android/{AndroidTaintBenchSuiteTest2.scala => AndroidTaintBenchSuiteCaseStudy1Test.scala} (98%) diff --git a/README.md b/README.md index e6130a90..fa56665c 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ After that, we will compare the already computed results for FLOWDROID to our re **Disclaimer**: Although TAINTBENCH contains 203 expected [taint flows](https://taintbench.github.io/taintbenchSuite/), we have decided to use only 186 expected cases because the mentioned paper, uses as a reference, works with those amounts. -#### CASE I +#### CASE STUDY I This case emulates **Experiment 2 - TB2** that states: diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala similarity index 98% rename from src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala rename to src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala index c4d1b1d6..539b1d16 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteTest2.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala @@ -3,7 +3,12 @@ package br.unb.cic.android import br.unb.cic.metrics.Metrics import org.scalatest.FunSuite -class AndroidTaintBenchSuiteTest2 extends FunSuite with Metrics { +/** + * CASE STUDY 1: + * All tests are configured with sources and sinks defined in benchmark suite. + * We do it using a unique "trait" that contents these lists. + */ +class AndroidTaintBenchSuiteCaseStudy1Test extends FunSuite with Metrics { test("in the APK backflash, we should detect 13 flow") { val expected = 13 From 5952e34bdc863515f92a81d08233a4758bf3af58 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:05:20 -0300 Subject: [PATCH 125/180] fix table --- README.md | 86 +++++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index fa56665c..da572da4 100644 --- a/README.md +++ b/README.md @@ -240,49 +240,49 @@ and a slightly better `F-score(0.35)`.~~ We can see the details from each test using JSVFA in the next table. -| APK | Expected | Actual | Status | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:---------:|:------:|:-------:| -| backflash | 13 | 20 | FAILED | - | - | - | -| beita_com_beita_contact | 3 | 14 | FAILED | - | - | - | -| cajino_baidu | 12 | 95 | FAILED | - | - | - | -| chat_hook | 12 | 18 | FAILED | - | - | - | -| chulia | 4 | 0 | FAILED | - | - | - | -| death_ring_materialflow | 1 | 45 | FAILED | - | - | - | -| dsencrypt_samp | 1 | 2 | FAILED | - | - | - | -| exprespam | 2 | 0 | FAILED | - | - | - | -| fakeappstore | 3 | 0 | FAILED | - | - | - | -| fakebank_android_samp | 5 | 6 | FAILED | - | - | - | -| fakedaum | 2 | 10 | FAILED | - | - | - | -| fakemart | 2 | 0 | FAILED | - | - | - | -| fakeplay | 2 | 15 | FAILED | - | - | - | -| faketaobao | 4 | 0 | FAILED | - | - | - | -| godwon_samp | 6 | 0 | FAILED | - | - | - | -| hummingbad_android_samp | 2 | 23 | FAILED | - | - | - | -| jollyserv | 1 | 7 | FAILED | - | - | - | -| overlay_android_samp | 4 | 8 | FAILED | - | - | - | -| overlaylocker2_android_samp | 7 | 34 | FAILED | - | - | - | -| phospy | 2 | 1 | FAILED | - | - | - | -| proxy_samp | 17 | 20 | FAILED | - | - | - | -| remote_control_smack | 17 | 5 | FAILED | - | - | - | -| repane | 1 | 0 | FAILED | - | - | - | -| Roidsec | 6 | 1 | FAILED | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | -| save_me | 25 | 15 | FAILED | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | -| sms_google | 4 | 13 | FAILED | - | - | - | -| sms_send_locker_qqmagic | 6 | 9 | FAILED | - | - | - | -| smssend_packageInstaller | 5 | 46 | FAILED | - | - | - | -| smssilience_fake_vertu | 2 | 2 | PASSED | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | - | - | - | -| stels_flashplayer_android_update | 3 | 19 | FAILED | - | - | - | -| tetus | 2 | 9 | FAILED | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | -| vibleaker_android_samp | 4 | 5 | FAILED | - | - | - | -| xbot_android_samp | 3 | 8 | FAILED | - | - | - | -| TOTAL | 203 | 451 | - | 0.45 | 1 | 0.62 | -| TOTAL* | 186 | 451 | - | 0.41 | 1 | 0.58 | +| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:----:|:--:|:---------:|:------:|:-------:| +| backflash | 13 | 20 | FAILED | - | - | - | - | - | +| beita_com_beita_contact | 3 | 14 | FAILED | - | - | - | - | - | +| cajino_baidu | 12 | 95 | FAILED | - | - | - | - | - | +| chat_hook | 12 | 18 | FAILED | - | - | - | - | - | +| chulia | 4 | 0 | FAILED | - | - | - | - | - | +| death_ring_materialflow | 1 | 45 | FAILED | - | - | - | - | - | +| dsencrypt_samp | 1 | 2 | FAILED | - | - | - | - | - | +| exprespam | 2 | 0 | FAILED | - | - | - | - | - | +| fakeappstore | 3 | 0 | FAILED | - | - | - | - | - | +| fakebank_android_samp | 5 | 6 | FAILED | - | - | - | - | - | +| fakedaum | 2 | 10 | FAILED | - | - | - | - | - | +| fakemart | 2 | 0 | FAILED | - | - | - | - | - | +| fakeplay | 2 | 15 | FAILED | - | - | - | - | - | +| faketaobao | 4 | 0 | FAILED | - | - | - | - | - | +| godwon_samp | 6 | 0 | FAILED | - | - | - | - | - | +| hummingbad_android_samp | 2 | 23 | FAILED | - | - | - | - | - | +| jollyserv | 1 | 7 | FAILED | - | - | - | - | - | +| overlay_android_samp | 4 | 8 | FAILED | - | - | - | - | - | +| overlaylocker2_android_samp | 7 | 34 | FAILED | - | - | - | - | - | +| phospy | 2 | 1 | FAILED | - | - | - | - | - | +| proxy_samp | 17 | 20 | FAILED | - | - | - | - | - | +| remote_control_smack | 17 | 5 | FAILED | - | - | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | - | - | +| Roidsec | 6 | 1 | FAILED | - | - | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | - | - | +| save_me | 25 | 15 | FAILED | - | - | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | - | - | +| sms_google | 4 | 13 | FAILED | - | - | - | - | - | +| sms_send_locker_qqmagic | 6 | 9 | FAILED | - | - | - | - | - | +| smssend_packageInstaller | 5 | 46 | FAILED | - | - | - | - | - | +| smssilience_fake_vertu | 2 | 2 | PASSED | - | - | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | - | - | - | - | - | +| stels_flashplayer_android_update | 3 | 19 | FAILED | - | - | - | - | - | +| tetus | 2 | 9 | FAILED | - | - | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | - | - | +| vibleaker_android_samp | 4 | 5 | FAILED | - | - | - | - | - | +| xbot_android_samp | 3 | 8 | FAILED | - | - | - | - | - | +| TOTAL | 203 | 451 | - | - | - | - | - | - | +| TOTAL* | 186 | 451 | - | - | - | - | - | - | ##### Observation - From c7a9b9a48f6be162e7a31ca3b25efc6924044cb7 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:06:51 -0300 Subject: [PATCH 126/180] backflash --- README.md | 86 +++++++++---------- ...AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 +- 2 files changed, 47 insertions(+), 46 deletions(-) diff --git a/README.md b/README.md index da572da4..1293db35 100644 --- a/README.md +++ b/README.md @@ -240,49 +240,49 @@ and a slightly better `F-score(0.35)`.~~ We can see the details from each test using JSVFA in the next table. -| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:----:|:--:|:---------:|:------:|:-------:| -| backflash | 13 | 20 | FAILED | - | - | - | - | - | -| beita_com_beita_contact | 3 | 14 | FAILED | - | - | - | - | - | -| cajino_baidu | 12 | 95 | FAILED | - | - | - | - | - | -| chat_hook | 12 | 18 | FAILED | - | - | - | - | - | -| chulia | 4 | 0 | FAILED | - | - | - | - | - | -| death_ring_materialflow | 1 | 45 | FAILED | - | - | - | - | - | -| dsencrypt_samp | 1 | 2 | FAILED | - | - | - | - | - | -| exprespam | 2 | 0 | FAILED | - | - | - | - | - | -| fakeappstore | 3 | 0 | FAILED | - | - | - | - | - | -| fakebank_android_samp | 5 | 6 | FAILED | - | - | - | - | - | -| fakedaum | 2 | 10 | FAILED | - | - | - | - | - | -| fakemart | 2 | 0 | FAILED | - | - | - | - | - | -| fakeplay | 2 | 15 | FAILED | - | - | - | - | - | -| faketaobao | 4 | 0 | FAILED | - | - | - | - | - | -| godwon_samp | 6 | 0 | FAILED | - | - | - | - | - | -| hummingbad_android_samp | 2 | 23 | FAILED | - | - | - | - | - | -| jollyserv | 1 | 7 | FAILED | - | - | - | - | - | -| overlay_android_samp | 4 | 8 | FAILED | - | - | - | - | - | -| overlaylocker2_android_samp | 7 | 34 | FAILED | - | - | - | - | - | -| phospy | 2 | 1 | FAILED | - | - | - | - | - | -| proxy_samp | 17 | 20 | FAILED | - | - | - | - | - | -| remote_control_smack | 17 | 5 | FAILED | - | - | - | - | - | -| repane | 1 | 0 | FAILED | - | - | - | - | - | -| Roidsec | 6 | 1 | FAILED | - | - | - | - | - | -| samsapo | 4 | 0 | FAILED | - | - | - | - | - | -| save_me | 25 | 15 | FAILED | - | - | - | - | - | -| scipiex | 3 | 0 | FAILED | - | - | - | - | - | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | - | - | -| sms_google | 4 | 13 | FAILED | - | - | - | - | - | -| sms_send_locker_qqmagic | 6 | 9 | FAILED | - | - | - | - | - | -| smssend_packageInstaller | 5 | 46 | FAILED | - | - | - | - | - | -| smssilience_fake_vertu | 2 | 2 | PASSED | - | - | - | - | - | -| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | - | - | - | - | - | -| stels_flashplayer_android_update | 3 | 19 | FAILED | - | - | - | - | - | -| tetus | 2 | 9 | FAILED | - | - | - | - | - | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | - | - | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | - | - | -| vibleaker_android_samp | 4 | 5 | FAILED | - | - | - | - | - | -| xbot_android_samp | 3 | 8 | FAILED | - | - | - | - | - | -| TOTAL | 203 | 451 | - | - | - | - | - | - | -| TOTAL* | 186 | 451 | - | - | - | - | - | - | +| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:--:|:--:|:---------:|:------:|:-------:| +| backflash | 13 | 20 | FAILED | 13 | - | 0.65 | 1.00 | 0.79 | +| beita_com_beita_contact | 3 | 14 | FAILED | - | - | - | - | - | +| cajino_baidu | 12 | 95 | FAILED | - | - | - | - | - | +| chat_hook | 12 | 18 | FAILED | - | - | - | - | - | +| chulia | 4 | 0 | FAILED | - | - | - | - | - | +| death_ring_materialflow | 1 | 45 | FAILED | - | - | - | - | - | +| dsencrypt_samp | 1 | 2 | FAILED | - | - | - | - | - | +| exprespam | 2 | 0 | FAILED | - | - | - | - | - | +| fakeappstore | 3 | 0 | FAILED | - | - | - | - | - | +| fakebank_android_samp | 5 | 6 | FAILED | - | - | - | - | - | +| fakedaum | 2 | 10 | FAILED | - | - | - | - | - | +| fakemart | 2 | 0 | FAILED | - | - | - | - | - | +| fakeplay | 2 | 15 | FAILED | - | - | - | - | - | +| faketaobao | 4 | 0 | FAILED | - | - | - | - | - | +| godwon_samp | 6 | 0 | FAILED | - | - | - | - | - | +| hummingbad_android_samp | 2 | 23 | FAILED | - | - | - | - | - | +| jollyserv | 1 | 7 | FAILED | - | - | - | - | - | +| overlay_android_samp | 4 | 8 | FAILED | - | - | - | - | - | +| overlaylocker2_android_samp | 7 | 34 | FAILED | - | - | - | - | - | +| phospy | 2 | 1 | FAILED | - | - | - | - | - | +| proxy_samp | 17 | 20 | FAILED | - | - | - | - | - | +| remote_control_smack | 17 | 5 | FAILED | - | - | - | - | - | +| repane | 1 | 0 | FAILED | - | - | - | - | - | +| Roidsec | 6 | 1 | FAILED | - | - | - | - | - | +| samsapo | 4 | 0 | FAILED | - | - | - | - | - | +| save_me | 25 | 15 | FAILED | - | - | - | - | - | +| scipiex | 3 | 0 | FAILED | - | - | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | - | - | - | - | - | +| sms_google | 4 | 13 | FAILED | - | - | - | - | - | +| sms_send_locker_qqmagic | 6 | 9 | FAILED | - | - | - | - | - | +| smssend_packageInstaller | 5 | 46 | FAILED | - | - | - | - | - | +| smssilience_fake_vertu | 2 | 2 | PASSED | - | - | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | - | - | - | - | - | +| stels_flashplayer_android_update | 3 | 19 | FAILED | - | - | - | - | - | +| tetus | 2 | 9 | FAILED | - | - | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | - | - | +| vibleaker_android_samp | 4 | 5 | FAILED | - | - | - | - | - | +| xbot_android_samp | 3 | 8 | FAILED | - | - | - | - | - | +| TOTAL | 203 | 451 | - | - | - | - | - | - | +| TOTAL* | 186 | 451 | - | - | - | - | - | - | ##### Observation - diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 078a8f00..f22a40bc 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -14,11 +14,12 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { test("in the APK backflash, we should detect 13 flow") { val expected = 13; - val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec + val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec svfa.buildSparseValueFlowGraph() + val actual = svfa.reportConflictsSVG().size - this.computeMetricsByResults(expected, actual) - assert(actual == expected) + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK beita_com_beita_contact, we should detect 3 flow") { From 2e9291a615dd06e66892eb8e35da577a8186486a Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:08:22 -0300 Subject: [PATCH 127/180] beita_com_beita_contact --- README.md | 2 +- .../android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1293db35..6e4a596f 100644 --- a/README.md +++ b/README.md @@ -243,7 +243,7 @@ We can see the details from each test using JSVFA in the next table. | APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | |:------------------------------------------:|:--------:|:------:|:------:|:--:|:--:|:---------:|:------:|:-------:| | backflash | 13 | 20 | FAILED | 13 | - | 0.65 | 1.00 | 0.79 | -| beita_com_beita_contact | 3 | 14 | FAILED | - | - | - | - | - | +| beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | | cajino_baidu | 12 | 95 | FAILED | - | - | - | - | - | | chat_hook | 12 | 18 | FAILED | - | - | - | - | - | | chulia | 4 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index f22a40bc..f41cb92f 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -16,16 +16,21 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { val svfa = new AndroidTaintBenchTest("backflash") with BackFlashSpec svfa.buildSparseValueFlowGraph() - + val actual = svfa.reportConflictsSVG().size this.computeMetricsByResults(expected, actual) assert(actual == expected) } test("in the APK beita_com_beita_contact, we should detect 3 flow") { + val expected = 3 + val svfa = new AndroidTaintBenchTest("beita_com_beita_contact") with BeitaComBeitaContactSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 3) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK cajino_baidu, we should detect 12 flow") { From efa620f3fff7fe58ceca088260cd4ec84aae9b54 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:08:56 -0300 Subject: [PATCH 128/180] backflash FP --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6e4a596f..3c66843e 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,7 @@ We can see the details from each test using JSVFA in the next table. | APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | |:------------------------------------------:|:--------:|:------:|:------:|:--:|:--:|:---------:|:------:|:-------:| -| backflash | 13 | 20 | FAILED | 13 | - | 0.65 | 1.00 | 0.79 | +| backflash | 13 | 20 | FAILED | 13 | 7 | 0.65 | 1.00 | 0.79 | | beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | | cajino_baidu | 12 | 95 | FAILED | - | - | - | - | - | | chat_hook | 12 | 18 | FAILED | - | - | - | - | - | From 5cefb40fe72c3d53077307a1bae2bbba756065fc Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:10:25 -0300 Subject: [PATCH 129/180] cajino_baidu --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3c66843e..fe95c9b7 100644 --- a/README.md +++ b/README.md @@ -244,7 +244,7 @@ We can see the details from each test using JSVFA in the next table. |:------------------------------------------:|:--------:|:------:|:------:|:--:|:--:|:---------:|:------:|:-------:| | backflash | 13 | 20 | FAILED | 13 | 7 | 0.65 | 1.00 | 0.79 | | beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | -| cajino_baidu | 12 | 95 | FAILED | - | - | - | - | - | +| cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | | chat_hook | 12 | 18 | FAILED | - | - | - | - | - | | chulia | 4 | 0 | FAILED | - | - | - | - | - | | death_ring_materialflow | 1 | 45 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index f41cb92f..24a2dca2 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -34,9 +34,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK cajino_baidu, we should detect 12 flow") { + val expected = 12 + val svfa = new AndroidTaintBenchTest("cajino_baidu") with CajinoBaiduSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 12) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK chat_hook, we should detect 12 flow") { From f498657c4e8df34cad84ca951955c53441b7b4a5 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:11:59 -0300 Subject: [PATCH 130/180] chat_hook --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fe95c9b7..71b8f4c3 100644 --- a/README.md +++ b/README.md @@ -245,7 +245,7 @@ We can see the details from each test using JSVFA in the next table. | backflash | 13 | 20 | FAILED | 13 | 7 | 0.65 | 1.00 | 0.79 | | beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | | cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | -| chat_hook | 12 | 18 | FAILED | - | - | - | - | - | +| chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | | chulia | 4 | 0 | FAILED | - | - | - | - | - | | death_ring_materialflow | 1 | 45 | FAILED | - | - | - | - | - | | dsencrypt_samp | 1 | 2 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 24a2dca2..3406d9a4 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -45,9 +45,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK chat_hook, we should detect 12 flow") { + val expected = 12 + val svfa = new AndroidTaintBenchTest("chat_hook") with ChatHookSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 12) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK chulia, we should detect 4 flow") { From ed9fa38ee7908453579048f9813055c6c9db3694 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:16:40 -0300 Subject: [PATCH 131/180] chulia --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 71b8f4c3..e214dd76 100644 --- a/README.md +++ b/README.md @@ -246,7 +246,7 @@ We can see the details from each test using JSVFA in the next table. | beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | | cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | | chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | -| chulia | 4 | 0 | FAILED | - | - | - | - | - | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | death_ring_materialflow | 1 | 45 | FAILED | - | - | - | - | - | | dsencrypt_samp | 1 | 2 | FAILED | - | - | - | - | - | | exprespam | 2 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 3406d9a4..52dedcc8 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -56,9 +56,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK chulia, we should detect 4 flow") { + val expected = 4 + val svfa = new AndroidTaintBenchTest("chulia") with ChuliaSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK death_ring_materialflow, we should detect 1 flow") { From 078ef3f9947623bf21e913b05a60fc8c35602f50 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:17:58 -0300 Subject: [PATCH 132/180] death_ring_materialflow --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e214dd76..2176dbc9 100644 --- a/README.md +++ b/README.md @@ -247,7 +247,7 @@ We can see the details from each test using JSVFA in the next table. | cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | | chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | | chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 45 | FAILED | - | - | - | - | - | +| death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | | dsencrypt_samp | 1 | 2 | FAILED | - | - | - | - | - | | exprespam | 2 | 0 | FAILED | - | - | - | - | - | | fakeappstore | 3 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 52dedcc8..df6455af 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -67,9 +67,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK death_ring_materialflow, we should detect 1 flow") { + val expected = 1 + val svfa = new AndroidTaintBenchTest("death_ring_materialflow") with DeathRingMaterialflowSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK dsencrypt_samp, we should detect 1 flow") { From 975d056dda708209335c71ff09c53ff99ac0f6c6 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:19:06 -0300 Subject: [PATCH 133/180] dsencrypt_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2176dbc9..1da98a86 100644 --- a/README.md +++ b/README.md @@ -248,7 +248,7 @@ We can see the details from each test using JSVFA in the next table. | chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | | chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | -| dsencrypt_samp | 1 | 2 | FAILED | - | - | - | - | - | +| dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | | exprespam | 2 | 0 | FAILED | - | - | - | - | - | | fakeappstore | 3 | 0 | FAILED | - | - | - | - | - | | fakebank_android_samp | 5 | 6 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index df6455af..d4a42771 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -78,9 +78,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK dsencrypt_samp, we should detect 1 flow") { + val expected = 1 + val svfa = new AndroidTaintBenchTest("dsencrypt_samp") with DsencryptSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK exprespam, we should detect 2 flow") { From a28fcf65433ebdbda74945358fc73d706e001afb Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:19:52 -0300 Subject: [PATCH 134/180] exprespam --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1da98a86..7ed67691 100644 --- a/README.md +++ b/README.md @@ -249,7 +249,7 @@ We can see the details from each test using JSVFA in the next table. | chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | | dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | -| exprespam | 2 | 0 | FAILED | - | - | - | - | - | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | fakeappstore | 3 | 0 | FAILED | - | - | - | - | - | | fakebank_android_samp | 5 | 6 | FAILED | - | - | - | - | - | | fakedaum | 2 | 10 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index d4a42771..17097aa4 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -89,9 +89,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK exprespam, we should detect 2 flow") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("exprespam") with ExprespamSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK fakeappstore, we should detect 3 flow") { From 305942d61606990a02adcfa8329000aa7a61aa79 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:20:32 -0300 Subject: [PATCH 135/180] fakeappstore --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7ed67691..3864f851 100644 --- a/README.md +++ b/README.md @@ -250,7 +250,7 @@ We can see the details from each test using JSVFA in the next table. | death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | | dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | | exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | - | - | - | - | - | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | fakebank_android_samp | 5 | 6 | FAILED | - | - | - | - | - | | fakedaum | 2 | 10 | FAILED | - | - | - | - | - | | fakemart | 2 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 17097aa4..05b0cee5 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -100,9 +100,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK fakeappstore, we should detect 3 flow") { + val expected = 3 + val svfa = new AndroidTaintBenchTest("fakeappstore") with FakeappstoreSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 3) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK fakebank_android_samp, we should detect 5 flow") { From 1d2bf1f66a4e2208252ee0426c19c61dc6324e9d Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:21:34 -0300 Subject: [PATCH 136/180] fakebank_android_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3864f851..6c66e0a0 100644 --- a/README.md +++ b/README.md @@ -251,7 +251,7 @@ We can see the details from each test using JSVFA in the next table. | dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | | exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 6 | FAILED | - | - | - | - | - | +| fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | | fakedaum | 2 | 10 | FAILED | - | - | - | - | - | | fakemart | 2 | 0 | FAILED | - | - | - | - | - | | fakeplay | 2 | 15 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 05b0cee5..d89115d4 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -111,9 +111,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK fakebank_android_samp, we should detect 5 flow") { + val expected = 5 + val svfa = new AndroidTaintBenchTest("fakebank_android_samp") with FakebankAndroidSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 5) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK fakedaum, we should detect 2 flows") { From 4fe3639f4ed477190a1fd27f10b37e3b68c7b4ee Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:22:32 -0300 Subject: [PATCH 137/180] fakedaum --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6c66e0a0..e74654d7 100644 --- a/README.md +++ b/README.md @@ -252,7 +252,7 @@ We can see the details from each test using JSVFA in the next table. | exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | -| fakedaum | 2 | 10 | FAILED | - | - | - | - | - | +| fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | | fakemart | 2 | 0 | FAILED | - | - | - | - | - | | fakeplay | 2 | 15 | FAILED | - | - | - | - | - | | faketaobao | 4 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index d89115d4..0aa3937e 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -122,9 +122,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK fakedaum, we should detect 2 flows") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("fakedaum") with FakedaumSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK fakemart, we should detect 2 flows") { From 9a4196113cc47ba7f995b95c574ba82b1876caf9 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:23:15 -0300 Subject: [PATCH 138/180] fakemart --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e74654d7..fd6838e9 100644 --- a/README.md +++ b/README.md @@ -253,7 +253,7 @@ We can see the details from each test using JSVFA in the next table. | fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | | fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | -| fakemart | 2 | 0 | FAILED | - | - | - | - | - | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | fakeplay | 2 | 15 | FAILED | - | - | - | - | - | | faketaobao | 4 | 0 | FAILED | - | - | - | - | - | | godwon_samp | 6 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 0aa3937e..740269e8 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -133,9 +133,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK fakemart, we should detect 2 flows") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("fakemart") with FakemartSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK fakeplay, we should detect 2 flows") { From e853ce0b887715236324b5518a6aef66b9fbec71 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:24:20 -0300 Subject: [PATCH 139/180] fakeplay --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fd6838e9..e07a4e33 100644 --- a/README.md +++ b/README.md @@ -254,7 +254,7 @@ We can see the details from each test using JSVFA in the next table. | fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | | fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | | fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeplay | 2 | 15 | FAILED | - | - | - | - | - | +| fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | | faketaobao | 4 | 0 | FAILED | - | - | - | - | - | | godwon_samp | 6 | 0 | FAILED | - | - | - | - | - | | hummingbad_android_samp | 2 | 23 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 740269e8..4c016386 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -144,9 +144,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK fakeplay, we should detect 2 flows") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("fakeplay") with FakeplaySpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK faketaobao, we should detect 4 flows") { From 6ce5a9e1b6da6c38bab2420c55945ce14ed09651 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:24:56 -0300 Subject: [PATCH 140/180] faketaobao --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e07a4e33..fb60d4f1 100644 --- a/README.md +++ b/README.md @@ -255,7 +255,7 @@ We can see the details from each test using JSVFA in the next table. | fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | | fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | -| faketaobao | 4 | 0 | FAILED | - | - | - | - | - | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | godwon_samp | 6 | 0 | FAILED | - | - | - | - | - | | hummingbad_android_samp | 2 | 23 | FAILED | - | - | - | - | - | | jollyserv | 1 | 7 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 4c016386..23f535b4 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -155,9 +155,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK faketaobao, we should detect 4 flows") { + val expected = 4 + val svfa = new AndroidTaintBenchTest("faketaobao") with FaketaobaoSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK godwon_samp, we should detect 6 flows") { From 2a831152d28fcf07fc7d37d37aa96c4ebc4a0d0c Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:25:38 -0300 Subject: [PATCH 141/180] godwon_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fb60d4f1..4cb2ee30 100644 --- a/README.md +++ b/README.md @@ -256,7 +256,7 @@ We can see the details from each test using JSVFA in the next table. | fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | | faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | - | - | - | - | - | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | hummingbad_android_samp | 2 | 23 | FAILED | - | - | - | - | - | | jollyserv | 1 | 7 | FAILED | - | - | - | - | - | | overlay_android_samp | 4 | 8 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 23f535b4..f2989609 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -166,9 +166,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK godwon_samp, we should detect 6 flows") { + val expected = 6 + val svfa = new AndroidTaintBenchTest("godwon_samp") with GodwonSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 6) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK hummingbad_android_samp, we should detect 2 flows") { From a5346f0f6747eb3b4e8361e722461b4e9ac3b2c2 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:26:46 -0300 Subject: [PATCH 142/180] hummingbad_android_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4cb2ee30..836674e1 100644 --- a/README.md +++ b/README.md @@ -257,7 +257,7 @@ We can see the details from each test using JSVFA in the next table. | fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | | faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 23 | FAILED | - | - | - | - | - | +| hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | | jollyserv | 1 | 7 | FAILED | - | - | - | - | - | | overlay_android_samp | 4 | 8 | FAILED | - | - | - | - | - | | overlaylocker2_android_samp | 7 | 34 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index f2989609..1cc8a9ea 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -177,9 +177,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK hummingbad_android_samp, we should detect 2 flows") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("hummingbad_android_samp") with HummingbadAndroidSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK jollyserv, we should detect 1 flows") { From 2a6429f27b91373018fb1123a1aa8aa1137f97c5 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:27:45 -0300 Subject: [PATCH 143/180] jollyserv --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 836674e1..169fd4e3 100644 --- a/README.md +++ b/README.md @@ -258,7 +258,7 @@ We can see the details from each test using JSVFA in the next table. | faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | -| jollyserv | 1 | 7 | FAILED | - | - | - | - | - | +| jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | | overlay_android_samp | 4 | 8 | FAILED | - | - | - | - | - | | overlaylocker2_android_samp | 7 | 34 | FAILED | - | - | - | - | - | | phospy | 2 | 1 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 1cc8a9ea..94b787e4 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -188,9 +188,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK jollyserv, we should detect 1 flows") { + val expected = 1 + val svfa = new AndroidTaintBenchTest("jollyserv") with JollyservSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK overlay_android_samp, we should detect 4 flows") { From ba8863ab2c2d5fcb5ab749936d468c39967ba44c Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:28:36 -0300 Subject: [PATCH 144/180] overlay_android_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 169fd4e3..9c116f5d 100644 --- a/README.md +++ b/README.md @@ -259,7 +259,7 @@ We can see the details from each test using JSVFA in the next table. | godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | | jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | -| overlay_android_samp | 4 | 8 | FAILED | - | - | - | - | - | +| overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | | overlaylocker2_android_samp | 7 | 34 | FAILED | - | - | - | - | - | | phospy | 2 | 1 | FAILED | - | - | - | - | - | | proxy_samp | 17 | 20 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 94b787e4..d5447ad3 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -199,9 +199,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK overlay_android_samp, we should detect 4 flows") { + val expected = 4 + val svfa = new AndroidTaintBenchTest("overlay_android_samp") with OverlayAndroidSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK overlaylocker2_android_samp, we should detect 7 flows") { From 873935bb91bd04df32e3b1bd865dc06c0fbf3857 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:29:41 -0300 Subject: [PATCH 145/180] overlaylocker2_android_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9c116f5d..a7a66da3 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,7 @@ We can see the details from each test using JSVFA in the next table. | hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | | jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | | overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | -| overlaylocker2_android_samp | 7 | 34 | FAILED | - | - | - | - | - | +| overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | | phospy | 2 | 1 | FAILED | - | - | - | - | - | | proxy_samp | 17 | 20 | FAILED | - | - | - | - | - | | remote_control_smack | 17 | 5 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index d5447ad3..4b5da8a7 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -210,9 +210,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK overlaylocker2_android_samp, we should detect 7 flows") { + val expected = 7 + val svfa = new AndroidTaintBenchTest("overlaylocker2_android_samp") with Overlaylocker2AndroidSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 7) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK phospy, we should detect 2 flows") { From e642e899d79d6bf8c08ad83b71d5383c803da7ae Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:30:47 -0300 Subject: [PATCH 146/180] phospy --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a7a66da3..1b61d88e 100644 --- a/README.md +++ b/README.md @@ -261,7 +261,7 @@ We can see the details from each test using JSVFA in the next table. | jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | | overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | | overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | -| phospy | 2 | 1 | FAILED | - | - | - | - | - | +| phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | | proxy_samp | 17 | 20 | FAILED | - | - | - | - | - | | remote_control_smack | 17 | 5 | FAILED | - | - | - | - | - | | repane | 1 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 4b5da8a7..00b3c67f 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -221,9 +221,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK phospy, we should detect 2 flows") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("phospy") with PhospySpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK proxy_samp, we should detect 17 flows") { From c9cf24e4dc073a04b64464dc0df5d33bffd6403a Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:32:01 -0300 Subject: [PATCH 147/180] proxy_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1b61d88e..3bcc8171 100644 --- a/README.md +++ b/README.md @@ -262,7 +262,7 @@ We can see the details from each test using JSVFA in the next table. | overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | | overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | | phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | -| proxy_samp | 17 | 20 | FAILED | - | - | - | - | - | +| proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | | remote_control_smack | 17 | 5 | FAILED | - | - | - | - | - | | repane | 1 | 0 | FAILED | - | - | - | - | - | | Roidsec | 6 | 1 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 00b3c67f..bf5ceda1 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -232,9 +232,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK proxy_samp, we should detect 17 flows") { + val expected = 17 + val svfa = new AndroidTaintBenchTest("proxy_samp") with ProxySampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 17) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK remote_control_smack, we should detect 17 flows") { From afc77be19e0ba7a217e424480565961697f09f68 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:33:24 -0300 Subject: [PATCH 148/180] remote_control_smack --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3bcc8171..74e63134 100644 --- a/README.md +++ b/README.md @@ -263,7 +263,7 @@ We can see the details from each test using JSVFA in the next table. | overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | | phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | | proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | -| remote_control_smack | 17 | 5 | FAILED | - | - | - | - | - | +| remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | | repane | 1 | 0 | FAILED | - | - | - | - | - | | Roidsec | 6 | 1 | FAILED | - | - | - | - | - | | samsapo | 4 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index bf5ceda1..27454e5e 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -243,9 +243,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK remote_control_smack, we should detect 17 flows") { + val expected = 17 + val svfa = new AndroidTaintBenchTest("remote_control_smack") with RemoteControlSmackSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 17) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK repane, we should detect 1 flow") { From 05aa8c32cf42a9e0f92f05aa298bcb49e57f99bf Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:34:01 -0300 Subject: [PATCH 149/180] repane --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 74e63134..3e78e531 100644 --- a/README.md +++ b/README.md @@ -264,7 +264,7 @@ We can see the details from each test using JSVFA in the next table. | phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | | proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | | remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | -| repane | 1 | 0 | FAILED | - | - | - | - | - | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | Roidsec | 6 | 1 | FAILED | - | - | - | - | - | | samsapo | 4 | 0 | FAILED | - | - | - | - | - | | save_me | 25 | 15 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 27454e5e..5f4ec58d 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -254,9 +254,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK repane, we should detect 1 flow") { + val expected = 1 + val svfa = new AndroidTaintBenchTest("repane") with RepaneSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK Roidsec, we should detect 6 flow") { From d949a3928b26aadcc48080f01e7018fb43158b44 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:35:02 -0300 Subject: [PATCH 150/180] Roidsec --- README.md | 2 +- .../android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3e78e531..2f14668b 100644 --- a/README.md +++ b/README.md @@ -265,7 +265,7 @@ We can see the details from each test using JSVFA in the next table. | proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | | remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | | repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| Roidsec | 6 | 1 | FAILED | - | - | - | - | - | +| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | | samsapo | 4 | 0 | FAILED | - | - | - | - | - | | save_me | 25 | 15 | FAILED | - | - | - | - | - | | scipiex | 3 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 5f4ec58d..3ad86157 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -265,10 +265,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK Roidsec, we should detect 6 flow") { + val expected = 6 + val svfa = new AndroidTaintBenchTest("roidsec") with RoidSecSpec svfa.buildSparseValueFlowGraph() - // println(svfa.svgToDotModel()) - assert(svfa.reportConflictsSVG().size == 6) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK samsapo, we should detect 4 flows") { From 41e3c31b3238845b54c8bbc0b5d6da6f44c51b90 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:35:42 -0300 Subject: [PATCH 151/180] samsapo --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2f14668b..2135fd00 100644 --- a/README.md +++ b/README.md @@ -266,7 +266,7 @@ We can see the details from each test using JSVFA in the next table. | remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | | repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | -| samsapo | 4 | 0 | FAILED | - | - | - | - | - | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | save_me | 25 | 15 | FAILED | - | - | - | - | - | | scipiex | 3 | 0 | FAILED | - | - | - | - | - | | slocker_android_samp | 5 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 3ad86157..5b1acc0b 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -276,9 +276,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK samsapo, we should detect 4 flows") { + val expected = 4 + val svfa = new AndroidTaintBenchTest("samsapo") with SamsapoSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK save_me we should detect 25 flows") { From 27451f546d3ce11449e3756c68bbae96cb3ac194 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:36:47 -0300 Subject: [PATCH 152/180] save_me --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2135fd00..44e7f21c 100644 --- a/README.md +++ b/README.md @@ -267,7 +267,7 @@ We can see the details from each test using JSVFA in the next table. | repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | | samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| save_me | 25 | 15 | FAILED | - | - | - | - | - | +| save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | | scipiex | 3 | 0 | FAILED | - | - | - | - | - | | slocker_android_samp | 5 | 0 | FAILED | - | - | - | - | - | | sms_google | 4 | 13 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 5b1acc0b..f0267259 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -287,9 +287,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK save_me we should detect 25 flows") { + val expected = 25 + val svfa = new AndroidTaintBenchTest("save_me") with SaveMeSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 25) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK scipiex, we should detect 3 flows") { From 6237529063c87b05c28ddeb087b87a4db0555db4 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:37:25 -0300 Subject: [PATCH 153/180] scipiex --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 44e7f21c..faabc5a6 100644 --- a/README.md +++ b/README.md @@ -268,7 +268,7 @@ We can see the details from each test using JSVFA in the next table. | Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | | samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | -| scipiex | 3 | 0 | FAILED | - | - | - | - | - | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | slocker_android_samp | 5 | 0 | FAILED | - | - | - | - | - | | sms_google | 4 | 13 | FAILED | - | - | - | - | - | | sms_send_locker_qqmagic | 6 | 9 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index f0267259..a2a30ad2 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -298,9 +298,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK scipiex, we should detect 3 flows") { + val expected = 3 + val svfa = new AndroidTaintBenchTest("scipiex") with ScipiexSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 3) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK slocker_android_samp, we should detect 5 flows") { From 2979a6a36f1f51bb8618e3bab14c84ba5bc99ea7 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:38:09 -0300 Subject: [PATCH 154/180] slocker_android_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index faabc5a6..6897c36e 100644 --- a/README.md +++ b/README.md @@ -269,7 +269,7 @@ We can see the details from each test using JSVFA in the next table. | samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | | scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | - | - | - | - | - | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | sms_google | 4 | 13 | FAILED | - | - | - | - | - | | sms_send_locker_qqmagic | 6 | 9 | FAILED | - | - | - | - | - | | smssend_packageInstaller | 5 | 46 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index a2a30ad2..e3402bcd 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -309,9 +309,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK slocker_android_samp, we should detect 5 flows") { + val expected = 5 + val svfa = new AndroidTaintBenchTest("slocker_android_samp") with SlockerAndroidSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 5) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK sms_google, we should detect 4 flows") { From 2a1102c688f24df94b98e533489439eee6a22b3c Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:39:05 -0300 Subject: [PATCH 155/180] sms_google --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6897c36e..a0d919de 100644 --- a/README.md +++ b/README.md @@ -270,7 +270,7 @@ We can see the details from each test using JSVFA in the next table. | save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | | scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| sms_google | 4 | 13 | FAILED | - | - | - | - | - | +| sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | | sms_send_locker_qqmagic | 6 | 9 | FAILED | - | - | - | - | - | | smssend_packageInstaller | 5 | 46 | FAILED | - | - | - | - | - | | smssilience_fake_vertu | 2 | 2 | PASSED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index e3402bcd..b0180837 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -320,9 +320,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK sms_google, we should detect 4 flows") { + val expected = 4 + val svfa = new AndroidTaintBenchTest("sms_google") with SmsGoogleSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK sms_send_locker_qqmagic, we should detect 6 flows") { From 390160293a322bf3de2f7f8781e69ffa82a31d6d Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:40:07 -0300 Subject: [PATCH 156/180] sms_send_locker_qqmagic --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a0d919de..cfbaaf33 100644 --- a/README.md +++ b/README.md @@ -271,7 +271,7 @@ We can see the details from each test using JSVFA in the next table. | scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | -| sms_send_locker_qqmagic | 6 | 9 | FAILED | - | - | - | - | - | +| sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | | smssend_packageInstaller | 5 | 46 | FAILED | - | - | - | - | - | | smssilience_fake_vertu | 2 | 2 | PASSED | - | - | - | - | - | | smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index b0180837..d6c403bc 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -331,9 +331,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK sms_send_locker_qqmagic, we should detect 6 flows") { + val expected = 6 + val svfa = new AndroidTaintBenchTest("sms_send_locker_qqmagic") with SmsSendLockerQqmagicSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 6) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK smssend_packageInstaller, we should detect 5 flows") { From 7f616c67b340149da2b98c4564f18eadcdd057dd Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:41:12 -0300 Subject: [PATCH 157/180] smssend_packageInstaller --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cfbaaf33..08f97578 100644 --- a/README.md +++ b/README.md @@ -272,7 +272,7 @@ We can see the details from each test using JSVFA in the next table. | slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | | sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | -| smssend_packageInstaller | 5 | 46 | FAILED | - | - | - | - | - | +| smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | | smssilience_fake_vertu | 2 | 2 | PASSED | - | - | - | - | - | | smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | - | - | - | - | - | | stels_flashplayer_android_update | 3 | 19 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index d6c403bc..46079881 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -342,9 +342,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK smssend_packageInstaller, we should detect 5 flows") { + val expected = 5 + val svfa = new AndroidTaintBenchTest("smssend_packageInstaller") with SmssendPackageInstallerSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 5) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK smssilience_fake_vertu, we should detect 2 flows") { From 9f2b9027435f1c8b558a50360b44b52a5b8bb8dd Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:41:57 -0300 Subject: [PATCH 158/180] smssilience_fake_vertu --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 08f97578..bfffcc3b 100644 --- a/README.md +++ b/README.md @@ -273,7 +273,7 @@ We can see the details from each test using JSVFA in the next table. | sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | | sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | | smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | -| smssilience_fake_vertu | 2 | 2 | PASSED | - | - | - | - | - | +| smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | | smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | - | - | - | - | - | | stels_flashplayer_android_update | 3 | 19 | FAILED | - | - | - | - | - | | tetus | 2 | 9 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 46079881..10976d5a 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -353,9 +353,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK smssilience_fake_vertu, we should detect 2 flows") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("smssilience_fake_vertu") with SmssilienceFakeVertuSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK smsstealer_kysn_assassincreed_android_samp, we should detect 5 flows") { From 2687cce43fa3ff3c055bcc9cadb3dc5ee7957bd8 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:43:03 -0300 Subject: [PATCH 159/180] smsstealer_kysn_assassincreed_android_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bfffcc3b..03f95cd2 100644 --- a/README.md +++ b/README.md @@ -274,7 +274,7 @@ We can see the details from each test using JSVFA in the next table. | sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | | smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | | smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | - | - | - | - | - | +| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | | stels_flashplayer_android_update | 3 | 19 | FAILED | - | - | - | - | - | | tetus | 2 | 9 | FAILED | - | - | - | - | - | | the_interview_movieshow | 1 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 10976d5a..f53a07b9 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -364,9 +364,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK smsstealer_kysn_assassincreed_android_samp, we should detect 5 flows") { + val expected = 5 + val svfa = new AndroidTaintBenchTest("smsstealer_kysn_assassincreed_android_samp") with SmsstealerKysnAssassincreedAndroidSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 5) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK stels_flashplayer_android_update, we should detect 3 flows") { From 84bfae42285ae1185f3a656d5d2a9a52836d10fe Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:44:08 -0300 Subject: [PATCH 160/180] stels_flashplayer_android_update --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 03f95cd2..7d12a1d7 100644 --- a/README.md +++ b/README.md @@ -275,7 +275,7 @@ We can see the details from each test using JSVFA in the next table. | smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | | smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | | smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | -| stels_flashplayer_android_update | 3 | 19 | FAILED | - | - | - | - | - | +| stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | | tetus | 2 | 9 | FAILED | - | - | - | - | - | | the_interview_movieshow | 1 | 0 | FAILED | - | - | - | - | - | | threatjapan_uracto | 2 | 0 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index f53a07b9..0734d7e0 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -375,9 +375,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK stels_flashplayer_android_update, we should detect 3 flows") { + val expected = 3 + val svfa = new AndroidTaintBenchTest("stels_flashplayer_android_update") with StelsFlashplayerAndroidUpdateSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 3) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK tetus, we should detect 2 flows") { From 4890076516740b60b65cf8707ebead4f94a4bb1e Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:45:22 -0300 Subject: [PATCH 161/180] tetus --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7d12a1d7..c73007ee 100644 --- a/README.md +++ b/README.md @@ -276,7 +276,7 @@ We can see the details from each test using JSVFA in the next table. | smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | | smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | | stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | -| tetus | 2 | 9 | FAILED | - | - | - | - | - | +| tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | | the_interview_movieshow | 1 | 0 | FAILED | - | - | - | - | - | | threatjapan_uracto | 2 | 0 | FAILED | - | - | - | - | - | | vibleaker_android_samp | 4 | 5 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 0734d7e0..94a59d6a 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -386,9 +386,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK tetus, we should detect 2 flows") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("tetus") with TetusSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK the_interview_movieshow, we should detect 1 flows") { From 5722317a561c5ca8d631a05a25ec47e3f23c029b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:46:01 -0300 Subject: [PATCH 162/180] the_interview_movieshow --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c73007ee..523b10ab 100644 --- a/README.md +++ b/README.md @@ -277,7 +277,7 @@ We can see the details from each test using JSVFA in the next table. | smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | | stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | | tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | -| the_interview_movieshow | 1 | 0 | FAILED | - | - | - | - | - | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | threatjapan_uracto | 2 | 0 | FAILED | - | - | - | - | - | | vibleaker_android_samp | 4 | 5 | FAILED | - | - | - | - | - | | xbot_android_samp | 3 | 8 | FAILED | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 94a59d6a..795a9835 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -397,9 +397,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK the_interview_movieshow, we should detect 1 flows") { + val expected = 1 + val svfa = new AndroidTaintBenchTest("the_interview_movieshow") with TheInterviewMovieShowSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 1) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK threatjapan_uracto, we should detect 2 flows") { From a239244ad45c420ecb6a87ab869943b39652d63b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:46:39 -0300 Subject: [PATCH 163/180] threatjapan_uracto --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 523b10ab..5d86e7a4 100644 --- a/README.md +++ b/README.md @@ -278,7 +278,7 @@ We can see the details from each test using JSVFA in the next table. | stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | | tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | | the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | - | - | - | - | - | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | vibleaker_android_samp | 4 | 5 | FAILED | - | - | - | - | - | | xbot_android_samp | 3 | 8 | FAILED | - | - | - | - | - | | TOTAL | 203 | 451 | - | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 795a9835..296e9cdd 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -408,9 +408,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK threatjapan_uracto, we should detect 2 flows") { + val expected = 2 + val svfa = new AndroidTaintBenchTest("threatjapan_uracto") with ThreatjapanUractoSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 2) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK vibleaker_android_samp, we should detect 4 flows") { From 0ab41825a8b2f92b6c218377df64bb01bca896b9 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:47:44 -0300 Subject: [PATCH 164/180] vibleaker_android_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5d86e7a4..47dabaa1 100644 --- a/README.md +++ b/README.md @@ -279,7 +279,7 @@ We can see the details from each test using JSVFA in the next table. | tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | | the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 5 | FAILED | - | - | - | - | - | +| vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | | xbot_android_samp | 3 | 8 | FAILED | - | - | - | - | - | | TOTAL | 203 | 451 | - | - | - | - | - | - | | TOTAL* | 186 | 451 | - | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 296e9cdd..839583f9 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -419,9 +419,14 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK vibleaker_android_samp, we should detect 4 flows") { + val expected = 4 + val svfa = new AndroidTaintBenchTest("vibleaker_android_samp") with VibleakerAndroidSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 4) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } test("in the APK xbot_android_samp, we should detect 3 flows") { From bac7a526f524d31c76fbbb326cb759601200ac15 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:48:54 -0300 Subject: [PATCH 165/180] xbot_android_samp --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 47dabaa1..8d91c561 100644 --- a/README.md +++ b/README.md @@ -280,7 +280,7 @@ We can see the details from each test using JSVFA in the next table. | the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | -| xbot_android_samp | 3 | 8 | FAILED | - | - | - | - | - | +| xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | | TOTAL | 203 | 451 | - | - | - | - | - | - | | TOTAL* | 186 | 451 | - | - | - | - | - | - | diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index 839583f9..d899490d 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -430,8 +430,13 @@ class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { } test("in the APK xbot_android_samp, we should detect 3 flows") { + val expected = 3 + val svfa = new AndroidTaintBenchTest("xbot_android_samp") with XbotAndroidSampSpec svfa.buildSparseValueFlowGraph() - assert(svfa.reportConflictsSVG().size == 3) + + val actual = svfa.reportConflictsSVG().size + this.computeMetricsByResults(expected, actual) + assert(actual == expected) } } From 734d331c9c10dda488592c959b0ad6d2b885cef3 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:52:27 -0300 Subject: [PATCH 166/180] actual --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8d91c561..672b34a0 100644 --- a/README.md +++ b/README.md @@ -281,8 +281,8 @@ We can see the details from each test using JSVFA in the next table. | threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | | xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | -| TOTAL | 203 | 451 | - | - | - | - | - | - | -| TOTAL* | 186 | 451 | - | - | - | - | - | - | +| TOTAL | 203 | 453 | - | - | - | - | - | - | +| TOTAL* | 186 | 453 | - | - | - | - | - | - | ##### Observation - From ff1319059e1867f0297776f9732edae95cbeaeae Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:55:24 -0300 Subject: [PATCH 167/180] TP --- README.md | 86 +++++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 672b34a0..8ded025f 100644 --- a/README.md +++ b/README.md @@ -240,49 +240,49 @@ and a slightly better `F-score(0.35)`.~~ We can see the details from each test using JSVFA in the next table. -| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:--:|:--:|:---------:|:------:|:-------:| -| backflash | 13 | 20 | FAILED | 13 | 7 | 0.65 | 1.00 | 0.79 | -| beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | -| cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | -| chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | -| dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | -| fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | -| jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | -| overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | -| overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | -| phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | -| proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | -| remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | -| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | -| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | -| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | -| sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | -| smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | -| smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | -| stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | -| tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | -| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | -| xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | -| TOTAL | 203 | 453 | - | - | - | - | - | - | -| TOTAL* | 186 | 453 | - | - | - | - | - | - | +| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---:|:--:|:---------:|:------:|:-------:| +| backflash | 13 | 20 | FAILED | 13 | 7 | 0.65 | 1.00 | 0.79 | +| beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | +| cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | +| chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | +| dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | +| fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | +| jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | +| overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | +| overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | +| phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | +| proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | +| remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | +| sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | +| smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | +| smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | +| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | +| stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | +| tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | +| xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | +| TOTAL | 203 | 453 | - | 135 | - | - | - | - | +| TOTAL* | 186 | 453 | - | 135 | - | - | - | - | ##### Observation - From fe295f80bb7c037a8c4fb301fdfd22a9cc7e7910 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:57:54 -0300 Subject: [PATCH 168/180] FP --- README.md | 86 +++++++++++++++++++++++++++---------------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/README.md b/README.md index 8ded025f..0d63e31c 100644 --- a/README.md +++ b/README.md @@ -240,49 +240,49 @@ and a slightly better `F-score(0.35)`.~~ We can see the details from each test using JSVFA in the next table. -| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:---:|:--:|:---------:|:------:|:-------:| -| backflash | 13 | 20 | FAILED | 13 | 7 | 0.65 | 1.00 | 0.79 | -| beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | -| cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | -| chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | -| dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | -| fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | -| jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | -| overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | -| overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | -| phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | -| proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | -| remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | -| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | -| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | -| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | -| sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | -| smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | -| smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | -| stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | -| tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | -| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | -| xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | -| TOTAL | 203 | 453 | - | 135 | - | - | - | - | -| TOTAL* | 186 | 453 | - | 135 | - | - | - | - | +| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---:|:---:|:---------:|:------:|:-------:| +| backflash | 13 | 20 | FAILED | 13 | 7 | 0.65 | 1.00 | 0.79 | +| beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | +| cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | +| chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | +| dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | +| fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | +| jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | +| overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | +| overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | +| phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | +| proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | +| remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | +| sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | +| smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | +| smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | +| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | +| stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | +| tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | +| xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | +| TOTAL | 203 | 453 | - | 135 | 318 | - | - | - | +| TOTAL* | 186 | 453 | - | 135 | 318 | - | - | - | ##### Observation - From 96d7a996496014ab263439c6d6edb1824352aa92 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 15:59:27 -0300 Subject: [PATCH 169/180] metrics --- README.md | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 0d63e31c..9f1f53b1 100644 --- a/README.md +++ b/README.md @@ -282,7 +282,7 @@ We can see the details from each test using JSVFA in the next table. | vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | | xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | | TOTAL | 203 | 453 | - | 135 | 318 | - | - | - | -| TOTAL* | 186 | 453 | - | 135 | 318 | - | - | - | +| TOTAL* | 186 | 453 | - | 135 | 318 | 0.30 | 0.73 | 0.42 | ##### Observation - diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala index 539b1d16..c3d5eb06 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala @@ -489,8 +489,8 @@ class AndroidTaintBenchSuiteCaseStudy1Test extends FunSuite with Metrics { test("computeMetricsByCriterions") { val P = 186 - val TP = 41 - val FP = 14 + val TP = 135 + val FP = 318 this.computeMetricsByCriterions(P, TP, FP) From d65801ee628eecaf9fa11e8bc5c93113e876d827 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 16:00:16 -0300 Subject: [PATCH 170/180] metrics --- README.md | 2 +- .../unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9f1f53b1..8579aa22 100644 --- a/README.md +++ b/README.md @@ -281,7 +281,7 @@ We can see the details from each test using JSVFA in the next table. | threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | | vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | | xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | -| TOTAL | 203 | 453 | - | 135 | 318 | - | - | - | +| TOTAL | 203 | 453 | - | 135 | 318 | 0.30 | 0.67 | 0.41 | | TOTAL* | 186 | 453 | - | 135 | 318 | 0.30 | 0.73 | 0.42 | ##### Observation diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala index c3d5eb06..7e278a43 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala @@ -488,7 +488,7 @@ class AndroidTaintBenchSuiteCaseStudy1Test extends FunSuite with Metrics { } test("computeMetricsByCriterions") { - val P = 186 + val P = 203 val TP = 135 val FP = 318 From de78b807ec6f805747c27f016992249f4a2a9c82 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 16:01:21 -0300 Subject: [PATCH 171/180] JSVFA metrics --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8579aa22..0a8cc1cf 100644 --- a/README.md +++ b/README.md @@ -228,9 +228,10 @@ and a slightly better `F-score(0.35)`.~~ - JSVFA metrics -| Expected | Actual | TP | FP | Precision | Recall | F-score | -|:--------:|:------:|:--:|:--:|:---------:|:------:|:-------:| -| 186 | - | - | - | - | - | - | +| Expected | Actual | TP | FP | Precision | Recall | F-score | +|:--------:|:------:|:---:|:---:|:---------:|:------:|:-------:| +| 186 | 453 | 135 | 318 | 0.30 | 0.73 | 0.42 | + - FLOWDROID metrics from Paper https://doi.org/10.1007/s10664-021-10013-5 From 0ff54fc9cc95bfc6f2b99845c0a94718880023b9 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 16:03:14 -0300 Subject: [PATCH 172/180] FLOWDROID metrics --- README.md | 6 +++--- .../cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0a8cc1cf..25fa4afd 100644 --- a/README.md +++ b/README.md @@ -235,9 +235,9 @@ and a slightly better `F-score(0.35)`.~~ - FLOWDROID metrics from Paper https://doi.org/10.1007/s10664-021-10013-5 -| Expected | Actual | TP | FP | Precision | Recall | F-score | -|:--------:|:------:|:--:|:--:|:---------:|:------:|:--------:| -| 186 | - | - | - | - | - | - | +| Expected | Actual | TP | FP | Precision | Recall | F-score | +|:--------:|:------:|:--:|:--:|:---------:|:------:|:-------:| +| 186 | 57 | 43 | 14 | 0.75 | 0.23 | 0.35 | We can see the details from each test using JSVFA in the next table. diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala index 7e278a43..e4c64e85 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala @@ -488,9 +488,9 @@ class AndroidTaintBenchSuiteCaseStudy1Test extends FunSuite with Metrics { } test("computeMetricsByCriterions") { - val P = 203 - val TP = 135 - val FP = 318 + val P = 186 + val TP = 43 + val FP = 14 this.computeMetricsByCriterions(P, TP, FP) From 96c01d2cf719786a604dea04c265b01d2a5537fc Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 16:03:37 -0300 Subject: [PATCH 173/180] comment tests --- ...AndroidTaintBenchSuiteCaseStudy1Test.scala | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala index e4c64e85..4e5dd248 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala @@ -478,22 +478,22 @@ class AndroidTaintBenchSuiteCaseStudy1Test extends FunSuite with Metrics { assert(actual == expected) } - test("metrics") { - val expected = 203 - val actual = 41 - - this.computeMetricsByResults(expected, actual) - - assert(true) - } - - test("computeMetricsByCriterions") { - val P = 186 - val TP = 43 - val FP = 14 - - this.computeMetricsByCriterions(P, TP, FP) - - assert(true) - } +// test("metrics") { +// val expected = 203 +// val actual = 41 +// +// this.computeMetricsByResults(expected, actual) +// +// assert(true) +// } +// +// test("computeMetricsByCriterions") { +// val P = 186 +// val TP = 43 +// val FP = 14 +// +// this.computeMetricsByCriterions(P, TP, FP) +// +// assert(true) +// } } From bb74a2e762d69c2bf82db0b3a0cf124123828fd9 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 16:08:58 -0300 Subject: [PATCH 174/180] CASE STUDY explanation --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 25fa4afd..d8dabbe7 100644 --- a/README.md +++ b/README.md @@ -222,9 +222,9 @@ of sources and sinks The mentioned lists can be found in https://taintbench.github.io/taintbenchSuite/, and we have stored them by individual files in `src/test/scala/br/unb/cic/android/specs`. -As a result, we got `38 failed and 1 passed of 39 test` and comparing to FLOWDROID we detect ~~the same amount of `TP(41)` -but less amount of `FP(9)` and about metric, we got a better `precision(0.82)`, the same `recall(0.22)` value -and a slightly better `F-score(0.35)`.~~ +As a result, we got `38 failed and 1 passed of 39 test` and comparing to FLOWDROID we detect a several better amount of `TP(135)` +but also a several amount of `FP(318)` and about metric, we got a significant less `precision(0.30)` due to the high amount of FP; however, +a good `recall(0.73)` value and a better `F-score(0.42)`. - JSVFA metrics @@ -286,7 +286,7 @@ We can see the details from each test using JSVFA in the next table. | TOTAL* | 186 | 453 | - | 135 | 318 | 0.30 | 0.73 | 0.42 | ##### Observation -- +- We got a big amount of FP. ## Tasks ### WIP From 06f02bcb5e5ffa57293cb42058185cf5516c451f Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 16:11:39 -0300 Subject: [PATCH 175/180] wip --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d8dabbe7..b2d378a8 100644 --- a/README.md +++ b/README.md @@ -112,7 +112,7 @@ and the tests cases are in `src/test/java/securibench`. - [3] - [5] -### TAINTBENCH: (WIP) +### TAINTBENCH: [TAINTBENCH](https://taintbench.github.io/) is a benchmark that contains a [set of old malware Android Apks](https://github.com/TaintBench/TaintBench/releases/download/TaintBenchSuite/TaintBench.zip) , and it is introduced by [Paper: TaintBench: Automatic real-world malware benchmarking of Android taint analyses](https://doi.org/10.1007/s10664-021-10013-5), @@ -290,11 +290,12 @@ We can see the details from each test using JSVFA in the next table. ## Tasks ### WIP -- [ ] Integration of Taintbench. +- [ ] Create Git Action flow. ### TO-DO - [ ] Add set up project documentation. - [ ] Integrate Securibench as a submodule. +- [ ] Compute metrics for Securibench results. - [ ] Fix bugs for Securibench in folders - [ ] Datastructure - [ ] Factory @@ -302,5 +303,7 @@ We can see the details from each test using JSVFA in the next table. - [ ] Strong Update - [ ] Aliasing +### WIP +- [X] Integration of Taintbench. [//]: # (## License) \ No newline at end of file From d66d37da4b23e20d05bee4d1b22e623a75acd4b7 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 17:46:29 -0300 Subject: [PATCH 176/180] rename to EXPERIMENT --- README.md | 4 ++-- .../cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala | 2 +- .../cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index b2d378a8..e9c01c8e 100644 --- a/README.md +++ b/README.md @@ -136,7 +136,7 @@ After that, we will compare the already computed results for FLOWDROID to our re **Disclaimer**: Although TAINTBENCH contains 203 expected [taint flows](https://taintbench.github.io/taintbenchSuite/), we have decided to use only 186 expected cases because the mentioned paper, uses as a reference, works with those amounts. -#### CASE STUDY I +#### EXPERIMENT I This case emulates **Experiment 2 - TB2** that states: @@ -211,7 +211,7 @@ We can see the details from each test using JSVFA in the next table. ##### Observation - From the 37 failing tests, 28 of them reported zero flows. -#### CASE STUDY II +#### EXPERIMENT II This case emulates **Experiment 3 - TB3** that configures: diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala index 4e5dd248..c3af3a0c 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala @@ -4,7 +4,7 @@ import br.unb.cic.metrics.Metrics import org.scalatest.FunSuite /** - * CASE STUDY 1: + * EXPERIMENT 1: * All tests are configured with sources and sinks defined in benchmark suite. * We do it using a unique "trait" that contents these lists. */ diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala index d899490d..ce487b5c 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala @@ -5,7 +5,7 @@ import br.unb.cic.metrics.Metrics import org.scalatest.FunSuite /** - * CASE STUDY 2: + * EXPERIMENT 2: * Each test is run with its associated list of sources and sinks * We do it injecting the "trait" that contents these list at the instance of the object */ From 32d1e714516c4f85f17bc860e987a578acf41cd8 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Sun, 19 Jan 2025 17:47:28 -0300 Subject: [PATCH 177/180] rename files --- ...y1Test.scala => AndroidTaintBenchSuiteExperiment1Test.scala} | 2 +- ...y2Test.scala => AndroidTaintBenchSuiteExperiment2Test.scala} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename src/test/scala/br/unb/cic/android/{AndroidTaintBenchSuiteCaseStudy1Test.scala => AndroidTaintBenchSuiteExperiment1Test.scala} (99%) rename src/test/scala/br/unb/cic/android/{AndroidTaintBenchSuiteCaseStudy2Test.scala => AndroidTaintBenchSuiteExperiment2Test.scala} (99%) diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteExperiment1Test.scala similarity index 99% rename from src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala rename to src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteExperiment1Test.scala index c3af3a0c..55cfc68c 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy1Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteExperiment1Test.scala @@ -8,7 +8,7 @@ import org.scalatest.FunSuite * All tests are configured with sources and sinks defined in benchmark suite. * We do it using a unique "trait" that contents these lists. */ -class AndroidTaintBenchSuiteCaseStudy1Test extends FunSuite with Metrics { +class AndroidTaintBenchSuiteExperiment1Test extends FunSuite with Metrics { test("in the APK backflash, we should detect 13 flow") { val expected = 13 diff --git a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteExperiment2Test.scala similarity index 99% rename from src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala rename to src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteExperiment2Test.scala index ce487b5c..182642f0 100644 --- a/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteCaseStudy2Test.scala +++ b/src/test/scala/br/unb/cic/android/AndroidTaintBenchSuiteExperiment2Test.scala @@ -9,7 +9,7 @@ import org.scalatest.FunSuite * Each test is run with its associated list of sources and sinks * We do it injecting the "trait" that contents these list at the instance of the object */ -class AndroidTaintBenchSuiteCaseStudy2Test extends FunSuite with Metrics { +class AndroidTaintBenchSuiteExperiment2Test extends FunSuite with Metrics { test("in the APK backflash, we should detect 13 flow") { val expected = 13; From d26f46cc80d340ab8518efa44bae7b71e5261fe6 Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 5 Feb 2025 23:10:26 -0300 Subject: [PATCH 178/180] create separate files for details --- README.md | 90 ++----------------------------------- taintbench-experiment-I.md | 43 ++++++++++++++++++ taintbench-experiment-II.md | 43 ++++++++++++++++++ 3 files changed, 89 insertions(+), 87 deletions(-) create mode 100644 taintbench-experiment-I.md create mode 100644 taintbench-experiment-II.md diff --git a/README.md b/README.md index e9c01c8e..51d90cff 100644 --- a/README.md +++ b/README.md @@ -164,53 +164,12 @@ and a slightly better `F-score(0.35)`. We can see the details from each test using JSVFA in the next table. -| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | -|:---------------------------------------------:|:--------:|:------:|:------:|:------:|:-----:|:---------:|:--------:|:--------:| -| backflash | 13 | 1 | FAILED | 1 | 0 | 1 | 0.08 | 0.14 | -| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| cajino_baidu | 12 | 8 | FAILED | 8 | 0 | 1 | 0.67 | 0.80 | -| chat_hook | 12 | 6 | FAILED | 6 | 0 | 1 | 0.50 | 0.67 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 9 | FAILED | 1 | 8 | 0.11 | 1.00 | 0.20 | -| dsencrypt_samp | 1 | 1 | PASSED | 1 | 0 | 1 | 1 | 1 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakedaum | 2 | 3 | FAILED | 2 | 1 | 0.67 | 1.00 | 0.80 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 2 | PASSED | 2 | 0 | 1 | 1 | 1 | -| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| proxy_samp | 17 | 11 | FAILED | 11 | 0 | 1.00 | 0.65 | 0.79 | -| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | -| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| save_me | 25 | 6 | FAILED | 6 | 0 | 1.00 | 0.24 | 0.39 | -| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| sms_send_locker_qqmagic | 6 | 2 | FAILED | 2 | 0 | 1.00 | 0.33 | 0.50 | -| smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| tetus | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| ~~TOTAL~~ | ~~203~~ | ~~50~~ | - | ~~41~~ | ~~9~~ | ~~0.82~~ | ~~0.20~~ | ~~0.32~~ | -| TOTAL* | 186 | 50 | - | 41 | 9 | 0.82 | 0.22 | 0.35 | +To have detailed information about each group of tests run, [see here.](taintbench-experiment-I.md), ##### Observation - From the 37 failing tests, 28 of them reported zero flows. + #### EXPERIMENT II This case emulates **Experiment 3 - TB3** that configures: @@ -239,51 +198,8 @@ a good `recall(0.73)` value and a better `F-score(0.42)`. |:--------:|:------:|:--:|:--:|:---------:|:------:|:-------:| | 186 | 57 | 43 | 14 | 0.75 | 0.23 | 0.35 | -We can see the details from each test using JSVFA in the next table. -| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | -|:------------------------------------------:|:--------:|:------:|:------:|:---:|:---:|:---------:|:------:|:-------:| -| backflash | 13 | 20 | FAILED | 13 | 7 | 0.65 | 1.00 | 0.79 | -| beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | -| cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | -| chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | -| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | -| dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | -| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | -| fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | -| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | -| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | -| jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | -| overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | -| overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | -| phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | -| proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | -| remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | -| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | -| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | -| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | -| sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | -| smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | -| smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | -| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | -| stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | -| tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | -| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | -| vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | -| xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | -| TOTAL | 203 | 453 | - | 135 | 318 | 0.30 | 0.67 | 0.41 | -| TOTAL* | 186 | 453 | - | 135 | 318 | 0.30 | 0.73 | 0.42 | +To have detailed information about each group of tests run, [see here.](taintbench-experiment-II.md), ##### Observation - We got a big amount of FP. diff --git a/taintbench-experiment-I.md b/taintbench-experiment-I.md new file mode 100644 index 00000000..01886cce --- /dev/null +++ b/taintbench-experiment-I.md @@ -0,0 +1,43 @@ +| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | +|:---------------------------------------------:|:--------:|:------:|:------:|:------:|:-----:|:---------:|:--------:|:--------:| +| backflash | 13 | 1 | FAILED | 1 | 0 | 1 | 0.08 | 0.14 | +| beita_com_beita_contact | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| cajino_baidu | 12 | 8 | FAILED | 8 | 0 | 1 | 0.67 | 0.80 | +| chat_hook | 12 | 6 | FAILED | 6 | 0 | 1 | 0.50 | 0.67 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 9 | FAILED | 1 | 8 | 0.11 | 1.00 | 0.20 | +| dsencrypt_samp | 1 | 1 | PASSED | 1 | 0 | 1 | 1 | 1 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakedaum | 2 | 3 | FAILED | 2 | 1 | 0.67 | 1.00 | 0.80 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeplay | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 2 | PASSED | 2 | 0 | 1 | 1 | 1 | +| jollyserv | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| overlay_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| overlaylocker2_android_samp | 7 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| phospy | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| proxy_samp | 17 | 11 | FAILED | 11 | 0 | 1.00 | 0.65 | 0.79 | +| remote_control_smack | 17 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| save_me | 25 | 6 | FAILED | 6 | 0 | 1.00 | 0.24 | 0.39 | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| sms_google | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| sms_send_locker_qqmagic | 6 | 2 | FAILED | 2 | 0 | 1.00 | 0.33 | 0.50 | +| smssend_packageInstaller | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| smssilience_fake_vertu | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| smsstealer_kysn_assassincreed_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| stels_flashplayer_android_update | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| tetus | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| vibleaker_android_samp | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| xbot_android_samp | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| ~~TOTAL~~ | ~~203~~ | ~~50~~ | - | ~~41~~ | ~~9~~ | ~~0.82~~ | ~~0.20~~ | ~~0.32~~ | +| TOTAL* | 186 | 50 | - | 41 | 9 | 0.82 | 0.22 | 0.35 | diff --git a/taintbench-experiment-II.md b/taintbench-experiment-II.md new file mode 100644 index 00000000..7d923240 --- /dev/null +++ b/taintbench-experiment-II.md @@ -0,0 +1,43 @@ +| APK | Expected | Actual | Status | TP | FP | Precision | Recall | F-score | +|:------------------------------------------:|:--------:|:------:|:------:|:---:|:---:|:---------:|:------:|:-------:| +| backflash | 13 | 20 | FAILED | 13 | 7 | 0.65 | 1.00 | 0.79 | +| beita_com_beita_contact | 3 | 14 | FAILED | 3 | 11 | 0.21 | 1.00 | 0.35 | +| cajino_baidu | 12 | 95 | FAILED | 12 | 83 | 0.13 | 1.00 | 0.22 | +| chat_hook | 12 | 15 | FAILED | 12 | 3 | 0.80 | 1.00 | 0.89 | +| chulia | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| death_ring_materialflow | 1 | 45 | FAILED | 1 | 44 | 0.02 | 1.00 | 0.04 | +| dsencrypt_samp | 1 | 2 | FAILED | 1 | 1 | 0.50 | 1.00 | 0.67 | +| exprespam | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeappstore | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakebank_android_samp | 5 | 6 | FAILED | 5 | 1 | 0.83 | 1.00 | 0.91 | +| fakedaum | 2 | 10 | FAILED | 2 | 8 | 0.20 | 1.00 | 0.33 | +| fakemart | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| fakeplay | 2 | 15 | FAILED | 2 | 13 | 0.13 | 1.00 | 0.24 | +| faketaobao | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| godwon_samp | 6 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| hummingbad_android_samp | 2 | 23 | FAILED | 2 | 21 | 0.09 | 1.00 | 0.16 | +| jollyserv | 1 | 7 | FAILED | 1 | 6 | 0.14 | 1.00 | 0.25 | +| overlay_android_samp | 4 | 8 | FAILED | 4 | 4 | 0.50 | 1.00 | 0.67 | +| overlaylocker2_android_samp | 7 | 35 | FAILED | 7 | 28 | 0.20 | 1.00 | 0.33 | +| phospy | 2 | 1 | FAILED | 1 | 0 | 1.00 | 0.50 | 0.67 | +| proxy_samp | 17 | 21 | FAILED | 17 | 4 | 0.81 | 1.00 | 0.89 | +| remote_control_smack | 17 | 6 | FAILED | 6 | 0 | 1.00 | 0.35 | 0.52 | +| repane | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| Roidsec | 6 | 1 | FAILED | 1 | 0 | 1.00 | 0.17 | 0.29 | +| samsapo | 4 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| save_me | 25 | 15 | FAILED | 15 | 0 | 1.00 | 0.60 | 0.75 | +| scipiex | 3 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| slocker_android_samp | 5 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| sms_google | 4 | 13 | FAILED | 4 | 9 | 0.31 | 1.00 | 0.47 | +| sms_send_locker_qqmagic | 6 | 9 | FAILED | 6 | 3 | 0.67 | 1.00 | 0.80 | +| smssend_packageInstaller | 5 | 46 | FAILED | 5 | 41 | 0.11 | 1.00 | 0.20 | +| smssilience_fake_vertu | 2 | 2 | PASSED | 2 | 0 | 1.00 | 1.00 | 1.00 | +| smsstealer_kysn_assassincreed_android_samp | 5 | 1 | FAILED | 1 | 0 | 1.00 | 0.20 | 0.33 | +| stels_flashplayer_android_update | 3 | 19 | FAILED | 3 | 16 | 0.16 | 1.00 | 0.27 | +| tetus | 2 | 11 | FAILED | 2 | 9 | 0.18 | 1.00 | 0.31 | +| the_interview_movieshow | 1 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| threatjapan_uracto | 2 | 0 | FAILED | 0 | 0 | 0 | 0 | 0 | +| vibleaker_android_samp | 4 | 5 | FAILED | 4 | 1 | 0.80 | 1.00 | 0.89 | +| xbot_android_samp | 3 | 8 | FAILED | 3 | 5 | 0.38 | 1.00 | 0.55 | +| TOTAL | 203 | 453 | - | 135 | 318 | 0.30 | 0.67 | 0.41 | +| TOTAL* | 186 | 453 | - | 135 | 318 | 0.30 | 0.73 | 0.42 | \ No newline at end of file From 8d1a79ac60ab5d60864ddf99f15109b2a45699aa Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 5 Feb 2025 23:13:21 -0300 Subject: [PATCH 179/180] securibench metrics --- README.md | 132 ++++++++++++++++++++++++++++++++---------------------- 1 file changed, 78 insertions(+), 54 deletions(-) diff --git a/README.md b/README.md index 51d90cff..6f0f8cdd 100644 --- a/README.md +++ b/README.md @@ -57,60 +57,84 @@ This project integrates 2 well-known benchmarks. ### Securibench -This benchmark was integrated because it is also used in the [FlowDroid Project](https://github.com/secure-software-engineering/FlowDroid) -and the tests cases are in `src/test/java/securibench`. - -> failed: 0, passed: 71, ignored: 32 of 103 test (68.93%) - -- **AliasingTest** - failed: 0, passed: 4, ignored: 2 of 6 test `(66.7%)` - - [5] - - [6] - -- **ArraysTest** - failed: 0, passed: 5, ignored: 5 of 10 test `(50%)` - - [2] - - [5] - - [8] - - [9] - - [10] - -- **BasicTest** - failed: 0, passed: 38, ignored: 3 of 41 test `(92.68%)`; [40] does not exist - - [36] - - [38] - - [42] - -- **CollectionTest** - failed: 0, passed: 3, ignored: 12 of 15 test `(20%)` - - [3] - - [4] - - [5] - - [6] - - [7] - - [8] - - [9] - - [10] - - [11] * There are any assertions here, it calls test [11b] - - [11b] - - [12] - - [13] - -- **DataStructureTest** - failed: 0, passed: 5, ignored: 1 of 6 test `(83.33%)` - - [5] - -- **FactoryTest** - failed: 0, passed: 2, ignored: 1 of 3 test `(66.67%)` - - [3] - -- **InterTest** - failed: 0, passed:11, ignored: 3 of 14 test `(78.57%)` - - [6] - - [11] - flaky - - [12] - -- **SessionTest** - failed: 0, passed: 0, ignored: 3 of 3 test `(0%)` - - [1] - - [2] - - [3] - -- **StrongUpdateTest** - failed: 0, passed: 3, ignored: 2 of 5 test `(60%)` - - [3] - - [5] +This benchmark was integrated because it is also used in the [FlowDroid Project](https://github.com/secure-software-engineering/FlowDroid) and tests cases are in `src/test/java/securibench`. + +#### JSVFA metrics (old) + +> failed: 0, passed: 63, ignored: 39 of 102 tests. + +| Test | TP | FP | +|:-------------:|:------:|:--:| +| Aliasing | 10/11 | 0 | +| Array | 0/9 | 0 | +| Basic | 56/59 | 2 | +| Collection | 2/14 | 1 | +| DataStructure | 5/5 | 2 | +| Factory | 3/3 | 1 | +| Inter | 10/16 | 0 | +| Session | 0/3 | 0 | +| StrongUpdate | 0/1 | 0 | +| **TOTAL** | 86/121 | 6 | + +- **Precision:** 0.93 +- **Recall:** 0.71 +- **F-score:** 0.81 + +To have detailed information about each group of tests run, [see here.](old-metrics) (*computed in in March, 2023.*) + +#### JSVFA 2.0 metrics + +> failed: 0, passed: 70, ignored: 32 of 102 tests + +| Test | TP | FP | +|:-------------:|:------:|:---:| +| Aliasing | 4/11 | 0 | +| Array | 7/9 | 4 | +| Basic | 57/59 | 1 | +| Collection | 4/14 | 0 | +| DataStructure | 4/5 | 1 | +| Factory | 3/3 | 1 | +| Inter | 12/16 | 0 | +| Session | 0/3 | 0 | +| StrongUpdate | 1/1 | 2 | +| **TOTAL** | 92/121 | 9 | + +- **Precision:** 0.91 +- **Recall:** 0.76 +- **F-score:** 0.83 + +To have detailed information about each group of tests run, [see here.](new-metrics) + +#### FLOWDROID metrics from [Paper](https://www.bodden.de/pubs/far+14flowdroid.pdf) + +| Test | TP | FP | +|:-------------:|:-------:|:---:| +| Aliasing | 11/11 | 0 | +| Array | 9/9 | 4 | +| Basic | 58/60 | 1 | +| Collection | 14/14 | 0 | +| DataStructure | 5/5 | 1 | +| Factory | 3/3 | 1 | +| Inter | 14/16 | 0 | +| Session | 3/3 | 0 | +| StrongUpdate | 0/0 | 2 | +| **TOTAL** | 117/121 | 9 | + +- **Precision:** 0.93 +- **Recall:** 0.97 +- **F-score:** 0.95 + +**OBSERVATIONS** +- Flowdroid is not taking in count the TP expected in StrongUpdate4; +- Test Basic40 is commented in the test suite so the amount of TP differs from the original run by Flowdroid; + +#### METRICS SUMMARY + +| Frameworks | Precision | Recall | F-score | +|:----------:|:---------:|:------:|:-------:| +| JSVFA | 0.93 | 0.71 | 0.81 | +| JSVFA 2.0 | 0.91 | 0.76 | 0.83 | +| Basic | 0.93 | 0.97 | 0.95 | ### TAINTBENCH: From 2dcdf912eb756b4aae8e8a0597cf3e618277b90b Mon Sep 17 00:00:00 2001 From: jose clavo tafur Date: Wed, 5 Feb 2025 23:21:48 -0300 Subject: [PATCH 180/180] remove unnecessary comments --- README.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index d79e2449..4ac9d6f1 100644 --- a/README.md +++ b/README.md @@ -173,7 +173,7 @@ As a result, we got `37 failed and 2 passed of 39 tests` and comparing to FLOWDR but less amount of `FP(9)` and about metrics, we got a better `precision(0.82)`, the same `recall(0.22)` value and a slightly better `F-score(0.35)`. -- JSVFA metrics +- JSVFA metrics, to have detailed information about each group of tests run, [see here.](taintbench-experiment-I.md) | Expected | Actual | TP | FP | Precision | Recall | F-score | |:--------:|:------:|:--:|:--:|:---------:|:------:|:--------:| @@ -185,11 +185,6 @@ and a slightly better `F-score(0.35)`. |:--------:|:------:|:--:|:--:|:---------:|:------:|:--------:| | 186 | 55 | 41 | 14 | 0.75 | 0.22 | 0.34 | - -We can see the details from each test using JSVFA in the next table. - -To have detailed information about each group of tests run, [see here.](taintbench-experiment-I.md), - ##### Observation - From the 37 failing tests, 28 of them reported zero flows. @@ -209,7 +204,8 @@ As a result, we got `38 failed and 1 passed of 39 test` and comparing to FLOWDRO but also a several amount of `FP(318)` and about metric, we got a significant less `precision(0.30)` due to the high amount of FP; however, a good `recall(0.73)` value and a better `F-score(0.42)`. -- JSVFA metrics +- JSVFA metrics, to have detailed information about each group of tests run, [see here.](taintbench-experiment-II.md) + | Expected | Actual | TP | FP | Precision | Recall | F-score | |:--------:|:------:|:---:|:---:|:---------:|:------:|:-------:| @@ -223,8 +219,6 @@ a good `recall(0.73)` value and a better `F-score(0.42)`. | 186 | 57 | 43 | 14 | 0.75 | 0.23 | 0.35 | -To have detailed information about each group of tests run, [see here.](taintbench-experiment-II.md), - ##### Observation - We got a big amount of FP.