Skip to content

sqlab-sustech/APER-ARPfix-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARPfix Benchmark

The ARPfix benchmark of Android runtime permission (ARP) misuse bugs.

GitHub license DOI

Overview

There are two types of ARP bugs:

  • Type-1 (Missing Permission Check): Adangerous API is called without a permission check on the target Android version.
  • Type-2 (Incompatible Permission Usage): A dangerous API is called on incompatible platforms, or the evolution of permission specification is not fully handled.

The benchmark consists of 60 apps, including 35 Type-1 bugs and 25 Type-2 bugs. Each app has a buggy version and a fixed version. Thus ther are 120 APKs in total.

File Formats

This repo contains each app's reduced source code, and two corresponding built APKs. For example, in Type-1:

For this app's source code, it is the buggy version by default. In the ContributionsListFragment.java file:

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        /*if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (ContextCompat.checkSelfPermission(this.getActivity(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                //See http://stackoverflow.com/questions/33169455/onrequestpermissionsresult-not-being-called-in-dialog-fragment
                requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 2);
                return false;
            } else {*/
                Intent nearbyIntent = new Intent(getActivity(), NearbyActivity.class);
                startActivity(nearbyIntent);
//            }
//        }
        return true;
    }

By uncommenting the code, we can obtain the fixed version of this app.

Issues Details

Type-1 issues

Package ID Issue URL
AndroidCommons_1530 https://github.com/commons-app/apps-android-commons/commit/1530ddc969453451217f0240c5822acc35818d6a
AndroidCommons_Da38 https://github.com/commons-app/apps-android-commons/commit/da3895342b51459918fbbde6d0ec21c1bdce6c29
CameraviewDemo natario1/CameraView#129
CollectDemo getodk/collect#644
ConsoleLauncher fandreuz/TUI-ConsoleLauncher#1
CreatePDF Swati4star/Images-to-PDF#1
Dashboard https://github.com/databits3883/Android-Dashboard/commit/97780f0c465f6538fffb5fb2f625ce34bf59802b
Evercam https://github.com/evercam/evercam-android/issues/124
GetBackGPS https://github.com/ruleant/getback_gps/commit/f935cf8d72e29cf8f0ae336c12757aebbc16f510
GoodWeather_2b5e https://github.com/qqq3/good-weather/commit/2b5e9597c14da895bc448da793d3686c063c43a
GoodWeather https://github.com/qqq3/good-weather/commit/81eab554bae5299e33a4ce9babb690359647115c
GoodWeather_e1be https://github.com/qqq3/good-weather/commit/e1bebcad61b8625bfcb0b9284b30d75e1dc3a079
ImageCipher https://github.com/SKocur/Image-Cipher/issues/4
K9Mail https://github.com/k9mail/k-9/issues/2110
KaspatContacts https://github.com/arshadkazmi42/android-contacts-scifiui/issues/2
LandScapeViewoCaptureDemo https://github.com/JeroenMols/LandscapeVideoCamera/pull/70
LocationSample https://github.com/android/location-samples/commit/f01b254b87dc61a8dedca6e8a46b881d8ad7dac4
MapBoxEvent https://github.com/mapbox/mapbox-events-android/commit/ab6e7ca3d47e8ff05339d91e1a567053961e46c4#
mapbox https://github.com/mapbox/mapbox-android-demo/commit/514f84e5b8d175ec7f35b693a41a2c814905464f
Mapswithme https://github.com/mapsme/omim/commit/74f987743234c6fdef9970a15ea38d049dc2bc63
Muzei https://github.com/romannurik/muzei/commit/687917ad04e8c5241dd892cb4b697f7e9c85e1af
MyPlaceDemo https://github.com/warren-bank/Android-MyPlaces/commit/b422393e9ae2139e2600106f86c660ed0118e755
Navit https://github.com/navit-gps/navit/pull/440
NearbyPlaces Esri/nearby-android#76
PanicTrigger 0x5ECF4ULT/PanicTrigger#25
Protesttracker https://github.com/LucasG234/ProtestTracker/issues/25
QKSMS https://github.com/moezbhatti/qksms/commit/6385a5707020e6fd64e8d47c8e73dbd7cfd48073
SkyMap https://github.com/sky-map-team/stardroid/pull/90/files
SMS_Parsing https://github.com/JoaquimLey/sms-parsing/pull/2
TransDroid https://github.com/erickok/transdroid/commit/78dd4bdc57cfe3894e6537ffa3fb4ec90a357945
Ventivader https://github.com/ventivader/ventivader-android/commit/ece98305917858309ed490cbbd14430e4dc95706
VREM https://github.com/VREMSoftwareDevelopment/WiFiAnalyzer/commit/ea6ac4503783067b3ce94275e4219d250707fd0e
WeeChatAndroid https://github.com/ubergeek42/weechat-android/commit/1c4197232bc8b4a1f67c01438c502ab9aaf8b13c
Wiglenet https://github.com/wiglenet/wigle-wifi-wardriving/commit/ad2d5a74beaee3447a97718774f1cfa87732bfac
WordPress wordpress-mobile/WordPress-Android#3328

Type-2 issues

Package ID Issue URL
AndroidClient kontalk/androidclient#1201
Android-Homeassistant home-assistant/android#630
Android-testdpc https://github.com/googlesamples/android-testdpc/commit/bd422f67c42999954cd72fd798525f681a005aa3
Ayanda bantucracy/ayanda#17
Campus-android TUM-Dev/Campus-Android#569
CheesecakeAppUpdater itachi1706/CheesecakeAppUpdater#22
Connectivity-sample android/connectivity-samples#13
Device-info react-native-device-info/react-native-device-info#595
Glide https://github.com/bumptech/glide/commit/1c51b24b5af61a73267e36e486abe7e5157002e7#diff-975e5536d3b668c60ceda8b160789feb
Lawnchair LawnchairLauncher/lawnchair#982
Mapbox-Events-Android mapbox/mapbox-events-android#482
MobileCamera wxson7282/MobileCamera#1
Photomanager https://github.com/CaiJingLong/flutter\_photo\_manager/issues/169
RNDeviceInfo react-native-device-info/react-native-device-info#268
RNWIFIP2P kirillzyusko/react-native-wifi-p2p#13 (comment)
Robolectric https://github.com/robolectric/robolectric/pull/5355/files
Secure-preferences scottyab/secure-preferences#72
SingleSignOn nextcloud/Android-SingleSignOn#62
Skunkworks-crow getodk/skunkworks-crow#284
SmsPlugin pbakondy/cordova-plugin-sim#21
Syncthing-android https://github.com/Catfriend1/syncthing-android/issues/514
Transdroid erickok/transdroid#463
VpnHotSpot LawnchairLauncher/lawnchair#982
WiFiAnalyzer VREMSoftwareDevelopment/WiFiAnalyzer#250
WifiFlutterDemo flutternetwork/WiFiFlutter#29

The results of Aper comparing with other tools can be found on our website.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages