MCPcopy
hub / github.com/CellularPrivacy/Android-IMSI-Catcher-Detector

github.com/CellularPrivacy/Android-IMSI-Catcher-Detector @main sqlite

repository ↗ · DeepWiki ↗
828 symbols 2,280 edges 105 files 168 documented · 20%
README

Android IMSI-Catcher Detector

Gitter

This Project will have a revival soon. We are working on a light version of AIMSICD.

more information


AIMSICD is an Android app to detect IMSI-Catchers. These devices are false mobile towers (base stations) acting between the target mobile phone(s) and the real towers of service providers. As such they are considered a Man-In-The-Middle (MITM) attack. This surveillance technology is also known as "StingRay", "Cellular Interception" and alike. Find out more in our Wiki on GitHub.


Banner


Teaser



Index


IMSI-Catchers

What it does

AIMSICD attempts to detect IMSI-Catchers through detection methods such as these:

Make sure to see our app goals and development status as well as technical overview.


Why use it

The FBI or local police regularly deploys IMSI-Catchers hidden in vehicles at protests to obtain a record of everyone who attended with a cell phone (leave your phones at home by all means if you really have to attend). IMSI-Catchers also allow adversaries to intercept your conversations, text messages, and data. Police can use them to determine your location or to find out who is in a given geographic area at what time. Identity thieves can use freely available tools and even build their own rogue GSM BTS to monitor and manipulate communications from a parked car in your residential neighborhood - notably for stealing passwords or credit card data from people nearby who make purchases on their phones. The reason IMSI-Catchers are so commonly used is that it is very easy to get away with using them since they leave no traces. Our app aims to make it possible to detect the IMSI-Catchers so that using them becomes a risky proposition. It also aims to make users safer by alerting on possible interception and tracking. Fight for your privacy!


Warnings

Warning

Please read our Disclaimer! This app does not:

  • Provide secure phone calls
  • Provide secure data transmission
  • Provide app permission control
  • Provide secure application sand-boxing
  • Provide ROOT and remove bloatware
  • Provide secure SMS
  • Provide firewalls
  • Provide full device encryption
  • Prevent already installed rogue apps from full access and spying

Solutions for the above may be found in our Recommendations.


Bug Tracker

Please follow our Bug Submission Guide.


Support

Although our app is fully Open Source, developing it is a lot of work and done by privacy enthusiasts during their free time. If you're a developer yourself, we welcome and credit your pull requests! To keep developers in a great mood and support development, please consider making a donation. It will be split into pieces and directly sent to developers who solved the backed Issue.


License

GPLv3+ Please contribute to this repository instead of rebranding our app. Thank you!

Extension points exported contracts — how you extend this code

AsyncTaskCompleteListener (Interface)
The interface to be implemented by the caller of RequestTask so it can perform contextual actions once the async task is [1 …
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/RequestTask.java
AsyncResponse (Interface)
(no doc) [3 implementers]
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/AsyncResponse.java
AsyncTaskCompleteListener (Interface)
The interface to be implemented by the caller of ImportTask so it can perform contextual actions once the async task is [1 …
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/ImportTask.java
OemRilExecutor (Interface)
(no doc) [2 implementers]
AIMSICD/src/main/java/com/secupwn/aimsicd/rilexecutor/OemRilExecutor.java
NavDrawerItem (Interface)
(no doc) [2 implementers]
AIMSICD/src/main/java/com/secupwn/aimsicd/ui/drawer/NavDrawerItem.java

Core symbols most depended-on inside this repo

storeDefaultLocation
called by 213
AIMSICD/src/main/java/com/secupwn/aimsicd/data/DefaultDataTransaction.java
getString
called by 168
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/TinyDB.java
getActivity
called by 53
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/BaseAsyncTask.java
add
called by 43
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/OCIDCSV.java
getLatitude
called by 39
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/TruncatedLocation.java
getLongitude
called by 39
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/TruncatedLocation.java
equals
called by 37
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/Cell.java
toString
called by 30
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/Cell.java

Shape

Method 678
Class 139
Interface 6
Enum 5

Languages

Java100%

Modules by API surface

AIMSICD/src/main/java/com/secupwn/aimsicd/ui/activities/MainActivity.java33 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/service/CellTracker.java32 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/ui/fragments/CellInfoFragment.java31 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/service/AimsicdService.java30 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/ui/activities/MapViewerOsmDroid.java24 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/ui/fragments/MapFragment.java23 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/RealmHelper.java21 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/ui/fragments/AtCommandFragment.java19 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/smsdetection/SmsDetector.java19 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/rilexecutor/SamsungMulticlientRilExecutor.java19 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/ui/fragments/DeviceFragment.java17 symbols
AIMSICD/src/main/java/com/secupwn/aimsicd/utils/OCIDCSV.java16 symbols

For agents

$ claude mcp add Android-IMSI-Catcher-Detector \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact