From af49c93214f5e0aeac817f5d3bb5f8eb482c7503 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:46:01 +0200 Subject: [PATCH 01/78] Delete expected-info-flows.json content Removed expected info flows from JSON file. --- .../StrongUpdate1/expected-info-flows.json | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/projects/Aliasing/StrongUpdate1/expected-info-flows.json b/projects/Aliasing/StrongUpdate1/expected-info-flows.json index f6415a1d..8b137891 100644 --- a/projects/Aliasing/StrongUpdate1/expected-info-flows.json +++ b/projects/Aliasing/StrongUpdate1/expected-info-flows.json @@ -1,15 +1 @@ -{ - "expected-info-flows": - [ - { - "Sink": "android.telephony.SmsManager: void sendTextMessage(java.lang.String,java.lang.String,java.lang.String,android.app.PendingIntent,android.app.PendingIntent)", - "Method": "de.ecspride.MainActivity: void aliasFlowTest()", - "Line": 61 - }, - { - "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", - "Method": "de.ecspride.MainActivity: void aliasFlowTest()", - "Line": 47 - } - ] -} + From 42f28fa068028141e3fe65701434ff12533e1e12 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:46:46 +0200 Subject: [PATCH 02/78] Add expected-info-flows.json with initial structure --- projects/Aliasing/StrongUpdate1/expected-info-flows.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/projects/Aliasing/StrongUpdate1/expected-info-flows.json b/projects/Aliasing/StrongUpdate1/expected-info-flows.json index 8b137891..ac6d5496 100644 --- a/projects/Aliasing/StrongUpdate1/expected-info-flows.json +++ b/projects/Aliasing/StrongUpdate1/expected-info-flows.json @@ -1 +1,5 @@ - +{ + "expected-info-flows": + [ + ] +} From 766f5ec203f25335794383b78365f1033b0ae933 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:47:19 +0200 Subject: [PATCH 03/78] Correct data flow and leak information in MainActivity Updated documentation to reflect changes in data flow and leak status. --- .../app/src/main/java/de/ecspride/MainActivity.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/Aliasing/StrongUpdate1/app/src/main/java/de/ecspride/MainActivity.java b/projects/Aliasing/StrongUpdate1/app/src/main/java/de/ecspride/MainActivity.java index 94942f30..35682a2e 100644 --- a/projects/Aliasing/StrongUpdate1/app/src/main/java/de/ecspride/MainActivity.java +++ b/projects/Aliasing/StrongUpdate1/app/src/main/java/de/ecspride/MainActivity.java @@ -19,8 +19,8 @@ * * @description Sensitive data is assigned to a heap object, but then overwritten * before it is leaked - * @dataflow source -> heap object -> alias -> leak - * @number_of_leaks 1 + * @dataflow source -> heap object -> alias -> no leak + * @number_of_leaks 0 * @challenges The alias analysis must support strong updates for not causing a * false positive. */ @@ -58,7 +58,7 @@ private void aliasFlowTest() { A f = e.attr; SmsManager sms = SmsManager.getDefault(); - sms.sendTextMessage("+49 1234", null, f.b, null, null); // sink, leak + sms.sendTextMessage("+49 1234", null, f.b, null, null); // sink, no leak } } From b6a500457b93381611358d533e59e1091e860140 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:47:54 +0200 Subject: [PATCH 04/78] Update source reference in expected-info-flows.json --- .../PrivateDataLeak2/expected-info-flows.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/projects/AndroidSpecific/PrivateDataLeak2/expected-info-flows.json b/projects/AndroidSpecific/PrivateDataLeak2/expected-info-flows.json index 3c873499..5275a62d 100644 --- a/projects/AndroidSpecific/PrivateDataLeak2/expected-info-flows.json +++ b/projects/AndroidSpecific/PrivateDataLeak2/expected-info-flows.json @@ -7,12 +7,9 @@ "Line": 26 }, { - "Source": "android.app.Activity: android.view.View findViewById(int)", + "Source": "de.ecspride.PrivateDataLeak2: android.view.View findViewById(int)", "Method": "de.ecspride.PrivateDataLeak2: void onCreate(android.os.Bundle)", "Line": 25 } ] } - - - From 13387956f40bd4037aae7492e2ff33693583ee46 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:48:17 +0200 Subject: [PATCH 05/78] Update expected-info-flows.json --- .../PublicAPIField2/expected-info-flows.json | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/projects/AndroidSpecific/PublicAPIField2/expected-info-flows.json b/projects/AndroidSpecific/PublicAPIField2/expected-info-flows.json index 75ee427f..c5fd1d78 100644 --- a/projects/AndroidSpecific/PublicAPIField2/expected-info-flows.json +++ b/projects/AndroidSpecific/PublicAPIField2/expected-info-flows.json @@ -10,7 +10,16 @@ "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", "Method": "edu.mit.icc_intent_class_modeling.MainActivity: void onCreate(android.os.Bundle)", "Line": 26 - } - + }, + { + "Sink": "android.content.Intent: android.content.Intent setAction(java.lang.String)", + "Method": "edu.mit.icc_intent_class_modeling.MainActivity: void onCreate(android.os.Bundle)", + "Line": 29 + }, + { + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "edu.mit.icc_intent_class_modeling.MainActivity: void onCreate(android.os.Bundle)", + "Line": 26 + } ] } From 5c4d0b3e7547116386df547f55e0da94d76e64cb Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:49:17 +0200 Subject: [PATCH 06/78] Fix leak documentation and log statements in MainActivity Updated the number of leaks in the documentation and adjusted log statements to prevent leaks. --- .../app/src/main/java/de/ecspride/MainActivity.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/Callbacks/Ordering1/app/src/main/java/de/ecspride/MainActivity.java b/projects/Callbacks/Ordering1/app/src/main/java/de/ecspride/MainActivity.java index 6a079213..e12fafe7 100644 --- a/projects/Callbacks/Ordering1/app/src/main/java/de/ecspride/MainActivity.java +++ b/projects/Callbacks/Ordering1/app/src/main/java/de/ecspride/MainActivity.java @@ -20,7 +20,7 @@ * @description This example leaks variable contents before the handler initializing them is * even registered * @dataflow onLocationChanged: source -> latitude, longtitude; onCreate: latitude -> sink, longtitude -> sink - * @number_of_leaks 2 + * @number_of_leaks 0 * @challenges The analysis must take the order of callback registration and sink call * into account. */ @@ -34,8 +34,8 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - Log.d("Latitude", "Latitude: " + latitude); //sink, leak - Log.d("Longtitude", "Longtitude: " + longtitude); //sink, leak + Log.d("Latitude", "Latitude: " + latitude); //sink, no leak + Log.d("Longtitude", "Longtitude: " + longtitude); //sink, no leak } @Override From 1ce2a478c725ddfff24929f8780be4939ee99af8 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:49:40 +0200 Subject: [PATCH 07/78] Update expected-info-flows.json --- .../Ordering1/expected-info-flows.json | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/projects/Callbacks/Ordering1/expected-info-flows.json b/projects/Callbacks/Ordering1/expected-info-flows.json index 929bbd4d..ac6d5496 100644 --- a/projects/Callbacks/Ordering1/expected-info-flows.json +++ b/projects/Callbacks/Ordering1/expected-info-flows.json @@ -1,25 +1,5 @@ { "expected-info-flows": [ - { - "Sink": "android.util.Log: int d(java.lang.String,java.lang.String)", - "Method": "de.ecspride.MainActivity: void onCreate(android.os.Bundle)", - "Line": 37 - }, - { - "Source": "android.location.Location: double getLatitude()", - "Method": "de.ecspride.MainActivity$3: void onLocationChanged(android.location.Location)", - "Line": 72 - }, - { - "Sink": "android.util.Log: int d(java.lang.String,java.lang.String)", - "Method": "de.ecspride.MainActivity: void onCreate(android.os.Bundle)", - "Line": 38 - }, - { - "Source": "android.location.Location: double getLongitude()", - "Method": "de.ecspride.MainActivity$3: void onLocationChanged(android.location.Location)", - "Line": 73 - } ] } From 105fcc21315fabae66c43541e2226ee7282739ed Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:50:09 +0200 Subject: [PATCH 08/78] Fix method reference in expected-info-flows.json --- projects/Callbacks/AnonymousClass1/expected-info-flows.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/projects/Callbacks/AnonymousClass1/expected-info-flows.json b/projects/Callbacks/AnonymousClass1/expected-info-flows.json index 46b6bb3b..302e6925 100644 --- a/projects/Callbacks/AnonymousClass1/expected-info-flows.json +++ b/projects/Callbacks/AnonymousClass1/expected-info-flows.json @@ -8,14 +8,13 @@ }, { "Source": "android.location.Location: double getLatitude()", - "Method": "de.ecspride.AnonymousClass1: void onLocationChanged(android.location.Location)", + "Method": "de.ecspride.AnonymousClass1$1: void onLocationChanged(android.location.Location)", "Line": 45 }, { "Source": "android.location.Location: double getLongitude()", - "Method": "de.ecspride.AnonymousClass1: void onLocationChanged(android.location.Location)", + "Method": "de.ecspride.AnonymousClass1$1: void onLocationChanged(android.location.Location)", "Line": 46 } - ] } From 1585d87803e9255bc88e8652e5d2f7e0f23e18d8 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:50:28 +0200 Subject: [PATCH 09/78] Update expected-info-flows.json --- projects/EmulatorDetection/Battery1/expected-info-flows.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/EmulatorDetection/Battery1/expected-info-flows.json b/projects/EmulatorDetection/Battery1/expected-info-flows.json index f439378c..020bc201 100644 --- a/projects/EmulatorDetection/Battery1/expected-info-flows.json +++ b/projects/EmulatorDetection/Battery1/expected-info-flows.json @@ -3,12 +3,12 @@ [ { "Sink": "android.telephony.SmsManager: void sendTextMessage(java.lang.String,java.lang.String,java.lang.String,android.app.PendingIntent,android.app.PendingIntent)", - "Method": "com.example.newedtester.MainActivity$2: void onReceive(android.content.Context,android.content.Intent)", + "Method": "com.example.newedtester.MainActivity$1: void onReceive(android.content.Context,android.content.Intent)", "Line": 59 }, { "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", - "Method": "com.example.newedtester.MainActivity$2: void onReceive(android.content.Context,android.content.Intent)", + "Method": "com.example.newedtester.MainActivity$1: void onReceive(android.content.Context,android.content.Intent)", "Line": 55 } ] From d6d832a120d688dbc0243e0fa4362c8125c1e761 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:50:47 +0200 Subject: [PATCH 10/78] Update expected-info-flows.json --- .../GeneralJava/Exceptions3/expected-info-flows.json | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/projects/GeneralJava/Exceptions3/expected-info-flows.json b/projects/GeneralJava/Exceptions3/expected-info-flows.json index c1803292..ac6d5496 100644 --- a/projects/GeneralJava/Exceptions3/expected-info-flows.json +++ b/projects/GeneralJava/Exceptions3/expected-info-flows.json @@ -1,15 +1,5 @@ { "expected-info-flows": [ - { - "Sink": "android.telephony.SmsManager: void sendTextMessage(java.lang.String,java.lang.String,java.lang.String,android.app.PendingIntent,android.app.PendingIntent)", - "Method": "de.ecspride.Exceptions3: void onCreate(android.os.Bundle)", - "Line": 37 - }, - { - "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", - "Method": "de.ecspride.Exceptions3: void onCreate(android.os.Bundle)", - "Line": 30 - } ] } From 44a1f01f80817dbd6ff15a2528a7f26dcea034c2 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:51:17 +0200 Subject: [PATCH 11/78] Remove expected info flows from JSON file Removed expected info flows related to SMS and device ID. --- .../GeneralJava/Exceptions7/expected-info-flows.json | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/projects/GeneralJava/Exceptions7/expected-info-flows.json b/projects/GeneralJava/Exceptions7/expected-info-flows.json index e321ec15..ac6d5496 100644 --- a/projects/GeneralJava/Exceptions7/expected-info-flows.json +++ b/projects/GeneralJava/Exceptions7/expected-info-flows.json @@ -1,15 +1,5 @@ { "expected-info-flows": [ - { - "Sink": "android.telephony.SmsManager: void sendTextMessage(java.lang.String,java.lang.String,java.lang.String,android.app.PendingIntent,android.app.PendingIntent)", - "Method": "de.ecspride.Exceptions7: void onCreate(android.os.Bundle)", - "Line": 35 - }, - { - "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", - "Method": "de.ecspride.Exceptions7: void callMe()", - "Line": 41 - } ] } From 8449f7bfe7ddde947cafa876f539a2dcb7a46e21 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:51:48 +0200 Subject: [PATCH 12/78] Update expected-info-flows.json --- .../GeneralJava/StaticInitialization2/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/GeneralJava/StaticInitialization2/expected-info-flows.json b/projects/GeneralJava/StaticInitialization2/expected-info-flows.json index 37b9f577..49fa84f6 100644 --- a/projects/GeneralJava/StaticInitialization2/expected-info-flows.json +++ b/projects/GeneralJava/StaticInitialization2/expected-info-flows.json @@ -8,7 +8,7 @@ }, { "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", - "Method": "de.ecspride.MainActivity$StaticInitClass1: void <clinit>leak", + "Method": "de.ecspride.MainActivity$StaticInitClass1: void <clinit>", "Line": 37 } ] From 11b8e2ef3adbcd3e2f8ee020b177dae29fcfdc55 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:52:27 +0200 Subject: [PATCH 13/78] Update Sink method in expected-info-flows.json --- .../DeviceId_Broadcast1/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Broadcast1/expected-info-flows.json b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Broadcast1/expected-info-flows.json index 7ecc9ffb..4de9ad00 100644 --- a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Broadcast1/expected-info-flows.json +++ b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Broadcast1/expected-info-flows.json @@ -2,7 +2,7 @@ "expected-info-flows": [ { - "Sink": "android.app.Activity: void startActivity(android.content.Intent)", + "Sink": "android.content.Context: void startActivity(android.content.Intent)", "Method": "com.example.deviceid_broadcast.broadcast_deviceid: void onReceive(android.content.Context,android.content.Intent)", "Line": 31 }, From 70b569e887565b316df33e8204ebb88afba267d2 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:52:58 +0200 Subject: [PATCH 14/78] Update expected info flows for DeviceId content provider --- .../DeviceId_contentProvider1/expected-info-flows.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_contentProvider1/expected-info-flows.json b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_contentProvider1/expected-info-flows.json index f56497b3..c59d33ec 100644 --- a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_contentProvider1/expected-info-flows.json +++ b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_contentProvider1/expected-info-flows.json @@ -2,9 +2,9 @@ "expected-info-flows": [ { - "Sink": "android.content.Intent: android.content.Intent putExtra(java.lang.String,java.lang.String)", + "Sink": "android.app.Activity: void startActivity(android.content.Intent)", "Method": "com.example.deviceid_contentprovider1.MainActivity: void sendDeviceId()", - "Line": 102 + "Line": 103 }, { "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", From 55b68ba2b305220477430cc116b00646eef394fd Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:54:43 +0200 Subject: [PATCH 15/78] Update expected-info-flows.json --- .../DeviceId_OrderedIntent1/expected-info-flows.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/expected-info-flows.json b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/expected-info-flows.json index a63e3cef..cd30490c 100644 --- a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/expected-info-flows.json +++ b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/expected-info-flows.json @@ -2,9 +2,9 @@ "expected-info-flows": [ { - "Sink": "android.app.Activity: void sendOrderedBroadcast(android.content.Intent,java.lang.String)", - "Method": "com.example.deviceid_orderedintent.MainActivity$1: void onClick(android.view.View)", - "Line": 47 + "Sink": "android.content.Context: void startActivity(android.content.Intent)", + "Method": "com.example.deviceid_orderedintent.Receiver2: void onReceive(android.content.Context,android.content.Intent)", + "Line": 17 }, { "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", From f374ad9352c0ca370ae60fbbe85ecf096be51c87 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:55:45 +0200 Subject: [PATCH 16/78] Update Sink method in expected-info-flows.json --- .../DeviceIDLeakage/DeviceId_Service1/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Service1/expected-info-flows.json b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Service1/expected-info-flows.json index 811c7af5..ad512ff1 100644 --- a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Service1/expected-info-flows.json +++ b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Service1/expected-info-flows.json @@ -2,7 +2,7 @@ "expected-info-flows": [ { - "Sink": "android.app.Activity: void startActivity(android.content.Intent)", + "Sink": "android.content.ContextWrapper: void startActivity(android.content.Intent)", "Method": "com.example.deviceid_service.Service_deviceid: void onStart(android.content.Intent,int)", "Line": 38 }, From b4df5dc1a94e7857f968c944d1f5cbc9339ec094 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:56:10 +0200 Subject: [PATCH 17/78] Update expected-info-flows.json with new data flows Added new source and sink information for data flow. --- .../Echoer/expected-info-flows.json | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/projects/InterAppCommunication/Echoer/expected-info-flows.json b/projects/InterAppCommunication/Echoer/expected-info-flows.json index 79be0337..d0a1d576 100644 --- a/projects/InterAppCommunication/Echoer/expected-info-flows.json +++ b/projects/InterAppCommunication/Echoer/expected-info-flows.json @@ -20,6 +20,16 @@ "Source": "android.content.Intent: android.net.Uri getData()", "Method": "org.cert.echoer.MainActivity: void getDataFromIntent()", "Line": 49 + }, + { + "Sink": "android.app.Activity: void setResult(int,android.content.Intent)", + "Method": "org.cert.echoer.Button1Listener: void onClick(android.view.View)", + "Line": 21 + }, + { + "Source": "android.app.Activity: android.content.Intent getIntent()", + "Method": "org.cert.echoer.MainActivity: void getDataFromIntent()", + "Line": 42 } ] } From 34493cf24acb91765085378dcb72d0eba85d5612 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:57:20 +0200 Subject: [PATCH 18/78] Update Sink reference from Activity to Context --- .../Location_Broadcast1/expected-info-flows.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/InterAppCommunication/LocationLeakage/Location_Broadcast1/expected-info-flows.json b/projects/InterAppCommunication/LocationLeakage/Location_Broadcast1/expected-info-flows.json index 040fef79..82263e7d 100644 --- a/projects/InterAppCommunication/LocationLeakage/Location_Broadcast1/expected-info-flows.json +++ b/projects/InterAppCommunication/LocationLeakage/Location_Broadcast1/expected-info-flows.json @@ -2,7 +2,7 @@ "expected-info-flows": [ { - "Sink": "android.app.Activity: void startActivity(android.content.Intent)", + "Sink": "android.content.Context: void startActivity(android.content.Intent)", "Method": "com.example.location_broadcast.location_broadcast: void onReceive(android.content.Context,android.content.Intent)", "Line": 40 }, @@ -12,7 +12,7 @@ "Line": 48 }, { - "Sink": "android.app.Activity: void startActivity(android.content.Intent)", + "Sink": "android.content.Context: void startActivity(android.content.Intent)", "Method": "com.example.location_broadcast.location_broadcast: void onReceive(android.content.Context,android.content.Intent)", "Line": 40 }, From d60be2bc967fb6d97ddbc0bdd51227e5064617f3 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:57:56 +0200 Subject: [PATCH 19/78] Update Sink reference in expected-info-flows.json --- .../Location_Service1/expected-info-flows.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/InterAppCommunication/LocationLeakage/Location_Service1/expected-info-flows.json b/projects/InterAppCommunication/LocationLeakage/Location_Service1/expected-info-flows.json index 41bad13e..a118aedc 100644 --- a/projects/InterAppCommunication/LocationLeakage/Location_Service1/expected-info-flows.json +++ b/projects/InterAppCommunication/LocationLeakage/Location_Service1/expected-info-flows.json @@ -2,7 +2,7 @@ "expected-info-flows": [ { - "Sink": "android.app.Activity: void startActivity(android.content.Intent)", + "Sink": "android.content.ContextWrapper: void startActivity(android.content.Intent)", "Method": "com.example.location_service.Locationservice: void onDestroy()", "Line": 56 }, @@ -12,7 +12,7 @@ "Line": 45 }, { - "Sink": "android.app.Activity: void startActivity(android.content.Intent)", + "Sink": "android.content.ContextWrapper: void startActivity(android.content.Intent)", "Method": "com.example.location_service.Locationservice: void onDestroy()", "Line": 56 }, From 370a0742435d88f4f27c5460a5b28ec4989ea7f9 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 09:58:25 +0200 Subject: [PATCH 20/78] Update MainActivity.java --- .../app/src/main/java/org/cert/WriteFile/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java b/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java index 8364d410..fd608a74 100644 --- a/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java +++ b/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java @@ -22,7 +22,7 @@ * startActivityForResult which writes it to a file. * @dataflow getLastKnownLocation -> startActivityForResult * -> onActivityResult -> FileOutputStream - * @number_of_leaks 1 + * @number_of_leaks 6 * @challenges Inter-component communication using startActivityForResult * must be handled correctly */ From 5f719eaec802b2cd601bfab4d1aabc1374bff4d8 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:01:48 +0200 Subject: [PATCH 21/78] Update expected-info-flows.json --- .../ComponentNotInManifest1/expected-info-flows.json | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/projects/InterComponentCommunication/ComponentNotInManifest1/expected-info-flows.json b/projects/InterComponentCommunication/ComponentNotInManifest1/expected-info-flows.json index a7abd9d8..ac6d5496 100644 --- a/projects/InterComponentCommunication/ComponentNotInManifest1/expected-info-flows.json +++ b/projects/InterComponentCommunication/ComponentNotInManifest1/expected-info-flows.json @@ -1,15 +1,5 @@ { "expected-info-flows": [ - { - "Sink": "android.util.Log: int i(java.lang.String,java.lang.String)", - "Method": "edu.mit.icc_component_not_in_manifest.InFlowActivity: void onCreate(android.os.Bundle)", - "Line": 18 - }, - { - "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", - "Method": "edu.mit.icc_component_not_in_manifest.OutFlowActivity: void onCreate(android.os.Bundle)", - "Line": 26 - } ] } From c208b244aa46e49a8b6b965de76733ca0380e402 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:02:22 +0200 Subject: [PATCH 22/78] Update expected-info-flows.json --- .../BroadcastTaintAndLeak1/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterComponentCommunication/BroadcastTaintAndLeak1/expected-info-flows.json b/projects/InterComponentCommunication/BroadcastTaintAndLeak1/expected-info-flows.json index eec330be..fdc54140 100644 --- a/projects/InterComponentCommunication/BroadcastTaintAndLeak1/expected-info-flows.json +++ b/projects/InterComponentCommunication/BroadcastTaintAndLeak1/expected-info-flows.json @@ -3,7 +3,7 @@ [ { "Sink": "android.util.Log: int i(java.lang.String,java.lang.String)", - "Method": "edu.mit.icc_broadcast_programmatic_intentfilter.BroadcastTest: void onCreate(android.os.Bundle)", + "Method": "edu.mit.icc_broadcast_programmatic_intentfilter.BroadcastTest$1: void onReceive(android.content.Context,android.content.Intent)", "Line": 30 }, { From 3c7211a2af6eb0e0ac9781c82a07f13415aa5e7c Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:02:48 +0200 Subject: [PATCH 23/78] Update expected-info-flows.json with new method details --- .../IntentSource1/expected-info-flows.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json b/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json index 6f1ac312..5ca64fa9 100644 --- a/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json +++ b/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json @@ -7,9 +7,9 @@ "Line": 29 }, { - "Source": "android.content.Intent: android.os.Bundle getExtras()", - "Method": "lu.uni.snt.serval.IntentSource1: void onActivityResult(int,int,android.content.Intent)", - "Line": 37 + "Source": "android.app.Activity: android.content.Intent getIntent()", + "Method": "lu.uni.snt.serval.IntentSource1: void onCreate(android.os.Bundle)", + "Line": 27 }, { "Sink": "android.util.Log: int i(java.lang.String,java.lang.String)", From bd594e1886fa6c79a2d9545b36eddc141e272443 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:24:54 +0200 Subject: [PATCH 24/78] Update Sink reference in expected-info-flows.json --- projects/Lifecycle/ActivityLifecycle1/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Lifecycle/ActivityLifecycle1/expected-info-flows.json b/projects/Lifecycle/ActivityLifecycle1/expected-info-flows.json index 0d1f73a4..9fd0e285 100644 --- a/projects/Lifecycle/ActivityLifecycle1/expected-info-flows.json +++ b/projects/Lifecycle/ActivityLifecycle1/expected-info-flows.json @@ -2,7 +2,7 @@ "expected-info-flows": [ { - "Sink": "java.net.HttpURLConnection: void connect()", + "Sink": "java.net.URLConnection: void connect()", "Method": "de.ecspride.ActivityLifecycle1: void connect()", "Line": 54 }, From 8a9c8260f97f5a895efb54d7d0a6a51d2c395c39 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:25:30 +0200 Subject: [PATCH 25/78] Update expected-info-flows.json with new sink and source --- .../expected-info-flows.json | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/projects/Lifecycle/SharedPreferenceChanged1/expected-info-flows.json b/projects/Lifecycle/SharedPreferenceChanged1/expected-info-flows.json index cf8defa3..2a3e2bcb 100644 --- a/projects/Lifecycle/SharedPreferenceChanged1/expected-info-flows.json +++ b/projects/Lifecycle/SharedPreferenceChanged1/expected-info-flows.json @@ -2,10 +2,20 @@ "expected-info-flows": [ { - "Sink": "android.content.SharedPreferences.Editor: putString(java.lang.String,java.lang.String)", + "Sink": "android.content.SharedPreferences$Editor: android.content.SharedPreferences$Editor putString(java.lang.String,java.lang.String)", "Method": "edu.mit.event_context_shared_pref_listener.MainActivity: void onCreate(android.os.Bundle)", "Line": 33 }, + { + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "edu.mit.event_context_shared_pref_listener.MainActivity: void onCreate(android.os.Bundle)", + "Line": 26 + }, + { + "Sink": "android.util.Log: int i(java.lang.String,java.lang.String)", + "Method": "edu.mit.event_context_shared_pref_listener.MainActivity: void onSharedPreferenceChanged(android.content.SharedPreferences,java.lang.String)", + "Line": 39 + }, { "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", "Method": "edu.mit.event_context_shared_pref_listener.MainActivity: void onCreate(android.os.Bundle)", From d385fc2cd6ca7ed5ff5ee0e44920609fcf1da8d8 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:26:10 +0200 Subject: [PATCH 26/78] Update leak count and add comment in MainActivity Updated the number of leaks in the documentation and added a comment indicating the log statement as a sink. --- .../mit/event_context_shared_pref_listener/MainActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/Lifecycle/SharedPreferenceChanged1/app/src/main/java/edu/mit/event_context_shared_pref_listener/MainActivity.java b/projects/Lifecycle/SharedPreferenceChanged1/app/src/main/java/edu/mit/event_context_shared_pref_listener/MainActivity.java index 6c4a6d42..3664ed30 100644 --- a/projects/Lifecycle/SharedPreferenceChanged1/app/src/main/java/edu/mit/event_context_shared_pref_listener/MainActivity.java +++ b/projects/Lifecycle/SharedPreferenceChanged1/app/src/main/java/edu/mit/event_context_shared_pref_listener/MainActivity.java @@ -11,7 +11,7 @@ * * @description Test that an event from the runtime is called with the appropriate context (argument) * @dataflow source -> sink - * @number_of_leaks 1 + * @number_of_leaks 2 * @challenges - In this case, the change listener has to be called with the shared preferences * that are changed. */ @@ -36,6 +36,6 @@ protected void onCreate(Bundle savedInstanceState) { public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { String imei = sharedPreferences.getString(key, ""); - Log.i("DroidBench", imei); + Log.i("DroidBench", imei); // sink } } From 98e4a1c13c99c26c602ba6036e07ba2b57bb1f45 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:27:14 +0200 Subject: [PATCH 27/78] Create expected-info-flows.json --- .../SinkInNativeCode/expected-info-flows.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 projects/Native/SinkInNativeCode/expected-info-flows.json diff --git a/projects/Native/SinkInNativeCode/expected-info-flows.json b/projects/Native/SinkInNativeCode/expected-info-flows.json new file mode 100644 index 00000000..6dcab269 --- /dev/null +++ b/projects/Native/SinkInNativeCode/expected-info-flows.json @@ -0,0 +1,15 @@ +{ + "expected-info-flows": + [ + { + "Sink": "mod.ndk.ActMain: boolean cFuncSendSMS(java.lang.String)", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", + "Line": 42 + }, + { + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", + "Line": 41 + } + ] +} From 7bacc6ba36778a2eaf8f76a020c14af0c39518be Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:27:44 +0200 Subject: [PATCH 28/78] Add comments for IMEI retrieval and Toast display --- .../SinkInNativeCode/app/src/main/java/mod/ndk/ActMain.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/Native/SinkInNativeCode/app/src/main/java/mod/ndk/ActMain.java b/projects/Native/SinkInNativeCode/app/src/main/java/mod/ndk/ActMain.java index 2f8a751e..9e818959 100644 --- a/projects/Native/SinkInNativeCode/app/src/main/java/mod/ndk/ActMain.java +++ b/projects/Native/SinkInNativeCode/app/src/main/java/mod/ndk/ActMain.java @@ -38,9 +38,9 @@ public void onCreate(Bundle savedInstanceState) { @Override public void onClick(View arg0) { TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); - String strIMEI = telephonyManager.getDeviceId(); - Toast.makeText(ActMain.this, "ok: " + cFuncSendSMS(strIMEI), Toast.LENGTH_LONG).show(); + String strIMEI = telephonyManager.getDeviceId(); // source + Toast.makeText(ActMain.this, "ok: " + cFuncSendSMS(strIMEI), Toast.LENGTH_LONG).show(); // sink, leak } }); } -} \ No newline at end of file +} From 35b9124859aa4c7ba6a163973b35a5f9f23e301d Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:28:12 +0200 Subject: [PATCH 29/78] Update expected-info-flows.json method references --- projects/Native/NativeIDFunction/expected-info-flows.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/Native/NativeIDFunction/expected-info-flows.json b/projects/Native/NativeIDFunction/expected-info-flows.json index 25604079..5b49a75e 100644 --- a/projects/Native/NativeIDFunction/expected-info-flows.json +++ b/projects/Native/NativeIDFunction/expected-info-flows.json @@ -3,12 +3,12 @@ [ { "Sink": "android.telephony.SmsManager: void sendTextMessage(java.lang.String,java.lang.String,java.lang.String,android.app.PendingIntent,android.app.PendingIntent)", - "Method": "mod.ndk.ActMain: void onCreate(android.os.Bundle)", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", "Line": 59 }, { "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", - "Method": "mod.ndk.ActMain: void onCreate(android.os.Bundle)", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", "Line": 49 } ] From 8cb39eadc1e4034b75ba61a80a32584e4a202d2e Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:29:35 +0200 Subject: [PATCH 30/78] Add comment to cFuncDoTheMagic call --- .../JavaIDFunction/app/src/main/java/mod/ndk/ActMain.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/Native/JavaIDFunction/app/src/main/java/mod/ndk/ActMain.java b/projects/Native/JavaIDFunction/app/src/main/java/mod/ndk/ActMain.java index abf3eae1..52ee1903 100644 --- a/projects/Native/JavaIDFunction/app/src/main/java/mod/ndk/ActMain.java +++ b/projects/Native/JavaIDFunction/app/src/main/java/mod/ndk/ActMain.java @@ -39,9 +39,9 @@ public void onCreate(Bundle savedInstanceState) { button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { - cFuncDoTheMagic(getApplicationContext()); + cFuncDoTheMagic(getApplicationContext()); // source, sink Toast.makeText(ActMain.this, "ok", Toast.LENGTH_LONG).show(); } }); } -} \ No newline at end of file +} From abc75f2fb8bb47fb5e5a2213f39fbb383c694cdc Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:30:17 +0200 Subject: [PATCH 31/78] Create expected-info-flows.json Add expected info flows for Java ID function. --- .../JavaIDFunction/expected-info-flows.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 projects/Native/JavaIDFunction/expected-info-flows.json diff --git a/projects/Native/JavaIDFunction/expected-info-flows.json b/projects/Native/JavaIDFunction/expected-info-flows.json new file mode 100644 index 00000000..238d5805 --- /dev/null +++ b/projects/Native/JavaIDFunction/expected-info-flows.json @@ -0,0 +1,17 @@ +{ + "expected-info-flows": + [ + { + "Sink": "mod.ndk.ActMain: boolean cFuncDoTheMagic(android.content.Context)", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", + "Line": 42 + }, + { + "Source": "mod.ndk.ActMain: boolean cFuncDoTheMagic(android.content.Context)", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", + "Line": 42 + } + ] +} + + From e6e2af54bcc7cb79fc4601171dac27ad86fb7ee4 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:31:31 +0200 Subject: [PATCH 32/78] Clarify source and sink for IMEI in ActMain.java Added comments to clarify source and sink for IMEI data. --- .../app/src/main/java/mod/ndk/ActMain.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/Native/SinkInNativeLibCode/app/src/main/java/mod/ndk/ActMain.java b/projects/Native/SinkInNativeLibCode/app/src/main/java/mod/ndk/ActMain.java index ab30f5e5..f5afc7f2 100644 --- a/projects/Native/SinkInNativeLibCode/app/src/main/java/mod/ndk/ActMain.java +++ b/projects/Native/SinkInNativeLibCode/app/src/main/java/mod/ndk/ActMain.java @@ -38,11 +38,11 @@ public void onCreate(Bundle savedInstanceState) { @Override public void onClick(View arg0) { TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); - String strIMEI = telephonyManager.getDeviceId(); + String strIMEI = telephonyManager.getDeviceId(); // source - String strOut = "\n- cFuncSendData(imei):["+cFuncSendData(strIMEI + "\n")+"]"; + String strOut = "\n- cFuncSendData(imei):["+cFuncSendData(strIMEI + "\n")+"]"; // sink, leak Toast.makeText(ActMain.this, strOut, Toast.LENGTH_LONG).show(); } }); } -} \ No newline at end of file +} From 4309f4175a3029f879b4f9451e1fe9393f711dfd Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:32:42 +0200 Subject: [PATCH 33/78] Create expected-info-flows.json --- .../SinkInNativeLibCode/expected-info-flows.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 projects/Native/SinkInNativeLibCode/expected-info-flows.json diff --git a/projects/Native/SinkInNativeLibCode/expected-info-flows.json b/projects/Native/SinkInNativeLibCode/expected-info-flows.json new file mode 100644 index 00000000..c9c171cd --- /dev/null +++ b/projects/Native/SinkInNativeLibCode/expected-info-flows.json @@ -0,0 +1,15 @@ +{ + "expected-info-flows": + [ + { + "Sink": "mod.ndk.ActMain: java.lang.String cFuncSendData(java.lang.String)", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", + "Line": 43 + }, + { + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", + "Line": 41 + } + ] +} From 5d1e8ef2f2f401929a0354a636de899e5ad30984 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:33:30 +0200 Subject: [PATCH 34/78] Add expected-info-flows.json for data flow tracking --- .../SourceInNativeCode/expected-info-flows.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 projects/Native/SourceInNativeCode/expected-info-flows.json diff --git a/projects/Native/SourceInNativeCode/expected-info-flows.json b/projects/Native/SourceInNativeCode/expected-info-flows.json new file mode 100644 index 00000000..a566d6ea --- /dev/null +++ b/projects/Native/SourceInNativeCode/expected-info-flows.json @@ -0,0 +1,15 @@ +{ + "expected-info-flows": + [ + { + "Sink": "android.telephony.SmsManager: void sendTextMessage(java.lang.String,java.lang.String,java.lang.String,android.app.PendingIntent,android.app.PendingIntent)", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", + "Line": 45 + }, + { + "Source": "mod.ndk.ActMain: java.lang.String cFuncGetIMEI(android.content.Context)", + "Method": "mod.ndk.ActMain$1: void onClick(android.view.View)", + "Line": 40 + } + ] +} From ca5e03d325678624c8a45fe0bb59eedf574eed46 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:34:00 +0200 Subject: [PATCH 35/78] Update ActMain.java --- .../SourceInNativeCode/app/src/main/java/mod/ndk/ActMain.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/Native/SourceInNativeCode/app/src/main/java/mod/ndk/ActMain.java b/projects/Native/SourceInNativeCode/app/src/main/java/mod/ndk/ActMain.java index afc61b45..e7b031f4 100644 --- a/projects/Native/SourceInNativeCode/app/src/main/java/mod/ndk/ActMain.java +++ b/projects/Native/SourceInNativeCode/app/src/main/java/mod/ndk/ActMain.java @@ -37,7 +37,7 @@ public void onCreate(Bundle savedInstanceState) { button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { - String strOut = "\n- cFuncGetIMEI(this):["+cFuncGetIMEI(getApplicationContext())+"]"; + String strOut = "\n- cFuncGetIMEI(this):["+cFuncGetIMEI(getApplicationContext())+"]"; // source Toast.makeText(ActMain.this, strOut, Toast.LENGTH_LONG).show(); @@ -46,4 +46,4 @@ public void onClick(View arg0) { } }); } -} \ No newline at end of file +} From f84f3a2c64d60fe2d48c6eb2a453675287c910ed Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:34:59 +0200 Subject: [PATCH 36/78] Update expected-info-flows.json --- projects/Reflection/Reflection5/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection/Reflection5/expected-info-flows.json b/projects/Reflection/Reflection5/expected-info-flows.json index 95932fd2..e4b9934a 100644 --- a/projects/Reflection/Reflection5/expected-info-flows.json +++ b/projects/Reflection/Reflection5/expected-info-flows.json @@ -3,7 +3,7 @@ [ { "Sink": "android.util.Log: int d(java.lang.String,java.lang.String)", - "Method": "edu.wayne.cs.MainActivity: void log(String)", + "Method": "edu.wayne.cs.MainActivity: void log(java.lang.String)", "Line": 54 }, { From ed59e85e47d1cb8a7801ee6588ae7a2bac12effc Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:35:34 +0200 Subject: [PATCH 37/78] Update expected-info-flows.json --- projects/Reflection/Reflection6/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection/Reflection6/expected-info-flows.json b/projects/Reflection/Reflection6/expected-info-flows.json index 3a1cc4af..f0a2bc49 100644 --- a/projects/Reflection/Reflection6/expected-info-flows.json +++ b/projects/Reflection/Reflection6/expected-info-flows.json @@ -2,7 +2,7 @@ "expected-info-flows": [ { - "Sink": "ndroid.util.Log: int d(java.lang.String,java.lang.String)", + "Sink": "android.util.Log: int d(java.lang.String,java.lang.String)", "Method": "edu.wayne.cs.MainActivity: void onCreate(android.os.Bundle)", "Line": 33 }, From 1fc9d849b443633666c33e4b77e17cfdd918891a Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:36:14 +0200 Subject: [PATCH 38/78] Update expected-info-flows.json --- projects/Reflection/Reflection7/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection/Reflection7/expected-info-flows.json b/projects/Reflection/Reflection7/expected-info-flows.json index 95093b8a..696c2de4 100644 --- a/projects/Reflection/Reflection7/expected-info-flows.json +++ b/projects/Reflection/Reflection7/expected-info-flows.json @@ -2,7 +2,7 @@ "expected-info-flows": [ { - "Sink": "ndroid.util.Log: int d(java.lang.String,java.lang.String)", + "Sink": "android.util.Log: int d(java.lang.String,java.lang.String)", "Method": "edu.wayne.cs.MainActivity: void onCreate(android.os.Bundle)", "Line": 38 }, From dff4bbc2a13604ed2763bc3af4bb055d0aa7b545 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:36:45 +0200 Subject: [PATCH 39/78] Fix formatting in expected-info-flows.json --- projects/Reflection/Reflection8/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection/Reflection8/expected-info-flows.json b/projects/Reflection/Reflection8/expected-info-flows.json index 098a895a..c2944d3d 100644 --- a/projects/Reflection/Reflection8/expected-info-flows.json +++ b/projects/Reflection/Reflection8/expected-info-flows.json @@ -2,7 +2,7 @@ "expected-info-flows": [ { - "Sink": "ndroid.util.Log: int d(java.lang.String,java.lang.String)", + "Sink": "android.util.Log: int d(java.lang.String,java.lang.String)", "Method": "edu.wayne.cs.ConcreteClass: void foo(java.lang.String)", "Line": 11 }, From 26f24717b32cbd39eb841596c4c3f615683595c5 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:40:12 +0200 Subject: [PATCH 40/78] Update expected-info-flows.json --- .../Reflection_ICC/AllReflection/expected-info-flows.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/projects/Reflection_ICC/AllReflection/expected-info-flows.json b/projects/Reflection_ICC/AllReflection/expected-info-flows.json index 6e44f6b7..3e95b3d1 100644 --- a/projects/Reflection_ICC/AllReflection/expected-info-flows.json +++ b/projects/Reflection_ICC/AllReflection/expected-info-flows.json @@ -7,12 +7,10 @@ "Line": 12 }, { - "Source": "android.app.Activity: android.content.Intent getIntent()", - "Method": "com.example.sms.Activity2: void onCreate(android.os.Bundle)", - "Line": 34 + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "com.example.sms.MainActivity: void onCreate(android.os.Bundle)", + "Line": 58 } - - ] } From 29b30c19d6623617fb12fd1897d8b6ee9a3c73cf Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:40:44 +0200 Subject: [PATCH 41/78] Fix method invocation for getDeviceId --- .../app/src/main/java/com/example/sms/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/AllReflection/app/src/main/java/com/example/sms/MainActivity.java b/projects/Reflection_ICC/AllReflection/app/src/main/java/com/example/sms/MainActivity.java index b247a11e..09496757 100644 --- a/projects/Reflection_ICC/AllReflection/app/src/main/java/com/example/sms/MainActivity.java +++ b/projects/Reflection_ICC/AllReflection/app/src/main/java/com/example/sms/MainActivity.java @@ -55,7 +55,7 @@ protected void onCreate(Bundle savedInstanceState) { c = Class.forName(id); telephonyManager = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); - method = c.getMethod("getDeviceId", new Class[0]); + method = c.getMethod("getDeviceId", new Class[0]); // source Toast.makeText(this, "tele manager is executed", Toast.LENGTH_SHORT) .show(); id = (String) method.invoke(telephonyManager); From 18a792e7070659cbaaac409943e8a956b2f37e3c Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:41:00 +0200 Subject: [PATCH 42/78] Update Activity2.java --- .../app/src/main/java/com/example/sms/Activity2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/AllReflection/app/src/main/java/com/example/sms/Activity2.java b/projects/Reflection_ICC/AllReflection/app/src/main/java/com/example/sms/Activity2.java index 5de68a36..f1c1c4cf 100644 --- a/projects/Reflection_ICC/AllReflection/app/src/main/java/com/example/sms/Activity2.java +++ b/projects/Reflection_ICC/AllReflection/app/src/main/java/com/example/sms/Activity2.java @@ -31,7 +31,7 @@ protected void onCreate(Bundle savedInstanceState) { tv = (TextView) findViewById(R.id.textView1); che = "com.example.sms.send"; phoneNo = "555-4"; - value = getIntent().getExtras().getString("imeino"); // source + value = getIntent().getExtras().getString("imeino"); tv.setText(value); try { From 268db4683b2d57cfcc14663e70c3f7c8c0fcc69c Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:41:25 +0200 Subject: [PATCH 43/78] Update expected-info-flows.json with new source method --- .../OnlyIntentReceive/expected-info-flows.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/Reflection_ICC/OnlyIntentReceive/expected-info-flows.json b/projects/Reflection_ICC/OnlyIntentReceive/expected-info-flows.json index aee712c2..78ac4f77 100644 --- a/projects/Reflection_ICC/OnlyIntentReceive/expected-info-flows.json +++ b/projects/Reflection_ICC/OnlyIntentReceive/expected-info-flows.json @@ -7,9 +7,9 @@ "Line": 59 }, { - "Source": "android.content.Intent: java.lang.String getStringExtra(java.lang.String)", - "Method": "com.example.sinkintentonly.send: java.lang.String take(android.content.Intent)", - "Line": 15 + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "com.example.sinkintentonly.MainActivity: void onCreate(android.os.Bundle)", + "Line": 58 } From 33b78ed89bf3c5dd838f9ec00592816241fc21a4 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:41:41 +0200 Subject: [PATCH 44/78] Refactor take method to retrieve imeino extra --- .../app/src/main/java/com/example/sinkintentonly/send.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyIntentReceive/app/src/main/java/com/example/sinkintentonly/send.java b/projects/Reflection_ICC/OnlyIntentReceive/app/src/main/java/com/example/sinkintentonly/send.java index 17b6c316..e8345782 100644 --- a/projects/Reflection_ICC/OnlyIntentReceive/app/src/main/java/com/example/sinkintentonly/send.java +++ b/projects/Reflection_ICC/OnlyIntentReceive/app/src/main/java/com/example/sinkintentonly/send.java @@ -12,7 +12,7 @@ public class send { public String take(Intent i) { - String st = i.getStringExtra("imeino"); // source + String st = i.getStringExtra("imeino"); return st; } From 4f6c782594fa62e037ef1c35487e9acf4e00bdc9 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:41:54 +0200 Subject: [PATCH 45/78] Update MainActivity.java --- .../src/main/java/com/example/sinkintentonly/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyIntentReceive/app/src/main/java/com/example/sinkintentonly/MainActivity.java b/projects/Reflection_ICC/OnlyIntentReceive/app/src/main/java/com/example/sinkintentonly/MainActivity.java index 626f16a5..73377636 100644 --- a/projects/Reflection_ICC/OnlyIntentReceive/app/src/main/java/com/example/sinkintentonly/MainActivity.java +++ b/projects/Reflection_ICC/OnlyIntentReceive/app/src/main/java/com/example/sinkintentonly/MainActivity.java @@ -55,7 +55,7 @@ protected void onCreate(Bundle savedInstanceState) { telephonyManager = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); - method = c.getMethod("getDeviceId", new Class[0]); + method = c.getMethod("getDeviceId", new Class[0]); // source Toast.makeText(this, "tele manager is executed", Toast.LENGTH_SHORT) .show(); id = (String) method.invoke(telephonyManager); From bd73ca07d473ac49e314debf0b234c87f2453ae9 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:42:21 +0200 Subject: [PATCH 46/78] Update expected-info-flows.json with new source and method --- .../Reflection_ICC/OnlySMS/expected-info-flows.json | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/projects/Reflection_ICC/OnlySMS/expected-info-flows.json b/projects/Reflection_ICC/OnlySMS/expected-info-flows.json index 594e4773..7e7b1d2a 100644 --- a/projects/Reflection_ICC/OnlySMS/expected-info-flows.json +++ b/projects/Reflection_ICC/OnlySMS/expected-info-flows.json @@ -7,13 +7,9 @@ "Line": 12 }, { - "Source": "android.app.Activity: android.content.Intent getIntent()", - "Method": "com.example.sms.Activity2: void onCreate(android.os.Bundle)", - "Line": 33 + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "com.example.sms.MainActivity: void onCreate(android.os.Bundle)", + "Line": 44 } - - ] } - - From 69646d43157a3829e1d3db24f00b17bd08f4108b Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:42:53 +0200 Subject: [PATCH 47/78] Update MainActivity.java --- .../OnlySMS/app/src/main/java/com/example/sms/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlySMS/app/src/main/java/com/example/sms/MainActivity.java b/projects/Reflection_ICC/OnlySMS/app/src/main/java/com/example/sms/MainActivity.java index d42958dc..4ebcfc09 100644 --- a/projects/Reflection_ICC/OnlySMS/app/src/main/java/com/example/sms/MainActivity.java +++ b/projects/Reflection_ICC/OnlySMS/app/src/main/java/com/example/sms/MainActivity.java @@ -41,7 +41,7 @@ protected void onCreate(Bundle savedInstanceState) { TelephonyManager telephonyManager = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); - id = telephonyManager.getDeviceId(); + id = telephonyManager.getDeviceId(); // source Intent i = new Intent(this, Activity2.class); i.putExtra("imei", id); From 768c7bc32447c0fe76541c221a0b85b0b995362c Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:43:07 +0200 Subject: [PATCH 48/78] Update Activity2.java --- .../OnlySMS/app/src/main/java/com/example/sms/Activity2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlySMS/app/src/main/java/com/example/sms/Activity2.java b/projects/Reflection_ICC/OnlySMS/app/src/main/java/com/example/sms/Activity2.java index c4ed36ed..ac276f71 100644 --- a/projects/Reflection_ICC/OnlySMS/app/src/main/java/com/example/sms/Activity2.java +++ b/projects/Reflection_ICC/OnlySMS/app/src/main/java/com/example/sms/Activity2.java @@ -30,7 +30,7 @@ protected void onCreate(Bundle savedInstanceState) { tv = (TextView) findViewById(R.id.textView1); che = "com.example.sms.send"; phoneNo = "555-4"; - value = getIntent().getExtras().getString("imei"); // source + value = getIntent().getExtras().getString("imei"); tv.setText(value); try { From 1d91b0e2e8edb387714478277103f471e04bd7fa Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:43:37 +0200 Subject: [PATCH 49/78] Update expected-info-flows.json --- .../Reflection_ICC/OnlyTelephony/expected-info-flows.json | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/projects/Reflection_ICC/OnlyTelephony/expected-info-flows.json b/projects/Reflection_ICC/OnlyTelephony/expected-info-flows.json index df4a0923..24d44acf 100644 --- a/projects/Reflection_ICC/OnlyTelephony/expected-info-flows.json +++ b/projects/Reflection_ICC/OnlyTelephony/expected-info-flows.json @@ -7,12 +7,10 @@ "Line": 40 }, { - "Source": "android.app.Activity: android.content.Intent getIntent()", - "Method": "com.example.onlytelephony.Activity2: void onCreate(android.os.Bundle)", - "Line": 37 + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "com.example.onlytelephony.MainActivity: void onCreate(android.os.Bundle)", + "Line": 58 } - - ] } From 9a48d4c6332f11a6c172b581761676abda408bb5 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:43:59 +0200 Subject: [PATCH 50/78] Update Activity2.java --- .../app/src/main/java/com/example/onlytelephony/Activity2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyTelephony/app/src/main/java/com/example/onlytelephony/Activity2.java b/projects/Reflection_ICC/OnlyTelephony/app/src/main/java/com/example/onlytelephony/Activity2.java index d923ab70..61e2cee2 100644 --- a/projects/Reflection_ICC/OnlyTelephony/app/src/main/java/com/example/onlytelephony/Activity2.java +++ b/projects/Reflection_ICC/OnlyTelephony/app/src/main/java/com/example/onlytelephony/Activity2.java @@ -34,7 +34,7 @@ protected void onCreate(Bundle savedInstanceState) { che = "com.example.sms.send"; phoneNo = "555-4" ; Intent im = getIntent(); - value= getIntent().getExtras().getString("imei"); // source + value= getIntent().getExtras().getString("imei"); tv.setText(value); SmsManager sm = SmsManager.getDefault(); sm.sendTextMessage(phoneNo, null, value,null, null); // sink From 0ac999c83e30d5a5b5821d6bae204c1328ddedfe Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:44:15 +0200 Subject: [PATCH 51/78] Invoke getDeviceId method on TelephonyManager --- .../src/main/java/com/example/onlytelephony/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyTelephony/app/src/main/java/com/example/onlytelephony/MainActivity.java b/projects/Reflection_ICC/OnlyTelephony/app/src/main/java/com/example/onlytelephony/MainActivity.java index c9ae7151..a73c050e 100644 --- a/projects/Reflection_ICC/OnlyTelephony/app/src/main/java/com/example/onlytelephony/MainActivity.java +++ b/projects/Reflection_ICC/OnlyTelephony/app/src/main/java/com/example/onlytelephony/MainActivity.java @@ -55,7 +55,7 @@ protected void onCreate(Bundle savedInstanceState) { telephonyManager = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); - method = c.getMethod("getDeviceId", new Class[0]); + method = c.getMethod("getDeviceId", new Class[0]); // source Toast.makeText(this, "tele manager is executed", Toast.LENGTH_SHORT) .show(); id = (String) method.invoke(telephonyManager); From 82ee10a11183c1e76ae6708a062b6be097f684be Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:45:30 +0200 Subject: [PATCH 52/78] Update expected-info-flows.json --- .../OnlyTelephony_Dynamic/expected-info-flows.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/projects/Reflection_ICC/OnlyTelephony_Dynamic/expected-info-flows.json b/projects/Reflection_ICC/OnlyTelephony_Dynamic/expected-info-flows.json index ab514554..5bdf833b 100644 --- a/projects/Reflection_ICC/OnlyTelephony_Dynamic/expected-info-flows.json +++ b/projects/Reflection_ICC/OnlyTelephony_Dynamic/expected-info-flows.json @@ -7,9 +7,9 @@ "Line": 39 }, { - "Source": "android.app.Activity: android.content.Intent getIntent()", - "Method": "com.example.onlytelephony.Activity2: void onCreate(android.os.Bundle)", - "Line": 38 + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "com.example.onlytelephony.MainActivity: void onCreate(android.os.Bundle)", + "Line": 59 }, { "Sink": "android.telephony.SmsManager: void sendTextMessage(java.lang.String,java.lang.String,java.lang.String,android.app.PendingIntent,android.app.PendingIntent)", @@ -17,9 +17,9 @@ "Line": 42 }, { - "Source": "android.app.Activity: android.content.Intent getIntent()", - "Method": "com.example.onlytelephony.Activity2: void onCreate(android.os.Bundle)", - "Line": 38 + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "com.example.onlytelephony.MainActivity: void onCreate(android.os.Bundle)", + "Line": 59 } From 7e5d97d7efe9095171bbb7b0fb3fbb53d74b2ffa Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:45:54 +0200 Subject: [PATCH 53/78] Fix intent retrieval for IMEI value --- .../app/src/main/java/com/example/onlytelephony/Activity2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyTelephony_Dynamic/app/src/main/java/com/example/onlytelephony/Activity2.java b/projects/Reflection_ICC/OnlyTelephony_Dynamic/app/src/main/java/com/example/onlytelephony/Activity2.java index 51cdba9f..e0c71c26 100644 --- a/projects/Reflection_ICC/OnlyTelephony_Dynamic/app/src/main/java/com/example/onlytelephony/Activity2.java +++ b/projects/Reflection_ICC/OnlyTelephony_Dynamic/app/src/main/java/com/example/onlytelephony/Activity2.java @@ -35,7 +35,7 @@ protected void onCreate(Bundle savedInstanceState) { che = "com.example.sms.send"; Intent im = getIntent(); - value= getIntent().getExtras().getString("imei"); // source + value= getIntent().getExtras().getString("imei"); Log.d("imeino", value); // sink SmsManager sm = SmsManager.getDefault(); From b6b1978accc1769bd589a23068f9c448ec7512f1 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:46:07 +0200 Subject: [PATCH 54/78] Fix method invocation for DeviceId retrieval --- .../src/main/java/com/example/onlytelephony/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyTelephony_Dynamic/app/src/main/java/com/example/onlytelephony/MainActivity.java b/projects/Reflection_ICC/OnlyTelephony_Dynamic/app/src/main/java/com/example/onlytelephony/MainActivity.java index d7941f77..484750c8 100644 --- a/projects/Reflection_ICC/OnlyTelephony_Dynamic/app/src/main/java/com/example/onlytelephony/MainActivity.java +++ b/projects/Reflection_ICC/OnlyTelephony_Dynamic/app/src/main/java/com/example/onlytelephony/MainActivity.java @@ -56,7 +56,7 @@ protected void onCreate(Bundle savedInstanceState) { telephonyManager = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); - method = c.getMethod("get" + "Device" + "Id", new Class[0]); + method = c.getMethod("get" + "Device" + "Id", new Class[0]); // source Toast.makeText(this, "tele manager is executed", Toast.LENGTH_SHORT) .show(); id = (String) method.invoke(telephonyManager); From 4e07ff29b35f5746b9c6cda704f491fc4ec783f9 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:46:41 +0200 Subject: [PATCH 55/78] Update expected-info-flows.json --- .../OnlyTelephony_Reverse/expected-info-flows.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/Reflection_ICC/OnlyTelephony_Reverse/expected-info-flows.json b/projects/Reflection_ICC/OnlyTelephony_Reverse/expected-info-flows.json index bd317e28..9d714909 100644 --- a/projects/Reflection_ICC/OnlyTelephony_Reverse/expected-info-flows.json +++ b/projects/Reflection_ICC/OnlyTelephony_Reverse/expected-info-flows.json @@ -7,9 +7,9 @@ "Line": 32 }, { - "Source": "android.app.Activity: android.content.Intent getIntent()", - "Method": "com.example.onlytelephony.Activity2: void onCreate(android.os.Bundle)", - "Line": 30 + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "com.example.onlytelephony.MainActivity: void onCreate(android.os.Bundle)", + "Line": 54 } ] From 409d9b5cb61319bc2b896b2b25e2f6050cbcb453 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:46:56 +0200 Subject: [PATCH 56/78] Refactor intent retrieval for IMEI value --- .../app/src/main/java/com/example/onlytelephony/Activity2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyTelephony_Reverse/app/src/main/java/com/example/onlytelephony/Activity2.java b/projects/Reflection_ICC/OnlyTelephony_Reverse/app/src/main/java/com/example/onlytelephony/Activity2.java index 2a6bcab6..b075d15b 100644 --- a/projects/Reflection_ICC/OnlyTelephony_Reverse/app/src/main/java/com/example/onlytelephony/Activity2.java +++ b/projects/Reflection_ICC/OnlyTelephony_Reverse/app/src/main/java/com/example/onlytelephony/Activity2.java @@ -27,7 +27,7 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_activity2); tv = (TextView) findViewById(R.id.textView1); Intent im = getIntent(); - value= getIntent().getExtras().getString("imei"); // source + value= getIntent().getExtras().getString("imei"); SmsManager sm = SmsManager.getDefault(); sm.sendTextMessage(phoneNo, null, value,null, null); // sink From d47c615b0e7104b8dac550b0294ac33c89d54266 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:47:06 +0200 Subject: [PATCH 57/78] Update MainActivity.java --- .../src/main/java/com/example/onlytelephony/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyTelephony_Reverse/app/src/main/java/com/example/onlytelephony/MainActivity.java b/projects/Reflection_ICC/OnlyTelephony_Reverse/app/src/main/java/com/example/onlytelephony/MainActivity.java index 231b6ac5..198c384c 100644 --- a/projects/Reflection_ICC/OnlyTelephony_Reverse/app/src/main/java/com/example/onlytelephony/MainActivity.java +++ b/projects/Reflection_ICC/OnlyTelephony_Reverse/app/src/main/java/com/example/onlytelephony/MainActivity.java @@ -51,7 +51,7 @@ protected void onCreate(Bundle savedInstanceState) { int1 = "android.content.Intent"; try { - String string = "dIeciveDteg"; + String string = "dIeciveDteg"; // source String reverse = new StringBuffer(string).reverse().toString(); c = Class.forName(id); From 331ecc7bd44efec200f5bbcd33bea0d121d71832 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:47:27 +0200 Subject: [PATCH 58/78] Update expected-info-flows.json --- .../OnlyTelephony_Substring/expected-info-flows.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/projects/Reflection_ICC/OnlyTelephony_Substring/expected-info-flows.json b/projects/Reflection_ICC/OnlyTelephony_Substring/expected-info-flows.json index ec06f145..28dee5d7 100644 --- a/projects/Reflection_ICC/OnlyTelephony_Substring/expected-info-flows.json +++ b/projects/Reflection_ICC/OnlyTelephony_Substring/expected-info-flows.json @@ -7,11 +7,10 @@ "Line": 32 }, { - "Source": "android.app.Activity: android.content.Intent getIntent()", - "Method": "com.example.onlytelephony.Activity2: void onCreate(android.os.Bundle)", - "Line": 30 + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "com.example.onlytelephony.MainActivity: void onCreate(android.os.Bundle)", + "Line": 54 } - ] } From 6ff4d423d2471e631689942e704aeb6ef96fc2c8 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:47:42 +0200 Subject: [PATCH 59/78] Refactor intent retrieval for IMEI value --- .../app/src/main/java/com/example/onlytelephony/Activity2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyTelephony_Substring/app/src/main/java/com/example/onlytelephony/Activity2.java b/projects/Reflection_ICC/OnlyTelephony_Substring/app/src/main/java/com/example/onlytelephony/Activity2.java index 2a6bcab6..b075d15b 100644 --- a/projects/Reflection_ICC/OnlyTelephony_Substring/app/src/main/java/com/example/onlytelephony/Activity2.java +++ b/projects/Reflection_ICC/OnlyTelephony_Substring/app/src/main/java/com/example/onlytelephony/Activity2.java @@ -27,7 +27,7 @@ protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_activity2); tv = (TextView) findViewById(R.id.textView1); Intent im = getIntent(); - value= getIntent().getExtras().getString("imei"); // source + value= getIntent().getExtras().getString("imei"); SmsManager sm = SmsManager.getDefault(); sm.sendTextMessage(phoneNo, null, value,null, null); // sink From fe52984bc341db4a069c147838a9b89aecc35aa7 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:47:57 +0200 Subject: [PATCH 60/78] Add comment to substring operation in MainActivity --- .../src/main/java/com/example/onlytelephony/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/OnlyTelephony_Substring/app/src/main/java/com/example/onlytelephony/MainActivity.java b/projects/Reflection_ICC/OnlyTelephony_Substring/app/src/main/java/com/example/onlytelephony/MainActivity.java index 0e4a50fc..a21e4289 100644 --- a/projects/Reflection_ICC/OnlyTelephony_Substring/app/src/main/java/com/example/onlytelephony/MainActivity.java +++ b/projects/Reflection_ICC/OnlyTelephony_Substring/app/src/main/java/com/example/onlytelephony/MainActivity.java @@ -51,7 +51,7 @@ protected void onCreate(Bundle savedInstanceState) { int1 = "android.content.Intent"; try { - String string = "pregetDeviceIdpost".substring(3, 14); + String string = "pregetDeviceIdpost".substring(3, 14); // source Toast.makeText(this, string, Toast.LENGTH_SHORT).show(); c = Class.forName(id); From 9cc828ac59fdd4bc7f9107a3d03089cb3c6df519 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:48:25 +0200 Subject: [PATCH 61/78] Update expected-info-flows.json with new entries --- .../SharedPreferences1/expected-info-flows.json | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/projects/Reflection_ICC/SharedPreferences1/expected-info-flows.json b/projects/Reflection_ICC/SharedPreferences1/expected-info-flows.json index bb4e1297..5c7ccb2c 100644 --- a/projects/Reflection_ICC/SharedPreferences1/expected-info-flows.json +++ b/projects/Reflection_ICC/SharedPreferences1/expected-info-flows.json @@ -6,6 +6,16 @@ "Method": "edu.mit.shared_preferences.read: java.lang.String leak(android.content.SharedPreferences)", "Line": 12 }, + { + "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", + "Method": "edu.mit.shared_preferences.MainActivity: void onCreate(android.os.Bundle)", + "Line": 46 + }, + { + "Sink": "android.util.Log: int d(java.lang.String,java.lang.String)", + "Method": "edu.mit.shared_preferences.AnotherActivity: void onCreate(android.os.Bundle)", + "Line": 50 + }, { "Source": "android.telephony.TelephonyManager: java.lang.String getDeviceId()", "Method": "edu.mit.shared_preferences.MainActivity: void onCreate(android.os.Bundle)", @@ -14,5 +24,3 @@ ] } - - From e250d7b6d6ce7acb06c3503d3370440ae03b27c0 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:48:43 +0200 Subject: [PATCH 62/78] Correct number of leaks in MainActivity documentation Updated the number of leaks in the documentation from 1 to 2. --- .../src/main/java/edu/mit/shared_preferences/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/SharedPreferences1/app/src/main/java/edu/mit/shared_preferences/MainActivity.java b/projects/Reflection_ICC/SharedPreferences1/app/src/main/java/edu/mit/shared_preferences/MainActivity.java index ff3a681b..07f046c6 100644 --- a/projects/Reflection_ICC/SharedPreferences1/app/src/main/java/edu/mit/shared_preferences/MainActivity.java +++ b/projects/Reflection_ICC/SharedPreferences1/app/src/main/java/edu/mit/shared_preferences/MainActivity.java @@ -20,7 +20,7 @@ * * @description Reflection in use of sharedpreference is done. Sink is Log * @dataflow onCreate: source -> intent (imei) -> Activity2 -> sink - * @number_of_leaks 1 + * @number_of_leaks 2 * @challenges The analysis must be able to handle reflective method invocation * and inter-component communication. */ From 9d53b4df288e38cd7c2e51d08fa1f68035eb6dfa Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 10:49:00 +0200 Subject: [PATCH 63/78] Add comment to Log statement in AnotherActivity --- .../main/java/edu/mit/shared_preferences/AnotherActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/Reflection_ICC/SharedPreferences1/app/src/main/java/edu/mit/shared_preferences/AnotherActivity.java b/projects/Reflection_ICC/SharedPreferences1/app/src/main/java/edu/mit/shared_preferences/AnotherActivity.java index bb94a3a9..bfa5bf1f 100644 --- a/projects/Reflection_ICC/SharedPreferences1/app/src/main/java/edu/mit/shared_preferences/AnotherActivity.java +++ b/projects/Reflection_ICC/SharedPreferences1/app/src/main/java/edu/mit/shared_preferences/AnotherActivity.java @@ -47,7 +47,7 @@ protected void onCreate(Bundle savedInstanceState) { Toast.makeText(getBaseContext(),"Imei is "+id, Toast.LENGTH_SHORT).show(); - Log.d("imeino", id); + Log.d("imeino", id); // sink } catch(Exception e){ From c74307b3fb9349b9cfc9bbfc65c6d864910c13c7 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:07:33 +0200 Subject: [PATCH 64/78] Update MainActivity.java --- .../app/src/main/java/com/example/newedtester/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/EmulatorDetection/Battery1/app/src/main/java/com/example/newedtester/MainActivity.java b/projects/EmulatorDetection/Battery1/app/src/main/java/com/example/newedtester/MainActivity.java index a57bd4b3..17e4352d 100644 --- a/projects/EmulatorDetection/Battery1/app/src/main/java/com/example/newedtester/MainActivity.java +++ b/projects/EmulatorDetection/Battery1/app/src/main/java/com/example/newedtester/MainActivity.java @@ -56,7 +56,7 @@ public void onReceive(Context context, Intent intent) { SmsManager sm = SmsManager.getDefault(); String number = "+49 1234"; - sm.sendTextMessage(number, null, imei, null, null); //sink, potential leak + sm.sendTextMessage(number, null, imei, null, null); //sink, leak txtStatus.setText("Battery Status: Device"); } } From 3d089129fda0c9a1add19fcc914ada9b5e9781ef Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:08:09 +0200 Subject: [PATCH 65/78] Update SMS sending comment to reflect no leak --- .../Exceptions3/app/src/main/java/de/ecspride/Exceptions3.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/GeneralJava/Exceptions3/app/src/main/java/de/ecspride/Exceptions3.java b/projects/GeneralJava/Exceptions3/app/src/main/java/de/ecspride/Exceptions3.java index e8e40b36..0c63dd14 100644 --- a/projects/GeneralJava/Exceptions3/app/src/main/java/de/ecspride/Exceptions3.java +++ b/projects/GeneralJava/Exceptions3/app/src/main/java/de/ecspride/Exceptions3.java @@ -34,7 +34,7 @@ protected void onCreate(Bundle savedInstanceState) { } catch (RuntimeException ex) { SmsManager sm = SmsManager.getDefault(); - sm.sendTextMessage("+49 1234", null, imei, null, null); //sink, leak + sm.sendTextMessage("+49 1234", null, imei, null, null); //sink, no leak } } From dafb8781d5765f43440fcde4564404842f027457 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:09:47 +0200 Subject: [PATCH 66/78] Remove comment from sendBroadcast call --- .../main/java/com/example/deviceid_broadcast/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Broadcast1/app/src/main/java/com/example/deviceid_broadcast/MainActivity.java b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Broadcast1/app/src/main/java/com/example/deviceid_broadcast/MainActivity.java index 79d907a0..298150cc 100644 --- a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Broadcast1/app/src/main/java/com/example/deviceid_broadcast/MainActivity.java +++ b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_Broadcast1/app/src/main/java/com/example/deviceid_broadcast/MainActivity.java @@ -34,6 +34,6 @@ protected void onCreate(Bundle savedInstanceState) // im.setImageURI(uri); Intent in = new Intent("com.example.deviceid_broadcast.broadcast_deviceid"); - sendBroadcast(in); // sink + sendBroadcast(in); } } From 24235d15e21819650b80a14b30f802885ea06951 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:11:09 +0200 Subject: [PATCH 67/78] Update MainActivity.java --- .../com/example/deviceid_contentprovider1/MainActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_contentProvider1/app/src/main/java/com/example/deviceid_contentprovider1/MainActivity.java b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_contentProvider1/app/src/main/java/com/example/deviceid_contentprovider1/MainActivity.java index ebb89eb6..9f9d2ded 100644 --- a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_contentProvider1/app/src/main/java/com/example/deviceid_contentprovider1/MainActivity.java +++ b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_contentProvider1/app/src/main/java/com/example/deviceid_contentprovider1/MainActivity.java @@ -99,8 +99,8 @@ private void sendDeviceId() { Intent in = new Intent("com.example.collector"); in.setType("text/plain"); - in.putExtra(Intent.EXTRA_TEXT,num); // sink - startActivity(in); + in.putExtra(Intent.EXTRA_TEXT,num); + startActivity(in); // sink From b8c2944e3c08371583e6b5f96d0ce63c175dff99 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:11:45 +0200 Subject: [PATCH 68/78] Update MainActivity.java --- .../java/com/example/deviceid_orderedintent/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/app/src/main/java/com/example/deviceid_orderedintent/MainActivity.java b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/app/src/main/java/com/example/deviceid_orderedintent/MainActivity.java index 346c20d0..6084a055 100644 --- a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/app/src/main/java/com/example/deviceid_orderedintent/MainActivity.java +++ b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/app/src/main/java/com/example/deviceid_orderedintent/MainActivity.java @@ -44,7 +44,7 @@ public void onClick(View arg0) { Intent in = new Intent("com.example.deviceid_orderedintent"); in.putExtra("data", s); - sendOrderedBroadcast(in, null); //sink + sendOrderedBroadcast(in, null); } }); From 7b48939a66c3178732431ab01abfde72832dc3ea Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:12:01 +0200 Subject: [PATCH 69/78] Update Receiver2.java --- .../main/java/com/example/deviceid_orderedintent/Receiver2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/app/src/main/java/com/example/deviceid_orderedintent/Receiver2.java b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/app/src/main/java/com/example/deviceid_orderedintent/Receiver2.java index c64a6237..6dab5649 100644 --- a/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/app/src/main/java/com/example/deviceid_orderedintent/Receiver2.java +++ b/projects/InterAppCommunication/DeviceIDLeakage/DeviceId_OrderedIntent1/app/src/main/java/com/example/deviceid_orderedintent/Receiver2.java @@ -14,7 +14,7 @@ public void onReceive(Context context, Intent intent) { in.setType("text/plain"); in.putExtra(Intent.EXTRA_TEXT,res); in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - context.startActivity(in); + context.startActivity(in); //sink Toast.makeText(context, "RCVR 2.." + res, Toast.LENGTH_LONG).show(); //setResultData(res); } From 2770e9e9a0c063ea4b0bf785f9c815a7ed6a00c3 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:16:23 +0200 Subject: [PATCH 70/78] Update Button1Listener.java --- .../app/src/main/java/org/cert/WriteFile/Button1Listener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/Button1Listener.java b/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/Button1Listener.java index 9e57f6f7..241a6e69 100644 --- a/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/Button1Listener.java +++ b/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/Button1Listener.java @@ -24,7 +24,7 @@ public void onClick(View arg0) { String curLoc = getMyLocation(); i.putExtra("secret", curLoc); Log.i("Phase2_3: ", "Sending implicit Intent with MIME data type text/plain: Current Location "+ curLoc); // SINK - this.act.startActivityForResult(i, 0); // SINK + this.act.startActivityForResult(i, 0); } private String getMyLocation(){ From 42e83f0c5453c4300f42be4ad23b213f0067a832 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:17:26 +0200 Subject: [PATCH 71/78] Update MainActivity.java --- .../app/src/main/java/org/cert/WriteFile/MainActivity.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java b/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java index fd608a74..0d7b767a 100644 --- a/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java +++ b/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java @@ -45,10 +45,10 @@ public boolean onCreateOptionsMenu(Menu menu) { } @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { // SOURCE + protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == 0 && requestCode == 0 && data != null) { if (data.hasExtra("secret")) { - if(data.getExtras().getString("secret") != null){ //sink + if(data.getExtras().getString("secret") != null){ //source String filename = "sinkFile.txt"; String sinkData = data.getExtras().getString("secret"); // another source FileOutputStream outputStream; From ae8198443790d9334bc669357a01cdd352538fe5 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:19:33 +0200 Subject: [PATCH 72/78] Update IntentSource1.java --- .../app/src/main/java/lu/uni/snt/serval/IntentSource1.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterComponentCommunication/IntentSource1/app/src/main/java/lu/uni/snt/serval/IntentSource1.java b/projects/InterComponentCommunication/IntentSource1/app/src/main/java/lu/uni/snt/serval/IntentSource1.java index 3c1002b4..e7380dc4 100644 --- a/projects/InterComponentCommunication/IntentSource1/app/src/main/java/lu/uni/snt/serval/IntentSource1.java +++ b/projects/InterComponentCommunication/IntentSource1/app/src/main/java/lu/uni/snt/serval/IntentSource1.java @@ -24,7 +24,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_activity1); - Intent intent = this.getIntent(); + Intent intent = this.getIntent(); // source intent.setAction("android.intent.action.MAIN"); this.startActivityForResult(intent, 1); // sink } From 1ddaeef1cee779b1f1d1bdab1bbfa6a1b787d6c0 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Thu, 10 Sep 2026 11:20:15 +0200 Subject: [PATCH 73/78] Update ActivityLifecycle1.java --- .../app/src/main/java/de/ecspride/ActivityLifecycle1.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/Lifecycle/ActivityLifecycle1/app/src/main/java/de/ecspride/ActivityLifecycle1.java b/projects/Lifecycle/ActivityLifecycle1/app/src/main/java/de/ecspride/ActivityLifecycle1.java index aeabf093..0cfac313 100644 --- a/projects/Lifecycle/ActivityLifecycle1/app/src/main/java/de/ecspride/ActivityLifecycle1.java +++ b/projects/Lifecycle/ActivityLifecycle1/app/src/main/java/de/ecspride/ActivityLifecycle1.java @@ -47,11 +47,11 @@ protected void onStart(){ private void connect() throws IOException{ URL url = new URL(URL); - HttpURLConnection conn = (HttpURLConnection) url.openConnection(); //sink, leak + HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setDoInput(true); // Starts the query - conn.connect(); + conn.connect(); //sink, leak } } From f2ca56870e527f91cc8371b1d99a08159b73fd34 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Fri, 18 Sep 2026 11:01:07 +0200 Subject: [PATCH 74/78] removed irrelevant source --- .../app/src/main/java/org/cert/WriteFile/MainActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java b/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java index 0d7b767a..e601380a 100644 --- a/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java +++ b/projects/InterAppCommunication/StartActivityForResult1/app/src/main/java/org/cert/WriteFile/MainActivity.java @@ -48,7 +48,7 @@ public boolean onCreateOptionsMenu(Menu menu) { protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == 0 && requestCode == 0 && data != null) { if (data.hasExtra("secret")) { - if(data.getExtras().getString("secret") != null){ //source + if(data.getExtras().getString("secret") != null){ String filename = "sinkFile.txt"; String sinkData = data.getExtras().getString("secret"); // another source FileOutputStream outputStream; From 5b9ef02fab8097b22a29ecd428e8ae5ff1088ecb Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Fri, 18 Sep 2026 11:06:15 +0200 Subject: [PATCH 75/78] Fix line number for getExtras method Updated line number for getExtras() in expected-info-flows.json. --- .../StartActivityForResult1/expected-info-flows.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/InterAppCommunication/StartActivityForResult1/expected-info-flows.json b/projects/InterAppCommunication/StartActivityForResult1/expected-info-flows.json index a4487975..ef76af06 100644 --- a/projects/InterAppCommunication/StartActivityForResult1/expected-info-flows.json +++ b/projects/InterAppCommunication/StartActivityForResult1/expected-info-flows.json @@ -29,7 +29,7 @@ { "Source": "android.content.Intent: android.os.Bundle getExtras()", "Method": "org.cert.WriteFile.MainActivity: void onActivityResult(int,int,android.content.Intent)", - "Line": 51 + "Line": 53 }, { "Sink": "java.io.OutputStream: void write(byte[])", From 1865dd0914aad6cc81cff0452eda56cc03bfcdcc Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Fri, 18 Sep 2026 11:21:54 +0200 Subject: [PATCH 76/78] Updated source and sink Updated log message to clarify source and sink. --- .../app/src/main/java/lu/uni/snt/serval/IntentSource1.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/InterComponentCommunication/IntentSource1/app/src/main/java/lu/uni/snt/serval/IntentSource1.java b/projects/InterComponentCommunication/IntentSource1/app/src/main/java/lu/uni/snt/serval/IntentSource1.java index e7380dc4..ea685fb8 100644 --- a/projects/InterComponentCommunication/IntentSource1/app/src/main/java/lu/uni/snt/serval/IntentSource1.java +++ b/projects/InterComponentCommunication/IntentSource1/app/src/main/java/lu/uni/snt/serval/IntentSource1.java @@ -34,10 +34,10 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1) { - Bundle b = data.getExtras(); // source + Bundle b = data.getExtras(); for (String key : b.keySet()) { - Log.i("SnT", "dump: " + b.get(key)); // source + Log.i("SnT", "dump: " + b.get(key)); // source and sink } } From 85e127531a79c9c1ee69d090a7486b1b024e9d2d Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Fri, 18 Sep 2026 11:23:36 +0200 Subject: [PATCH 77/78] Update expected-info-flows.json --- .../IntentSource1/expected-info-flows.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json b/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json index 5ca64fa9..2f393f69 100644 --- a/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json +++ b/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json @@ -17,9 +17,9 @@ "Line": 40 }, { - "Source": "android.content.Intent: android.os.Bundle getExtras()", + "Source": "android.os.Bundle: java.lang.Object get(java.lang.String)", "Method": "lu.uni.snt.serval.IntentSource1: void onActivityResult(int,int,android.content.Intent)", - "Line": 37 + "Line": 40 } ] } From e0b0814f3368c5379603f4138305600c46212ed7 Mon Sep 17 00:00:00 2001 From: L-Jubarah-upb Date: Fri, 18 Sep 2026 11:26:31 +0200 Subject: [PATCH 78/78] Update expected-info-flows.json with new source --- .../IntentSource1/expected-info-flows.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json b/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json index 2f393f69..4982cfce 100644 --- a/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json +++ b/projects/InterComponentCommunication/IntentSource1/expected-info-flows.json @@ -17,9 +17,9 @@ "Line": 40 }, { - "Source": "android.os.Bundle: java.lang.Object get(java.lang.String)", - "Method": "lu.uni.snt.serval.IntentSource1: void onActivityResult(int,int,android.content.Intent)", - "Line": 40 + "Source": "android.app.Activity: android.content.Intent getIntent()", + "Method": "lu.uni.snt.serval.IntentSource1: void onCreate(android.os.Bundle)", + "Line": 27 } ] }