Skip to content

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 https://github.com/fAndreuzzi/TUI-ConsoleLauncher/issues/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

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages