Skip to content

Commit de7bf03

Browse files
authored
Python 3.13 Support (#2546)
* Python Support updated to 3.12-3.13 * Bump mitmproxy * Bump httptools * Remove pinned xmlsec, lxml * Android Permission Update * Updates Signatures
1 parent 7f3bc08 commit de7bf03

File tree

16 files changed

+137256
-3199
lines changed

16 files changed

+137256
-3199
lines changed

.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
.sonarcloud.properties
77
.pyup.yml
88
.python-version
9+
.venv
910
tox.ini
1011
mobsf/db.sqlite3
1112
Dockerfile

.github/workflows/mobsf-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
os: [ubuntu-22.04, macos-latest, windows-latest]
18-
python-version: ['3.12']
18+
python-version: ['3.12', '3.13']
1919

2020
runs-on: ${{ matrix.os }}
2121
steps:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ __pycache__/
99

1010
# Distribution / packaging
1111
.Python
12+
.venv/
1213
venv/
1314
env/
1415
build/

.sonarcloud.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
sonar.sources=.
22
sonar.exclusions=mobsf/static/**/*,mobsf/templates/**/*
33
sonar.sourceEncoding=UTF-8
4-
sonar.python.version=3.10, 3.11, 3.12
4+
sonar.python.version=3.12, 3.13

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Base image
2-
FROM python:3.12-slim-bookworm
2+
FROM python:3.13-slim-bookworm
33

44
LABEL \
55
name="MobSF" \

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Mobile Security Framework (MobSF) is a security research platform for mobile app
66

77
Made with ![Love](https://cloud.githubusercontent.com/assets/4301109/16754758/82e3a63c-4813-11e6-9430-6015d98aeaab.png) in India
88

9-
[![Docker Pulls](https://img.shields.io/docker/pulls/opensecurity/mobile-security-framework-mobsf?style=social)](https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/) [![python](https://img.shields.io/badge/python-3.10+-blue.svg?logo=python&labelColor=yellow)](https://www.python.org/downloads/)
9+
[![Docker Pulls](https://img.shields.io/docker/pulls/opensecurity/mobile-security-framework-mobsf?style=social)](https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/) [![python](https://img.shields.io/badge/python-3.12+-blue.svg?logo=python&labelColor=yellow)](https://www.python.org/downloads/)
1010
[![PyPI version](https://badge.fury.io/py/mobsf.svg)](https://badge.fury.io/py/mobsf)
1111
[![platform](https://img.shields.io/badge/platform-osx%2Flinux%2Fwindows-green.svg)](https://github.com/MobSF/Mobile-Security-Framework-MobSF/)
1212
[![License](https://img.shields.io/:license-GPL--3.0--only-blue.svg)](https://www.gnu.org/licenses/gpl-3.0.html)

mobsf/MobSF/init.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
logger = logging.getLogger(__name__)
2020

21-
VERSION = '4.4.1'
21+
VERSION = '4.4.2'
2222
BANNER = r"""
2323
__ __ _ ____ _____ _ _ _ _
2424
| \/ | ___ | |__/ ___|| ___|_ _| || | | || |

mobsf/MobSF/utils.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ def print_version():
132132
dst_str = f' ({dist}) '
133133
env_str = f'OS Environment: {os}{dst_str}{pltfm}'
134134
logger.info(env_str)
135+
python_version = sys.version.split(' ')[0]
136+
logger.info('Python Version: %s', python_version)
135137
cores, threads, ram = get_system_resources()
136138
logger.info('CPU Cores: %s, Threads: %s, RAM: %.2f GB', cores, threads, ram)
137139
find_java_binary()

mobsf/StaticAnalyzer/views/android/kb/dvm_permissions.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,22 @@
396396
'READ_DROPBOX_DATA': ['normal', 'Allows an application to access data stored in Dropbox, intended exclusively for use by system-level or first-party applications, and not available for third-party applications.', 'Allows an application to access the data in Dropbox. Not for use by third-party applications.'],
397397
'SET_BIOMETRIC_DIALOG_ADVANCED': ['normal', 'Allows an application to customize BiometricDialog features, including logo and content view. Restricted to system use only.', 'Allows an application to set the advanced features on BiometricDialog (SystemUI), including logo, logo description, and content view with more options button. Not for use by third-party applications.'],
398398
'ACCESS_ORIENTATION': ['normal', 'Allows an application to access the device\'s orientation.', 'Allows an application to access the device\'s orientation.'],
399+
'ACCESS_LAUNCHER_DATA': ['normal', 'Manage home screen metadata and shortcuts', 'This permission protects a content provider within home/launcher applications, enabling management of home screen metadata such as shortcut placement, launch intents, and labels.'],
400+
'APPLY_PICTURE_PROFILE': ['normal', 'Apply media quality profiles to video layers', 'Allows an app to apply a ERROR(/MediaQualityManager.PictureProfile) to a layer via ERROR(/MediaCodec.PARAMETER_KEY_PICTURE_PROFILE) and, additionally, system apps via ERROR(/SurfaceControl.Transaction#setPictureProfileHandle) .'],
401+
'BIND_TV_AD_SERVICE': ['signature', 'Bind to TV advertising services', 'Must be required by a android.media.tv.ad.TvAdService to ensure that only the system can bind to it.'],
402+
'CAPTURE_KEYBOARD': ['normal', 'Capture keyboard input before system processing', 'Allows an application to be able to capture keys before Android system get chance to process system keys and shortcuts.'],
403+
'EXECUTE_APP_FUNCTIONS': ['normal', 'Execute functions on behalf of users', 'Allows an application to perform actions on behalf of users inside of applications.'],
404+
'MANAGE_DEVICE_POLICY_APP_FUNCTIONS': ['internal', 'Manage app function policies', 'Allows an application to manage policy related to AppFunctions.'],
405+
'MANAGE_DEVICE_POLICY_THREAD_NETWORK': ['internal', 'Manage Thread network policies', 'Allows an application to set policy related to Thread network.'],
406+
'POST_PROMOTED_NOTIFICATIONS': ['normal', 'Post promoted notifications', 'Required for apps to post promoted notifications.'],
407+
'QUERY_ADVANCED_PROTECTION_MODE': ['normal', 'Query advanced protection mode status', "Allows an application to query the device's advanced protection mode status."],
408+
'RANGING': ['dangerous', 'Range to nearby devices', 'Required to be able to range to devices using generic ranging module.'],
409+
'READ_COLOR_ZONES': ['normal', 'Read screen color zones for ambient lighting', 'Allows an application to read the aggregated color zones on the screen for use cases like TV ambient backlight usages.'],
410+
'READ_SYSTEM_PREFERENCES': ['normal', 'Read system settings and preferences', 'Allows an application to access the Settings Preference services to read settings exposed by the system Settings app and system apps that contribute settings surfaced by the Settings app. This allows the calling application to read settings values through the host application, agnostic of underlying storage.'],
411+
'RECEIVE_SENSITIVE_NOTIFICATIONS': ['signature', 'Receive sensitive notification content', 'Allows apps with a NotificationListenerService to receive notifications with sensitive information'],
412+
'REQUEST_OBSERVE_DEVICE_UUID_PRESENCE': ['normal', 'Observe nearby device presence by UUID', "Allows an application to subscribe to notifications about the nearby devices' presence status change base on the UUIDs. Not for use by third-party applications."],
413+
'TV_IMPLICIT_ENTER_PIP': ['normal', 'Enter Picture-in-Picture mode implicitly', 'Allows an app to enter Picture-in-Picture mode when the user is not explicitly requesting it. This includes using ERROR(/PictureInPictureParams.Builder#setAutoEnterEnabled) as well as lifecycle methods such as ERROR(/Activity#onUserLeaveHint) and ERROR(/Activity#onPause) to enter PiP when the user leaves the app. This permission should only be used for certain PiP usage types .'],
414+
'WRITE_SYSTEM_PREFERENCES': ['normal', 'Write system settings and preferences', 'Allows an application to access the Settings Preference services to write settings values exposed by the system Settings app and system apps that contribute settings surfaced in the Settings app. This allows the calling application to write settings values through the host application, agnostic of underlying storage.'],
399415
},
400416

401417
'SPECIAL_PERMISSIONS': {

mobsf/signatures/exodus_trackers

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)