AHS-Mobile-Labs/Permission_Scanner
プライバシーを重視したAndroidアプリで、インストールされたアプリをスキャンして権限、リスクレベル、および潜在的な悪用を明らかにします。
- Stars
- 4
- Forks
- 0
- 最終プッシュ(UTC)
- 2026/06/11
- プロジェクト状態
- 公開中
技術トピック
使用している依存関係
依存関係一覧 15 件
- flutter
{"sdk":"flutter"} - flutter_riverpod
^2.4.1 - hive
^2.2.3 - hive_flutter
^1.1.0 - fl_chart
^0.65.0 - flutter_local_notifications
^17.1.0 - permission_handler
^11.0.0 - intl
^0.19.0 - url_launcher
^6.2.0 - path_provider
^2.1.5 - flutter_test開発用
{"sdk":"flutter"} - flutter_lints開発用
^6.0.0 - hive_generator開発用
^2.0.1 - build_runner開発用
^2.4.6 - flutter_launcher_icons開発用
^0.13.1
アプリカテゴリー
元の README
以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。
README を開く / 閉じる
Permission Scanner icon
Permission Scanner
An Android privacy companion that scans installed apps and APK files, explains their permissions, and highlights risky behavior before it becomes invisible.
Flutter Dart Platform Version License
Overview
Permission Scanner gives Android users a readable view of what each installed app can access. It combines package-level permission scanning, local risk analysis, app comparison, APK pre-install checks, privacy timelines, and exportable reports in one Flutter app.
The app is designed to be transparent: scanning happens through native Android APIs, analysis runs locally, and the codebase keeps permission explanations and risk rules easy to inspect.
Features
- Installed app scanner - reads installed packages through a native
MethodChanneland returns permissions, install source, system app status, SDK data, trackers, services, receivers, and app metadata. - Privacy risk scoring - calculates a 0-100 privacy score and classifies apps as safe, medium, dangerous, or critical based on dangerous permissions and high-risk behavior signals.
- Security dashboard - summarizes overall device risk, permission exposure, risky apps, and recent permission changes.
- App detail view - shows permission groups, risk signals, install details, trackers, and developer-level permission data.
- Permission justification - maps common app capabilities to required permissions and helps spot access that does not match an app's purpose.
- APK scanner - scans an APK file before installation and reports permissions, trackers, packers, overlays, accessibility use, background behavior, and spyware indicators.
- App comparison - compares two installed apps across permission count, dangerous permissions, trackers, background services, auto-start behavior, internet data risk, and open-source status.
- Privacy tools - includes a permission library, timeline view, report export, privacy policy, and project transparency links.
- Smart caching - uses Hive and package fingerprints to avoid unnecessary full rescans when the installed app set has not changed.
- Local alerts - optionally sends notifications when high-risk permission patterns are detected.
Screenshots
Security Dashboard App List App Details Permission Info Privacy Timeline Privacy Tools APK Scanner App Compare About Privacy Policy Settings
Tech Stack
| Area | Technology |
|---|---|
| App framework | Flutter |
| Language | Dart |
| State management | flutter_riverpod |
| Local cache | hive, hive_flutter |
| Charts | fl_chart |
| Notifications | flutter_local_notifications |
| Permissions | permission_handler |
| Native integration | Android MethodChannel('permission_scanner') |
Project Structure
lib/
├── main.dart # App bootstrap, splash flow, bottom navigation
├── models/ # App, permission, loading, and justification models
├── screens/ # Dashboard, app list, details, compare, tools, APK scan, policy
├── services/ # Native scanner, cache, providers, risk analysis, notifications
├── utils/ # Theme, colors, and permission database
└── widgets/ # Reusable app cards, badges, filters, charts, dialogs
android/
└── app/src/main/ # Android manifest and native MethodChannel implementation
asset/
├── icon/ # App icons and QR asset
└── github-img/ # README screenshots
Getting Started
Prerequisites
- Flutter stable SDK with Dart
^3.11.1 - Android SDK
- Android device or emulator
- Java/Kotlin toolchain supported by your Flutter installation
Run Locally
git clone https://github.com/AHS-Mobile-Labs/Permission_Scanner.git
cd Permission_Scanner
flutter pub get
flutter run
Analyze and Test
flutter analyze
flutter test
Build APK
flutter build apk --release
Generate Launcher Icons
dart run flutter_launcher_icons
Android Permissions
| Permission | Purpose |
|---|---|
QUERY_ALL_PACKAGES |
Allows the app to inspect installed packages and their declared permissions. |
POST_NOTIFICATIONS |
Enables optional local alerts about risky app permission patterns on supported Android versions. |
WRITE_EXTERNAL_STORAGE |
Used only on Android 9 and below for exporting reports to shared storage. |
How Scanning Works
- Flutter requests app data through
PermissionScannerService. - Android native code returns installed app or APK metadata, including target SDK and minimum SDK, through
MethodChannel('permission_scanner'). - JSON parsing and enrichment run off the UI thread with
compute(). PermissionAnalyzerassigns risk levels, privacy scores, and risk signals.- Riverpod providers feed the dashboard, app list, compare screen, timeline, and privacy tools.
- Hive stores cached scan data and invalidates it when the installed app fingerprint changes.
Key Files
| File | Purpose |
|---|---|
lib/services/permission_scanner_service.dart |
Flutter-side native bridge for app scanning, APK scanning, exports, sharing, and fingerprints. |
lib/services/permission_analyzer.dart |
Risk scoring and permission analysis rules. |
lib/services/app_providers.dart |
Riverpod providers for installed apps, filters, loading state, and permission timeline data. |
lib/services/cache_service.dart |
Hive cache initialization and persistence. |
lib/utils/permission_database.dart |
Human-readable Android permission reference. |
lib/screens/dashboard_screen.dart |
Main security dashboard. |
lib/screens/privacy_tools_screen.dart |
APK scanner, timeline, permission library, reports, and transparency tools. |
android/app/src/main/kotlin/com/ahsmobilelabs/permissionScanner/PermissionScanner.kt |
Android package scanning, APK inspection, exports, and sharing. |
Privacy
Permission Scanner is built around local analysis. It reads app metadata from the device, calculates risk locally, and presents results in the app. Exported JSON/PDF reports and shared summaries are created only when the user chooses those actions.
For the full policy text, see privacypolicy.txt or the in-app Privacy Policy screen.
License
This project is licensed under the terms in LICENSE.
Author
© 2026 AHS Mobile Labs